Giter Site home page Giter Site logo

manny405 / mcse Goto Github PK

View Code? Open in Web Editor NEW
11.0 2.0 1.0 5.37 MB

Molecular Crystal Simulation Library (mcse) is an open-source Python package for manipulating and analyzing molecular crystal structures

License: Apache License 2.0

Python 100.00%
polymorph polymorphism molecular crystals rmsd crystallography dft machine-learning molecular-crystals analysis

mcse's People

Contributors

manny405 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

chrinide

mcse's Issues

Typerror when running RMSD

Hi, great software, I have been trying to run the RMSD and get the visualiation , except when I try to run the calc_struct funciton, it gives the following error.


TypeError Traceback (most recent call last)
Cell In[69], line 12
9 struct_dict = read(file_path)
10 oc = OverlappingClusters(dpa=dpa, interactive=interactive)
---> 12 rmsd.calc_struct(struct_dict["3ddf4a302a"], struct_dict["8aeae1272d"])
13 oc.calc_struct(rmsd.overlapping_clusters)
14 oc.write("RMSD_Images")

File ~/programs/mcse/mcse/crystals/rmsd.py:121, in RMSD.calc_struct(self, struct1, struct2, pre)
119 if not self.H:
120 keep_idx = np.where(self.struct1.elements != "H")
--> 121 self.struct1 = self.struct1.get_sub(keep_idx, lattice=True)
122 self.struct1.get_molecule_idx(**{'mult': 1.2, 'skin': 0.0, 'update': True})
123 struct1 = self.struct1

File ~/programs/mcse/mcse/core/structure.py:442, in Structure.get_sub(self, idx, lattice, struct_id, bonds)
438 if bonds:
439 ### Pre-fetch bonds for mol_idx such that they don't need to be
440 ### re-computed upon instantiation of structure class
441 self.get_bonds(**self.bonds_kw)
--> 442 full_sub_bonds = [self.bonds[x] for x in idx]
443 new_sub_bonds = []
444 lookup = {}

File ~/programs/mcse/mcse/core/structure.py:442, in (.0)
438 if bonds:
439 ### Pre-fetch bonds for mol_idx such that they don't need to be
440 ### re-computed upon instantiation of structure class
441 self.get_bonds(**self.bonds_kw)
--> 442 full_sub_bonds = [self.bonds[x] for x in idx]
443 new_sub_bonds = []
444 lookup = {}

TypeError: only integer scalar arrays can be converted to a scalar index

My code is an exact replica of the code from the tutorial.

some questions about cocrystal structure prediction.(from Noa's group)

Dear Dr. Imanuel Bier,

I hope this message finds you well. My name is Jiayi, a first-year PhD student in Prof. Noa Marom’s group. Recently, I have been working on the co-crystal structure prediction project. Noa wants us to try first to generate dimers, then input them in gnrs to generate xtals. I am greatly assisted by the codes you have already created! Many thanks for that!

I have run into a few issues in this field. Could I ask you a few questions regarding the dimer generation and selection process? I would be so grateful if you could assist me.

  1. How do you go about choosing the most promising dimers?
  2. Have you been able to use dimers to create experimental crystal structures?
  3. How can we decide which of all the generated dimers is the most promising?
  4. Do you believe it makes sense to choose the most promising dimers based on their total energy? Taking into account that the interaction between dimers in xtals might not be ignored.

Exp_extracted_dimer can generate experimental xtal structure using gnrs.

I have tested target XI, and there are 15000 dimers generated, dimers with a similar structure with exp_extracted_dimer (rmsd <0.5) are among the first 300 ranks in terms of energy (this could just be a coincidence, and I should test more cocrystal structure). However, using GNRS, even a similar structure is still unable to produce the experimental xtal structure.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.