mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-04 21:54:27 +08:00
* short test file for MolVS standardize_sm * short test file for MolVS fragment * short test file for MolVS metals * short test file for MolVS normalize * short test file for MolVS reionize * short test file for MolVS tautomer * short test file for MolVS validate * long test file for MolVS standardize smiles * long test file for MolVS fragment * long test file for MolVS metals * long test file for MolVS normalize * long test file for MolVS reionize * long test file for MolVS tautomer * long test file for MolVS validate * Unit tests for MolVS steps * dropping support for Python2 * molvs/__init__.py * molvs/charge.py * molvs/errors.py * molvs/fragment.py * molvs/metal.py * molvs/normalize.py * molvs/resonance.py * molvs/standardize.py * molvs/tautomer.py * molvs/utils.py * molvs/validate.py * molvs/validations.py * molvs/cli.py * adapted and renamed molvs/cli.py to work within $RDBASE/Contrib/MolVS/ * setup MolStandardize directories, source with empty cleanup function, header, CMake files * corrections to empty source, header and test1.cpp * adding empty functions and initializers to MolStandardize * empty Metal source, header and added test * added most of Metal.cpp functionality and made some more tests * empty functions and initializers to Normalize * empty functions and initializers to Validate * added most code for RDKitDefault mode, along with some tests * restructure for abstract base class ValidateMethod * written in isNoneValidation for MolVSValidation * took out isNoneValidation, put in noAtomValidation, neutralValidation, isotopeValidation for MolVSValidation * added in AllowedAtoms * added in disallowedAtoms * corrections to Validate * added code for FragmentRemover * extended fragment functionality to include choose largest fragment, added in tests for fragment catalog, fragment remover. Also added fragmentValidation method in MolStandardize * added another test to testValidate test_fragment * corrections to fragment * corrections to Metal * added code for Normalize * added normalize member function to MolStandardize and added tests * added multi fragment functionality to Normalize.cpp and additional tests * TransformCatalog * tests for Normalize.cpp * first bit of cleanup * added most of Charge functionality and some tests * some corrections to Charge.cpp and some more tests to testCharge.cpp * corrections to Charge.cpp * start of Tautomer Enumerate with some tests * added BondType option to Tautomer Enumeration * correcting for some memory leakage * a few alterations to formatting * sorting out some memory leaks * sorting out some memory leaks * some corrections for PCS test set * redo tests with updated RDKit * fixing memory leak * more fixes after 100kPCS set testing * using tab as delimiter in CSVs rather than comma * tutorial for MolStandardize * still working on Tautomer enumeration * deleted some empty tests * starting writing tautomer canonicalize * rename test_data -> data (the source still needs to be updated) * automatic source reformatting * adjust to directory rename * move the fragment catalog test into the MolStandardize directory do not create separate library for FragmentCatalog * stop building separate libraries for the catalogs * move the CleanupParameters into the MolStandardize namespace * first pass at python wrapper * move the py module to the correct dir; add some python tests; add standardizeSmiles to python wrapper * disabling the compareMolVSTest since that requires command line arguments to run * get this building on windows * put the python lib in the right place * further work on python wrapper for rdMolStandardize * added get and set functions to Metal and wrapped them * added get and set functions to Metal and wrapped them * changed construstor of Reionizer class and input args for reionize, wrapped this default * overload Reionizer constructor so user can input own AcidBaseFile from python * added Uncharger class to Charge and added test for Uncharger * wrapped Fragment, fixed some memory leakage, changed some args and return types, added some tests * wrapped Normalized and changed how Normalizer class is initiated * changing MolVSValidation structure so user can choose which MolVS submethod they want * starting to write Wrap for Validate * now it compiles with Wrap/Validate.cpp * a couple refactorings around validate * move the validate code into the rdMolStandardize module * make sure a valid pointer is returned for standardizeSmiles * rdMolStandardize.MolVSValidation done and tests added * half way through AllowedAtomsValidation * finished AllowedAtomsValidation and DisallowedAtomsValidation * moved charge, fragment, metal, normalize into the rdMolStandardize module * changed tutorial to use wrapped code * added copyrights * added copyrights * move the data files * modify source files to adjust to the move * added validateSmiles functionality * removed std::cout * redid some of the 100k PCS tests * working on the tutorial * adding some documentation * deleting some comment lines * some changes after pull review * More changes after pull review * start of trying to make java wrap * remove some warnings, add some questions * additional warning removals, a bit more reporting * some test cleanups * enable testing of the java code
38 lines
2.1 KiB
Plaintext
38 lines
2.1 KiB
Plaintext
// Name SMARTS Bonds Charges
|
|
1,3 (thio)keto/enol f [CX4!H0]-[C]=[O,S,Se,Te;X1]
|
|
1,3 (thio)keto/enol r [O,S,Se,Te;X2!H0]-[C]=[C]
|
|
1,5 (thio)keto/enol f [CX4,NX3;!H0]-[C]=[C][CH0]=[O,S,Se,Te;X1]
|
|
1,5 (thio)keto/enol r [O,S,Se,Te;X2!H0]-[CH0]=[C]-[C]=[C,N]
|
|
aliphatic imine f [CX4!H0]-[C]=[NX2]
|
|
aliphatic imine r [NX3!H0]-[C]=[CX3]
|
|
special imine f [N!H0]-[C]=[CX3R0]
|
|
special imine r [CX4!H0]-[c]=[n]
|
|
1,3 aromatic heteroatom H shift f [#7!H0]-[#6R1]=[O,#7X2]
|
|
1,3 aromatic heteroatom H shift [O,#7;!H0]-[#6R1]=[#7X2]
|
|
1,3 heteroatom H shift [#7,S,O,Se,Te;!H0]-[#7X2,#6,#15]=[#7,#16,#8,Se,Te]
|
|
1,5 aromatic heteroatom H shift [#7,#16,#8;!H0]-[#6,#7]=[#6]-[#6,#7]=[#7,#16,#8;H0]
|
|
1,5 aromatic heteroatom H shift [#7,#16,#8,Se,Te;!H0]-[#6,nX2]=[#6,nX2]-[#6,#7X2]=[#7X2,S,O,Se,Te]
|
|
1,5 aromatic heteroatom H shift r [#7,S,O,Se,Te;!H0]-[#6,#7X2]=[#6,nX2]-[#6,nX2]=[#7,#16,#8,Se,Te]
|
|
1,7 aromatic heteroatom H shift f [#7,#8,#16,Se,Te;!H0]-[#6,#7X2]=[#6,#7X2]-[#6,#7X2]=[#6]-[#6,#7X2]=[#7X2,S,O,Se,Te,CX3]
|
|
1,7 aromatic heteroatom H shift r [#7,S,O,Se,Te,CX4;!H0]-[#6,#7X2]=[#6]-[#6,#7X2]=[#6,#7X2]-[#6,#7X2]=[NX2,S,O,Se,Te]
|
|
1,9 aromatic heteroatom H shift f [#7,O;!H0]-[#6,#7X2]=[#6,#7X2]-[#6,#7X2]=[#6,#7X2]-[#6,#7X2]=[#6,#7X2]-[#6,#7X2]=[#7,O]
|
|
1,11 aromatic heteroatom H shift f [#7,O;!H0]-[#6,nX2]=[#6,nX2]-[#6,nX2]=[#6,nX2]-[#6,nX2]=[#6,nX2]-[#6,nX2]=[#6,nX2]-[#6,nX2]=[#7X2,O]
|
|
furanone f [O,S,N;!H0]-[#6r5]=[#6X3r5;$([#6]([#6r5])=[#6r5])]
|
|
furanone r [#6r5!H0;$([#6]([#6r5])[#6r5])]-[#6r5]=[O,S,N]
|
|
keten/ynol f [C!H0]=[C]=[O,S,Se,Te;X1] #-
|
|
keten/ynol r [O,S,Se,Te;!H0X2]-[C]#[C] ==
|
|
ionic nitro/aci-nitro f [C!H0]-[N+;$([N][O-])]=[O]
|
|
ionic nitro/aci-nitro r [O!H0]-[N+;$([N][O-])]=[C]
|
|
oxim/nitroso f [O!H0]-[N]=[C]
|
|
oxim/nitroso r [C!H0]-[N]=[O]
|
|
oxim/nitroso via phenol f [O!H0]-[N]=[C]-[C]=[C]-[C]=[OH0]
|
|
oxim/nitroso via phenol r [O!H0]-[c]=[c]-[c]=[c]-[N]=[OH0]
|
|
cyano/iso-cyanic acid f [O!H0]-[C]#[N] ==
|
|
cyano/iso-cyanic acid r [N!H0]=[C]=[O] #-
|
|
//formamidinesulfinic acid f [O,N;!H0]-[C]=[S,Se,Te]=[O] =-- // TODO: WAT!?
|
|
//formamidinesulfinic acid r [O!H0]-[S,Se,Te]-[C]=[O,N] =--
|
|
isocyanide f [C-0!H0]#[N+0] # -+
|
|
isocyanide r [N+!H0]#[C-] # -+
|
|
phosphonic acid f [OH]-[PH0] =
|
|
phosphonic acid r [PH]=[O] -
|