-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use NetworkX to identify bonds, angles, dihedral, impropers #140
Conversation
Yes, this makes sense (need for any canonical ordering of sites to weed out duplicates found by the subgraph isomorphism). I still do not see crystal clear how the edge induced subgraphs will be found with the line_graph trick. |
I think most of the actual code is here - I tucked away all the functions in another module called Angles: I think this is fairly robust - unit tests are on ethane, methane, a square, and a square with a diagonal. Do we need more unit tests for this? |
Ensure correct subtop/site behavior when converting from mBuild
Merging, the PRs this depended on have been merged.
…to sample_ethane_xml
Correct energy unit conversion for epsilon
K/Kb to K*kb
Add XML unit parsing function for units and physical constants
Add more tests for GROMACS topology writer
Get site indices by indexed set
Read the docs build for gmso (Closes #319)
Update setup.py to fix packages, requirements, urls
…ps_bonds_angles
Previously, the command provided for the pip installation of the dependencies from requirements.txt used --file, which is an option in conda but not in pip, which uses -r instead, so --file was replaced with -r.
Add improper and impropertype
Fix some issues in installation docs
Write out bonds, angles, and dihedrals to LAMMPS data file
I done messed this up |
While messing around with using networkx to identify angles/dihedrals/impropers, some comparison functions are needed. This PR includes definitions of those comparison functions - I don't think these comparison funcs need to be super sophisticated, we just need to have some sort of way to compare and sort sites so the
nx.graph
can do somethingI've attached an example jupyternotebook that does this. I think the idea of using some graph-matching techniques could be a robust way to identify angles/dihedrals/impropers, with some clear patterns that we can extend to other types of connections. As @volgy said, we may want to implement these graphs and matching algorithms in our own way #138
example.gz