openbabel / openbabel

Open Babel is a chemical toolbox designed to speak the many languages of chemical data.
http://openbabel.org/
GNU General Public License v2.0
1k stars 405 forks source link

errors in --gen3d #2676

Open cassguff opened 3 months ago

cassguff commented 3 months ago

Environment Information

Open Babel version: Open Babel 3.1.1 Operating system and version: Windows 11

Expected Behavior

I'm just trying to convert a SMILES string to an .xyz file using the --gen3d to get an approximate low energy conformation. I expect to get an xyz file with 3d coordinates.

Actual Behavior

It generates the xyz file, but I do not get 3D coordinates ( in that the z column is all 0s) showing that no optimization is happening. I get the following output: ============================== *** Open Babel Error in OpenBabel::OBBuilder::LoadFragments Cannot open ring-fragments-index.txt ============================== *** Open Babel Error in OpenBabel::OBForceFieldMMFF94::ParseParamFile Cannot open parameter file ============================== *** Open Babel Error in OpenBabel::OBForceFieldUFF::ParseParamFile Cannot open UFF.prm ============================== *** Open Babel Error in OpenBabel::OBForceFieldUFF::SetTypes Cannot open UFF.prm 1 molecule converted ## Steps to Reproduce I am using the command 'obabel -:"CCCC" -O 1.xyz --gen3D -xb -h' in the command line.

I saw a different thread about someone who added BABEL_DATADIR as an environment variable and fixing a similar problem, but that didn't work for me.

welcome[bot] commented 3 months ago

Thanks for opening your first issue here! Be sure to follow the issue template!

nbehrnd commented 3 months ago

@cassguff Based on the documentation flag -b is an option (-xb) of reading. Your input is a SMILES string and eventually you want to write .xyz coordinates only (i.e., the file has no information about bonds). An command like

obabel -:"c1ccncc1" -h --gen3d -O test.xyz

is sufficient for (this example) to generate a conformer of pyridine (including protons for pH 7.4) written into file test.xyz.

ghutchis commented 3 months ago

The bigger problem is that it's reporting it cannot find any of the force field data files.

You didn't mention how you installed it, but that's the key problem. The install can't find any files needed for coordinate generation.

nbehrnd commented 3 months ago

Yeah, https://open-babel.readthedocs.io/en/latest/Installation/install.html

cassguff commented 3 months ago

I installed it by simply just downloading the latest version of the 64 bit binary installer.

Thanks for also pointing out that -b is not needed for this command.

On Wed, Feb 28, 2024 at 10:43 AM nbehrnd @.***> wrote:

Yeah, https://open-babel.readthedocs.io/en/latest/Installation/install.html

— Reply to this email directly, view it on GitHub https://github.com/openbabel/openbabel/issues/2676#issuecomment-1969515029, or unsubscribe https://github.com/notifications/unsubscribe-auth/BB33FF4XCERUXXFXOKXG3MDYV5UEDAVCNFSM6AAAAABD6KRLYGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRZGUYTKMBSHE . You are receiving this because you were mentioned.Message ID: @.***>

cassguff commented 2 months ago

Is there a different way I should download and install?

On Wed, Feb 28, 2024 at 10:53 AM Cassandra Guffey @.***> wrote:

I installed it by simply just downloading the latest version of the 64 bit binary installer.

Thanks for also pointing out that -b is not needed for this command.

On Wed, Feb 28, 2024 at 10:43 AM nbehrnd @.***> wrote:

Yeah, https://open-babel.readthedocs.io/en/latest/Installation/install.html

— Reply to this email directly, view it on GitHub https://github.com/openbabel/openbabel/issues/2676#issuecomment-1969515029, or unsubscribe https://github.com/notifications/unsubscribe-auth/BB33FF4XCERUXXFXOKXG3MDYV5UEDAVCNFSM6AAAAABD6KRLYGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRZGUYTKMBSHE . You are receiving this because you were mentioned.Message ID: @.***>

nbehrnd commented 2 months ago

Re executables: with Windows 64bit in hand, you might i) deinstall the current installation of openbabel (for 64bit) to ii) then try the installer for 32bit. No guarantee this then works better.

Else, openbabel is packaged for a couple of Linuxes. At least Debian, Ubuntu, and Fedora offer live images, i.e. the OS works from the RAM/without permanent installation on the hard disk, while accessing their openbabel package from the corresponding repositories -- just in case you don't want/are not permitted to modify the computer you use.

Packaging status

If the structure isn't IP, you may consider cheminfo.org with its online instance of openbabel. It equally allows the conversion of e.g., a SMILES string into a 3D .sdf.

cassguff commented 2 months ago

It didn't work to do the 32 bit installer. I can just use Linux or the online instance. Thanks.

On Fri, Mar 1, 2024 at 9:12 AM nbehrnd @.***> wrote:

Re executables: with Windows 64bit in hand, you might i) deinstall the current installation of openbabel (for 64bit) to ii) then try the installer for 32bit. No guarantee this then works better.

Else, openbabel is packaged for a couple of Linuxes. At least Debian, Ubuntu, and Fedora offer live images, i.e. the OS works from the RAM/without permanent installation on the hard disk, while accessing their openbabel package from the corresponding repositories -- just in case you don't want/are not permitted to modify the computer you use.

[image: Packaging status] https://repology.org/project/openbabel/versions

If the structure isn't IP, you may consider cheminfo.org https://www.cheminfo.org/Chemistry/Cheminformatics/FormatConverter/index.html with its online instance of openbabel. It equally allows the conversion of e.g., a SMILES string into a 3D .sdf.

— Reply to this email directly, view it on GitHub https://github.com/openbabel/openbabel/issues/2676#issuecomment-1973466045, or unsubscribe https://github.com/notifications/unsubscribe-auth/BB33FFYNVOYB3B4M6DBDOSTYWCSFDAVCNFSM6AAAAABD6KRLYGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZTGQ3DMMBUGU . You are receiving this because you were mentioned.Message ID: @.***>