Re: [Open Babel] Weighted rotor search in parallel
I'm afraid not. :-/ You could try one of the other approaches like the genetic algorithm, and see whether it progresses faster. On Wed, 12 Dec 2018 at 21:45, Michele Galasso wrote: > Hello everyone! > > > I am using the weighted rotor search implemented in Open Babel in order to > search for low-energy conformers of a huge molecule. > > > Since the total number of rotamers is of the order 10^16, I cannot explore > a decent portion of the search space by running the code serially (I use a > python script, which calls the function WeightedRotorSearch). > > > Is it possible to parallelize the optimization of trial conformers on many > cores? How to do that properly? > > > > Thank you in advance for your help, > > Michele Galasso > ___ > OpenBabel-discuss mailing list > OpenBabel-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/openbabel-discuss > ___ OpenBabel-discuss mailing list OpenBabel-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
[Open Babel] Weighted rotor search in parallel
Hello everyone! I am using the weighted rotor search implemented in Open Babel in order to search for low-energy conformers of a huge molecule. Since the total number of rotamers is of the order 10^16, I cannot explore a decent portion of the search space by running the code serially (I use a python script, which calls the function WeightedRotorSearch). Is it possible to parallelize the optimization of trial conformers on many cores? How to do that properly? Thank you in advance for your help, Michele Galasso ___ OpenBabel-discuss mailing list OpenBabel-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
Re: [Open Babel] Weighted-rotor search
Ok problems solved from last post, I was missing the OBBuilder part (see below for ethane from smiles). I think this should now be the same as what gen3d does but with the python openbabel commands. import openbabel mol = openbabel.OBMol() cv = openbabel.OBConversion() cv.SetInAndOutFormats('smi', 'mol2') cv.ReadString(mol, 'cc') bd = openbabel.OBBuilder() bd.Build(mol) mol.SetDimension(3) mol.AddHydrogens() ff = openbabel.OBForceField.FindForceField(MMFF94) ff.Setup(mol) ff.SteepestDescent(250, 1.0e-4) ff.WeightedRotorSearch(200, 25) ff.ConjugateGradients(250, 1.0e-6) ff.UpdateCoordinates(mol) I ran two variations of the above (changing the opt criteria and number of steps etc) and then used the coordinates to do gaussian optimization runs (b3lyp/6-311G(d)). For one molecule I got quite different values because it had gone into a more contorted shape. - If time is not an issue, any suggestions on an optimal routine for the above code? - Would a systematic rotor search be more reliable (SystematicRotorSearch)? -- View this message in context: http://forums.openbabel.org/Weighted-rotor-search-tp4655264p4655287.html Sent from the General discussion mailing list archive at Nabble.com. -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ OpenBabel-discuss mailing list OpenBabel-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
Re: [Open Babel] Weighted-rotor search
mol = openbabel.OBMol() cv = openbabel.OBConversion() cv.SetInAndOutFormats('smi', outfile_type) cv.ReadString(mol, smiles_string) mol.AddHydrogens() ff = openbabel.OBForceField.FindForceField(MMFF94) # so far this has done nothing ff.SteepestDescent(1500, 1.0e-4) ff.WeightedRotorSearch(250, 25) ff.ConjugateGradients(2500, 1.0e-6) # now we've updated the coordinates internal to the ff object ff.GetCoordinates(mol) Hope that helps, -Geoff --- Prof. Geoffrey Hutchison Department of Chemistry University of Pittsburgh tel: (412) 648-0492 email: geo...@pitt.edu web: http://hutchison.chem.pitt.edu/ -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ OpenBabel-discuss mailing list OpenBabel-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
Re: [Open Babel] Weighted-rotor search
That's great, many thanks for the help. One other thing, I mentioned pybel because I haven't got the OBMol conversion from input smiles string to output file with 3D coordinates. Would you mind giving a quick example of this (or directing me to online documentation, I couldn't find much here)? What I have been trying: mol = openbabel.OBMol() conversion = openbabel.OBConversion() conversion.SetInAndOutFormats('smi', 'com') conversion.ReadString(mol, 'cc') mol.AddHydrogens() #Next step is what I'm not sure of, how do I get the coordinates so that I can optimize and write to file?? cv.GetCoordinates() cv.WriteFile(mol, 'test.com') # But this just gives the coordinates as 0 With pybel I found the make3d() and localopt() functions very handy for this but can't get a similar setup going with openbabel. Apologies if this is a bit of a new thread. Cheers, Scott -- View this message in context: http://forums.openbabel.org/Weighted-rotor-search-tp4655264p4655272.html Sent from the General discussion mailing list archive at Nabble.com. -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ OpenBabel-discuss mailing list OpenBabel-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
Re: [Open Babel] Weighted-rotor search
Hello, You should use: ff.GetCoordinates(mol) Where ff is your OBForceField class and mol is OBMol. Pozdrawiam, | Best regards, Maciek Wójcikowski mac...@wojcikowski.pl 2012/7/13 scott_m js...@cam.ac.uk That's great, many thanks for the help. One other thing, I mentioned pybel because I haven't got the OBMol conversion from input smiles string to output file with 3D coordinates. Would you mind giving a quick example of this (or directing me to online documentation, I couldn't find much here)? What I have been trying: mol = openbabel.OBMol() conversion = openbabel.OBConversion() conversion.SetInAndOutFormats('smi', 'com') conversion.ReadString(mol, 'cc') mol.AddHydrogens() #Next step is what I'm not sure of, how do I get the coordinates so that I can optimize and write to file?? cv.GetCoordinates() cv.WriteFile(mol, 'test.com') # But this just gives the coordinates as 0 With pybel I found the make3d() and localopt() functions very handy for this but can't get a similar setup going with openbabel. Apologies if this is a bit of a new thread. Cheers, Scott -- View this message in context: http://forums.openbabel.org/Weighted-rotor-search-tp4655264p4655272.html Sent from the General discussion mailing list archive at Nabble.com. -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ OpenBabel-discuss mailing list OpenBabel-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-discuss -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ OpenBabel-discuss mailing list OpenBabel-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
Re: [Open Babel] Weighted-rotor search
Thanks Chris, do you have a link for that? -- View this message in context: http://forums.openbabel.org/Weighted-rotor-search-tp4655264p4655277.html Sent from the General discussion mailing list archive at Nabble.com. -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ OpenBabel-discuss mailing list OpenBabel-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
[Open Babel] Weighted-rotor search
Is it possible to do a weighted rotor search in pybel? I have been using openbabel and the WeightedRotorSearch function. I couldn't find any simple example online and wanted to find out if the approach below is ok and if anyone would advise changes. Am I right in saying that the mol is updated to the best conformer and this is what will be written to the output file? import openbabel filename = 'test.mol2' mol = openbabel.OBMol() conversion = openbabel.OBConversion() conversion.SetInAndOutFormats('mol2', 'mol2') conversion.ReadFile(mol, filename) ff = openbabel.OBForceField.FindForceField(MMFF94) ff.SetLogLevel(openbabel.OBFF_LOGLVL_LOW) ff.SetLogToStdErr() ff.Setup(mol) ff.WeightedRotorSearch(5, 500) ff.GetConformers(mol) conversion.WriteFile(mol, 'TEST1.mol2') One thing I notice with a calculation, was that the lowest energy did not match any of the conformer energies (see below). Is this an error? CONFORMER ENERGY 1 192.047 2 212.909 3 234.580 4 216.623 5 211.296 LOWEST ENERGY: 191.771 Thanks in advance, Scott -- View this message in context: http://forums.openbabel.org/Weighted-rotor-search-tp4655264.html Sent from the General discussion mailing list archive at Nabble.com. -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ OpenBabel-discuss mailing list OpenBabel-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-discuss