Overview
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.
Check-in Questions
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.