leelasd / ligpargen

A repository for tutorials and FAQ's about LigParGen
http://traken.chem.yale.edu/ligpargen/
20 stars 17 forks source link

command-line only error: AssertionError: PROPOSED CHARGE IS NOT POSSIBLE: SOLUTE MAY BE AN OPEN SHELL #79

Open therealchrisneale opened 3 years ago

therealchrisneale commented 3 years ago

Issue Information

Software name & Version : $ LigParGen -h usage: LigParGen [-h] [-r RESNAME] [-s SMILES] [-m MOL] [-p PDB] [-o {0,1,2,3}] [-c {0,-1,1,-2,2}] [-l]

Ligand Parameter Generator Based on 
Jorgensen group's OPLS-AA/CM1A(-LBCC) FF
Created on Mon Feb 15 15:40:05 2016
@author: Leela S. Dodda leela.dodda@yale.edu
@author: William L. Jorgensen Lab 

Expected Behavior

Able to build (or not) the same chemicals with the webserver and the command-line version of LigParGen

Actual Behavior

Hello,

I find that a neutral molecule (here the lipid POPC) build with both the online web server at http://zarbi.chem.yale.edu/ligpargen/ and also with the command-line tool. However, some negatively charged molecules (here the lipid POPA) only build with the online web server and throw an error with the command-line tool.

For POPC:

$ smiles="CCCCCCCCCCCCCCCC(=O)OCC(COP(=O)OCCN+(C)C)OC(=O)CCCCCCCC=CCCCCCCCC" $ charge=0 $ LigParGen -s $smiles -r UNK -c $charge -o 0 -l

LBCC converter is activated 1 molecule converted 262 audit log messages MOLECULE HAS A CHARGE of 0 Changing OS TO OE Changing OS TO OE Changing OS TO OE DONE WITH OPENMM DONE WITH Q DONE WITH XPLOR DONE WITH CHARMM/NAMD DONE WITH GROMACS DONE WITH LAMMPS DONE WITH DESMOND

For POPA:

$ smiles="CCCCCCCCCCCCCCCC(=O)OCC(COP([O-])=O)OC(=O)CCCCCCCC=CCCCCCCCC" $ charge=-1 $ LigParGen -s $smiles -r UNK -c $charge -o 0 -l

1.14*CM1A-LBCC is only available for neutral molecules Assigning unscaled CM1A charges 1 molecule converted 238 audit log messages MOLECULE HAS A CHARGE of -1 Traceback (most recent call last): File "/usr/projects/mrmdesign/MCMD/CONDA_ENVS/my-ligpargen-env/bin/LigParGen", line 11, in sys.exit(main()) File "/usr/projects/mrmdesign/MCMD/CONDA_ENVS/my-ligpargen-env/lib/python3.6/site-packages/LigParGen/Converter.py", line 90, in main convert(**vars(args)) File "/usr/projects/mrmdesign/MCMD/CONDA_ENVS/my-ligpargen-env/lib/python3.6/site-packages/LigParGen/Converter.py", line 157, in convert charge), "PROPOSED CHARGE IS NOT POSSIBLE: SOLUTE MAY BE AN OPEN SHELL" AssertionError: PROPOSED CHARGE IS NOT POSSIBLE: SOLUTE MAY BE AN OPEN SHELL

PS: I get the same behavior if I build a PDB first with RdKit and use that as input to LigParGen instead of direct smiles string input.

Also please note that I tried both with the smiles string from a google search that gave me a smiles from abcam.com and also a cannonical version from this tool https://cactus.nci.nih.gov/translate/ and I got the same error.

Finally, I do realize that I don’t need to use LigParGen to get parameters for lipids. This is intended as an easily verifiable test case for something with a verifiably correct smiles string. My actual problems are with different phosphate containing molecules.

Thank you, Chris.