mcs07 / MolVS

Molecule Validation and Standardization
https://molvs.readthedocs.io/
MIT License
155 stars 52 forks source link

RDKit Integration #37

Open jvansan opened 4 years ago

jvansan commented 4 years ago

Hello,

I am wondering if the documentation of this project should reflect the fact that much of this API has been integrated into newer version of the RDKit?

UnixJunkie commented 4 years ago

I think that the part that does tautomer choosing is not part of rdkit.

msteijaert commented 4 years ago

@UnixJunkie, which part do you mean exactly?

If I compare https://github.com/rdkit/rdkit/tree/master/rdkit/Chem/MolStandardize and https://github.com/mcs07/MolVS/tree/master/molvs, it seems like all modules (except for the commandline interface in cli.py) have been copied into RDKit. Does this also mean that the RDKit repository is the primary location for further development. @mcs07 or @greglandrum , can you comment on this?

I agree with @jvansan that it would be good to mention this in the documentation of this project.

UnixJunkie commented 4 years ago

@susanhleung should know if this has been completely integrated into rdkit

UnixJunkie commented 4 years ago

@msteijaert the CLI is in rdkit/Contrib/MolVS/molvs_cli.py

greglandrum commented 4 years ago

I believe the RDKit now has a complete C++ implementation of the functionality provided by MolVS, including picking a canonical tautomer.

An aside: the python code in https://github.com/rdkit/rdkit/tree/master/rdkit/Chem/MolStandardize is legacy and should be removed.

msteijaert commented 4 years ago

Thanks for the clarification! So, if I understand correctly, the recommended python interface is now documented here: http://www.rdkit.org/docs/source/rdkit.Chem.MolStandardize.rdMolStandardize.html? Indeed I see most of the MolVS functionality there. However, I do not see the Standardizer.isotope_parent reflected there. As an alternative, I use the the following to remove all isotope from my rdchem.Mol object: _ = [atom.SetIsotope(0) for atom in mol.GetAtoms()]