This week I was setting up d-seams in my Mac, but that did not seem like a great idea as some requirements for d-seams were not supported on the M1 Mac (I opened an issue and PR regarding this). I had to figure out a way to run it on a remote linux machine.
I was also working with how the code design would look like.
import pyseams# Configuration Variables cutoffRadius = 3.5 oxygenAtomType = 2 hydrogenAtomType = 1 targetFrame = 1 finalFrame = 1 frameGap = 1 maxDepth = 6 isSlice = False sliceLowerLimits = [0, 0, 0] sliceUpperLimits = [0, 0, 0] outDir = "runOne/" trajectory = "input/traj/exampleTraj.lammpstrj" lowestAtomID = 0 print("\nWelcome to the Ice Type Determination Module\n") resCloud = None # Initialize resCloud variable for frame in range(targetFrame, finalFrame + 1, frameGap): resCloud = pyseams.readFrameOnlyOne(trajectory, frame, resCloud, oxygenAtomType, isSlice, sliceLowerLimits, sliceUpperLimits) nList = pyseams.neighborList(cutoffRadius, resCloud, oxygenAtomType) hbnList = pyseams.getHbondNetwork(trajectory, resCloud, nList, frame, hydrogenAtomType) hbnList = pyseams.bondNetworkByIndex(resCloud, hbnList) rings = pyseams.getPrimitiveRings(hbnList, maxDepth) pyseams.prismAnalysis(outDir, rings, hbnList, resCloud, maxDepth, lowestAtomID, targetFrame, frame, False) print("Ice Type Determination completed.")
This is just a rough draft. I will be working on it to make it more perfectly.
What did you do this week?
What is coming up next?
I will make a repository with python bindings which will be linked with d-seams as a shared library.
d-seams and python binding uses cmake. I am not that comfortable with cmake so I was planning to use meson for the python bindings. Meson supports pybind11 as mentioned here
I will also work on the python design a bit more.
Did you get stuck anywhere?
I was stuck as my M1-macos machine didn't support certain requirements of d-seams which set me back a little bit. I had to work on a linux machine. My mentor helped me out with the process.