# HG changeset patch
# User bgruening
# Date 1602323020 0
# Node ID 2f59c6239f256e8133fc597f0a08aff6d46c7641
"planemo upload for repository https://github.com/chembl/chembl_webresource_client commit 78f2261af4e00c830ea311337d0aed9b297aad8e-dirty"
diff -r 000000000000 -r 2f59c6239f25 chembl.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/chembl.py Sat Oct 10 09:43:40 2020 +0000
@@ -0,0 +1,118 @@
+import argparse
+
+from chembl_webresource_client.new_client import new_client
+from chembl_webresource_client.settings import Settings
+
+Settings.Instance().CACHING = False
+
+
+def open_file(filename):
+ with open(filename) as f:
+ return f.readline().split()[0]
+
+
+def get_smiles(res):
+ """
+ Get a list of SMILES from function results
+ """
+ smiles = set()
+ for smi in res:
+ try:
+ smiles.add('{}\t{}'.format(smi['molecule_structures']['canonical_smiles'], smi['molecule_chembl_id']))
+ except TypeError:
+ continue
+ return smiles
+
+
+def sim_search(smiles, tanimoto):
+ """
+ Return compounds which are within a Tanimoto range of the SMILES input
+ """
+ similarity = new_client.similarity
+ return similarity.filter(smiles=smiles, similarity=tanimoto).only(['molecule_structures', 'molecule_chembl_id'])
+
+
+def substr_search(smiles):
+ """
+ Return compounds which contain the SMILES substructure input
+ """
+ substructure = new_client.substructure
+ return substructure.filter(smiles=smiles).only(['molecule_structures', 'molecule_chembl_id'])
+
+
+def filter_drugs(mols):
+ """
+ Return only compounds which are approved drugs
+ """
+ return mols.filter(max_phase=4)
+
+
+def filter_biotherapeutic(mols):
+ """
+ Return only biotherapeutic molecules
+ """
+ return mols.filter(biotherapeutic__isnull=False)
+
+
+def filter_nat_prod(mols):
+ """
+ Return only natural products
+ """
+ return mols.filter(natural_product=1)
+
+
+def filter_ro5(mols):
+ """
+ Return only compounds with no RO5 violations
+ """
+ return mols.filter(molecule_properties__num_ro5_violations=0)
+
+
+def main():
+ parser = argparse.ArgumentParser(description='Search ChEMBL database for compounds')
+ parser.add_argument('-i', '--input', help='SMILES input')
+ parser.add_argument('-f', '--file', help='SMILES input as file')
+ parser.add_argument('-o', '--output', help="SMILES output")
+ parser.add_argument('-t', '--tanimoto', type=int, help='Tanimoto similarity score')
+ parser.add_argument('-s', '--substructure', action='store_true', help='Substructure search using the SMILES input.')
+ parser.add_argument('-d', '--drugs', action='store_true', help='Filter approved drugs')
+ parser.add_argument('-b', '--biotherapeutic', action='store_true', help='Filter biotherapeutic molecules')
+ parser.add_argument('-n', '--nat-prod', action='store_true', help='Filter natural products')
+ parser.add_argument('-r', '--ro5', action='store_true', help='Filter compounds that pass Lipinski RO5')
+
+ args = parser.parse_args()
+
+ if args.file: # get SMILES from file rather than -i option
+ args.input = open_file(args.file)
+
+ if len(args.input) < 5:
+ raise IOError('SMILES must be at least 5 characters long.')
+
+ if args.substructure: # specify search type: substructure or similarity
+ mols = substr_search(args.input)
+ else:
+ mols = sim_search(args.input, args.tanimoto)
+
+ # filter options:
+ if args.drugs:
+ mols = filter_drugs(mols)
+
+ if args.biotherapeutic:
+ mols = filter_biotherapeutic(mols)
+
+ if args.nat_prod:
+ mols = filter_nat_prod(mols)
+
+ if args.ro5:
+ mols = filter_ro5(mols)
+
+ # get SMILES from search output
+ mols = get_smiles(mols)
+
+ # write to file
+ with open(args.output, 'w') as f:
+ f.write('\n'.join(mols))
+
+
+if __name__ == "__main__":
+ main()
diff -r 000000000000 -r 2f59c6239f25 chembl_structure_pipeline.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/chembl_structure_pipeline.xml Sat Oct 10 09:43:40 2020 +0000
@@ -0,0 +1,85 @@
+
+ for curation and standardizing of molecular structures
+
+ 1.0.0
+ 0
+
+
+ chembl_structure_pipeline
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `. A list of all errors encountered is recorded under ``.
+
+Either one or more of these protocols can be applied in a single Galaxy job.
+
+-----
+
+.. class:: infomark
+
+**Input**
+
+One or more molecules in MOL/SDF format.
+
+-----
+
+.. class:: infomark
+
+**Output**
+
+A MOL/SD-file containing the processed molecules.
+
+]]>
+
+ 10.1186/s13321-020-00456-1
+
+
diff -r 000000000000 -r 2f59c6239f25 structure_pipeline.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/structure_pipeline.py Sat Oct 10 09:43:40 2020 +0000
@@ -0,0 +1,59 @@
+import argparse
+
+from chembl_structure_pipeline import checker, standardizer
+
+
+def load_mols(input_file):
+ """
+ Returns a list of strings, each a molblock
+ """
+ with open(input_file) as f:
+ mols = [''.join(('\n', mol.strip())) for mol in f.read().strip().split('$$$$\n')]
+ return mols
+
+
+def write_mols(mols, output_file):
+ """
+ Writes a list of molblocks to an SDF
+ """
+ with open(output_file, 'w') as f:
+ f.write('\n$$$$'.join(mols))
+
+
+def standardize_molblock(mol):
+ return standardizer.standardize_molblock(mol)
+
+
+def get_parent_molblock(mol):
+ return standardizer.get_parent_molblock(mol)[0]
+
+
+def check_molblock(mol):
+ issues = checker.check_molblock(mol)
+ max_penalty_score = str(max([issue[0] for issue in issues])) if issues else '0'
+ message = '; '.join([issue[1] for issue in issues])
+ mol_with_issues = '\n'.join((mol, '> ', max_penalty_score, '> ', message))
+ return mol_with_issues
+
+
+def main():
+ parser = argparse.ArgumentParser(description='Search ChEMBL database for compounds')
+ parser.add_argument('-i', '--input', help='SDF/MOL input')
+ parser.add_argument('-o', '--output', help="Standardized output")
+ parser.add_argument('--standardize', action='store_true', help="Standardize molblock")
+ parser.add_argument('--get_parent', action='store_true', help="Get parent molblock.")
+ parser.add_argument('--check', action='store_true', help="Check molblock")
+ args = parser.parse_args()
+
+ mols = load_mols(args.input)
+ if args.standardize:
+ mols = [standardize_molblock(mol) for mol in mols]
+ if args.get_parent:
+ mols = [get_parent_molblock(mol) for mol in mols]
+ if args.check:
+ mols = [check_molblock(mol) for mol in mols]
+ write_mols(mols, args.output)
+
+
+if __name__ == "__main__":
+ main()
diff -r 000000000000 -r 2f59c6239f25 test-data/10mol.sdf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/10mol.sdf Sat Oct 10 09:43:40 2020 +0000
@@ -0,0 +1,759 @@
+
+ SciTegic01171120562D
+
+ 26 30 0 0 0 0 999 V2000
+ -8.6396 0.9568 0.0000 O 0 0
+ -7.6023 1.5602 0.0000 C 0 0
+ -7.6071 3.0602 0.0000 C 0 0
+ -6.3104 3.8143 0.0000 C 0 0
+ -5.0090 3.0685 0.0000 C 0 0
+ -5.0040 1.5682 0.0000 C 0 0
+ -6.3008 0.8143 0.0000 C 0 0
+ -3.7006 0.8244 0.0000 C 0 0
+ -3.7006 -0.6045 0.0000 N 0 0
+ -2.4915 -1.3190 0.0000 C 0 0
+ -2.5059 -2.8197 0.0000 N 0 0
+ -1.2156 -3.5847 0.0000 C 0 0
+ -1.2329 -5.0846 0.0000 C 0 0
+ -2.5404 -5.8196 0.0000 O 0 0
+ -3.8308 -5.0547 0.0000 C 0 0
+ -3.8135 -3.5548 0.0000 C 0 0
+ -1.2274 -0.6045 0.0000 C 0 0
+ 0.0000 -1.3190 0.0000 O 0 0
+ 1.2274 -0.6045 0.0000 C 0 0
+ 2.4732 -1.3190 0.0000 N 0 0
+ 3.7372 -0.6045 0.0000 C 0 0
+ 3.7372 0.8244 0.0000 C 0 0
+ 2.4732 1.5389 0.0000 C 0 0
+ 1.2274 0.8244 0.0000 C 0 0
+ -1.2274 0.8244 0.0000 C 0 0
+ -2.4915 1.5389 0.0000 N 0 0
+ 1 2 1 0
+ 2 3 1 0
+ 3 4 2 0
+ 4 5 1 0
+ 5 6 2 0
+ 6 7 1 0
+ 2 7 2 0
+ 6 8 1 0
+ 8 9 1 0
+ 9 10 2 0
+ 10 11 1 0
+ 11 12 1 0
+ 12 13 1 0
+ 13 14 1 0
+ 14 15 1 0
+ 15 16 1 0
+ 11 16 1 0
+ 10 17 1 0
+ 17 18 1 0
+ 18 19 1 0
+ 19 20 2 0
+ 20 21 1 0
+ 21 22 2 0
+ 22 23 1 0
+ 23 24 2 0
+ 19 24 1 0
+ 24 25 1 0
+ 17 25 2 0
+ 25 26 1 0
+ 8 26 2 0
+M END
+>
+4358263
+
+>
+Oc1cccc(c1)c2nc(N3CCOCC3)c4oc5ncccc5c4n2
+
+$$$$
+
+ SciTegic01171120562D
+
+ 43 51 0 0 1 0 999 V2000
+ -4.7204 3.3431 0.0000 C 0 0
+ -4.1471 2.2890 0.0000 O 0 0
+ -2.6500 2.2500 0.0000 C 0 0 2 0 0 0
+ -1.8100 3.5000 0.0000 C 0 0 1 0 0 0
+ -0.2400 3.5200 0.0000 C 0 0
+ 0.5000 2.1800 0.0000 C 0 0 1 0 0 0
+ -1.0600 2.1800 0.0000 O 0 0
+ -1.8300 0.9300 0.0000 C 0 0 1 0 0 0
+ -3.0300 0.9300 0.0000 C 0 0
+ -0.9800 -0.7800 0.0000 N 0 0
+ -2.1300 -1.4600 0.0000 C 0 0
+ -3.3200 -0.7600 0.0000 C 0 0
+ -4.5500 -1.4800 0.0000 C 0 0
+ -4.5800 -2.7700 0.0000 C 0 0
+ -3.3400 -3.4700 0.0000 C 0 0
+ -2.1300 -2.7900 0.0000 C 0 0
+ 0.2400 -2.7700 0.0000 C 0 0
+ 1.4300 -3.4700 0.0000 C 0 0
+ 1.7600 -4.9700 0.0000 C 0 0
+ 3.2600 -5.0800 0.0000 N 0 0
+ 3.8500 -3.6300 0.0000 C 0 0
+ 4.9971 -3.2777 0.0000 O 0 0
+ 2.6600 -2.7500 0.0000 C 0 0
+ 2.6800 -1.4600 0.0000 C 0 0
+ 3.7900 0.5600 0.0000 C 0 0
+ 4.9600 1.2800 0.0000 C 0 0
+ 4.9600 2.6300 0.0000 C 0 0
+ 3.8100 3.2900 0.0000 C 0 0
+ 2.6400 2.5900 0.0000 C 0 0
+ 2.6400 1.2400 0.0000 C 0 0
+ 1.4900 0.5400 0.0000 N 0 0
+ 1.4500 -0.7600 0.0000 C 0 0
+ 0.2400 -1.4400 0.0000 C 0 0
+ -2.5511 4.8030 0.0000 N 0 0
+ -1.9442 5.8382 0.0000 C 0 0
+ -4.0519 4.8135 0.0000 C 0 0
+ -4.6588 3.7783 0.0000 O 0 0
+ -4.7941 6.1180 0.0000 C 0 0
+ -6.2940 6.1306 0.0000 C 0 0
+ -7.0331 7.4359 0.0000 C 0 0
+ -6.2722 8.7286 0.0000 C 0 0
+ -4.7723 8.7160 0.0000 C 0 0
+ -4.0332 7.4108 0.0000 C 0 0
+ 1 2 1 0
+ 3 2 1 6
+ 3 4 1 0
+ 4 5 1 0
+ 6 5 1 6
+ 6 7 1 0
+ 7 8 1 0
+ 3 8 1 0
+ 8 9 1 1
+ 8 10 1 0
+ 10 11 1 0
+ 11 12 1 0
+ 12 13 2 0
+ 13 14 1 0
+ 14 15 2 0
+ 15 16 1 0
+ 11 16 2 0
+ 16 17 1 0
+ 17 18 1 0
+ 18 19 1 0
+ 19 20 1 0
+ 20 21 1 0
+ 21 22 2 0
+ 21 23 1 0
+ 18 23 2 0
+ 23 24 1 0
+ 24 25 1 0
+ 25 26 1 0
+ 26 27 2 0
+ 27 28 1 0
+ 28 29 2 0
+ 29 30 1 0
+ 25 30 2 0
+ 30 31 1 0
+ 6 31 1 0
+ 31 32 1 0
+ 24 32 2 0
+ 32 33 1 0
+ 10 33 1 0
+ 17 33 2 0
+ 4 34 1 6
+ 34 35 1 0
+ 34 36 1 0
+ 36 37 2 0
+ 36 38 1 0
+ 38 39 1 0
+ 39 40 2 0
+ 40 41 1 0
+ 41 42 2 0
+ 42 43 1 0
+ 38 43 2 0
+M END
+>
+8573
+
+>
+CO[C@@H]1[C@@H](C[C@H]2O[C@]1(C)n3c4ccccc4c5c6CNC(=O)c6c7c8ccccc8n2c7c35)N(C)C(=O)c9ccccc9
+
+$$$$
+
+ SciTegic01171120562D
+
+ 25 28 0 0 0 0 999 V2000
+ -6.2193 5.8633 0.0000 Cl 0 0
+ -5.1815 5.2608 0.0000 C 0 0
+ -3.8807 6.0076 0.0000 C 0 0
+ -2.5835 5.2544 0.0000 C 0 0
+ -2.5870 3.7544 0.0000 C 0 0
+ -1.2907 2.9981 0.0000 N 0 0
+ -1.2964 1.4973 0.0000 C 0 0
+ -2.6111 0.7486 0.0000 N 0 0
+ -2.6111 -0.7486 0.0000 N 0 0
+ -1.2964 -1.4973 0.0000 C 0 0
+ -1.2907 -2.9981 0.0000 C 0 0
+ -2.5870 -3.7544 0.0000 C 0 0
+ -2.5835 -5.2544 0.0000 C 0 0
+ -3.8807 -6.0076 0.0000 C 0 0
+ -5.1815 -5.2608 0.0000 N 0 0
+ -5.1852 -3.7608 0.0000 C 0 0
+ -3.8880 -3.0076 0.0000 C 0 0
+ 0.0000 -0.7486 0.0000 C 0 0
+ 1.2964 -1.4973 0.0000 C 0 0
+ 2.5929 -0.7486 0.0000 C 0 0
+ 2.5929 0.7486 0.0000 C 0 0
+ 1.2964 1.4973 0.0000 C 0 0
+ 0.0000 0.7486 0.0000 C 0 0
+ -3.8880 3.0076 0.0000 C 0 0
+ -5.1852 3.7608 0.0000 C 0 0
+ 1 2 1 0
+ 2 3 1 0
+ 3 4 2 0
+ 4 5 1 0
+ 5 6 1 0
+ 6 7 1 0
+ 7 8 1 0
+ 8 9 2 0
+ 9 10 1 0
+ 10 11 1 0
+ 11 12 1 0
+ 12 13 1 0
+ 13 14 2 0
+ 14 15 1 0
+ 15 16 2 0
+ 16 17 1 0
+ 12 17 2 0
+ 10 18 2 0
+ 18 19 1 0
+ 19 20 2 0
+ 20 21 1 0
+ 21 22 2 0
+ 22 23 1 0
+ 7 23 2 0
+ 18 23 1 0
+ 5 24 2 0
+ 24 25 1 0
+ 2 25 2 0
+M END
+>
+4027
+
+>
+Clc1ccc(Nc2nnc(Cc3ccncc3)c4ccccc24)cc1
+
+$$$$
+
+ SciTegic01171120562D
+
+ 26 28 0 0 1 0 999 V2000
+ -1.2878 3.1508 0.0000 C 0 0
+ -2.3292 3.7470 0.0000 C 0 0
+ -3.6267 2.9927 0.0000 C 0 0 2 0 0 0
+ -4.9300 3.7369 0.0000 C 0 0
+ -4.9364 4.9369 0.0000 O 0 0
+ -3.6187 1.4919 0.0000 N 0 0
+ -2.3155 0.7475 0.0000 C 0 0
+ -2.3155 -0.7475 0.0000 N 0 0
+ -1.0028 -1.5132 0.0000 C 0 0
+ -0.9971 -3.0138 0.0000 N 0 0
+ -2.2935 -3.7700 0.0000 C 0 0
+ -2.2878 -5.2708 0.0000 C 0 0
+ -3.5824 -6.0284 0.0000 C 0 0
+ -3.5736 -7.5284 0.0000 C 0 0
+ -2.2702 -8.2708 0.0000 C 0 0
+ -0.9756 -7.5132 0.0000 C 0 0
+ -0.9844 -6.0132 0.0000 C 0 0
+ 0.2917 -0.7475 0.0000 C 0 0
+ 1.7138 -1.2033 0.0000 N 0 0
+ 2.5889 0.0182 0.0000 C 0 0
+ 1.7138 1.2033 0.0000 N 0 0
+ 2.1812 2.6271 0.0000 C 0 0
+ 3.3556 2.8737 0.0000 C 0 0
+ 1.3808 3.5211 0.0000 C 0 0
+ 0.2917 0.7475 0.0000 C 0 0
+ -1.0028 1.5132 0.0000 N 0 0
+ 1 2 1 0
+ 2 3 1 0
+ 3 4 1 0
+ 4 5 1 0
+ 3 6 1 1
+ 6 7 1 0
+ 7 8 1 0
+ 8 9 2 0
+ 9 10 1 0
+ 10 11 1 0
+ 11 12 1 0
+ 12 13 1 0
+ 13 14 2 0
+ 14 15 1 0
+ 15 16 2 0
+ 16 17 1 0
+ 12 17 2 0
+ 9 18 1 0
+ 18 19 1 0
+ 19 20 2 0
+ 20 21 1 0
+ 21 22 1 0
+ 22 23 1 0
+ 22 24 1 0
+ 21 25 1 0
+ 18 25 2 0
+ 25 26 1 0
+ 7 26 2 0
+M END
+>
+600
+
+>
+CC[C@H](CO)Nc1nc(NCc2ccccc2)c3ncn(C(C)C)c3n1
+
+$$$$
+
+ SciTegic01171120562D
+
+ 25 28 0 0 0 0 999 V2000
+ 2.3383 -1.3500 0.0000 O 0 0
+ 1.2990 -0.7500 0.0000 C 0 0
+ 1.2990 0.7500 0.0000 C 0 0
+ 0.0000 1.5000 0.0000 C 0 0
+ -1.2990 0.7500 0.0000 C 0 0
+ -1.2990 -0.7500 0.0000 C 0 0
+ 0.0000 -1.5000 0.0000 C 0 0
+ -2.5987 1.5004 0.0000 C 0 0
+ -2.7390 2.9810 0.0000 N 0 0
+ -4.2067 3.2905 0.0000 C 0 0
+ -4.9546 1.9903 0.0000 C 0 0
+ -3.9492 0.8772 0.0000 N 0 0
+ -6.4469 1.8311 0.0000 C 0 0
+ -7.4153 2.9701 0.0000 C 0 0
+ -8.8906 2.6991 0.0000 C 0 0
+ -9.3937 1.2860 0.0000 N 0 0
+ -8.4213 0.1438 0.0000 C 0 0
+ -6.9460 0.4147 0.0000 C 0 0
+ -4.8193 4.6606 0.0000 C 0 0
+ -4.0353 5.9336 0.0000 C 0 0
+ -4.7489 7.2530 0.0000 C 0 0
+ -6.2483 7.2947 0.0000 C 0 0
+ -6.8192 8.3502 0.0000 F 0 0
+ -7.0341 6.0170 0.0000 C 0 0
+ -6.3205 4.6976 0.0000 C 0 0
+ 1 2 1 0
+ 2 3 1 0
+ 3 4 2 0
+ 4 5 1 0
+ 5 6 2 0
+ 6 7 1 0
+ 2 7 2 0
+ 5 8 1 0
+ 8 9 2 0
+ 9 10 1 0
+ 10 11 2 0
+ 11 12 1 0
+ 8 12 1 0
+ 11 13 1 0
+ 13 14 1 0
+ 14 15 2 0
+ 15 16 1 0
+ 16 17 2 0
+ 17 18 1 0
+ 13 18 2 0
+ 10 19 1 0
+ 19 20 1 0
+ 20 21 2 0
+ 21 22 1 0
+ 22 23 1 0
+ 22 24 2 0
+ 24 25 1 0
+ 19 25 2 0
+M END
+>
+8393
+
+>
+Oc1ccc(cc1)c2nc(c([nH]2)c3ccncc3)c4ccc(F)cc4
+
+$$$$
+
+ SciTegic01171120562D
+
+ 27 30 0 0 0 0 999 V2000
+ 3.6375 -0.9049 0.0000 C 0 0
+ 2.5973 -1.5031 0.0000 S 0 0
+ 2.5956 -2.7031 0.0000 O 0 0
+ 1.2990 -0.7500 0.0000 C 0 0
+ 1.2990 0.7500 0.0000 C 0 0
+ 0.0000 1.5000 0.0000 C 0 0
+ -1.2990 0.7500 0.0000 C 0 0
+ -1.2990 -0.7500 0.0000 C 0 0
+ 0.0000 -1.5000 0.0000 C 0 0
+ -2.5987 1.5004 0.0000 C 0 0
+ -2.7390 2.9810 0.0000 N 0 0
+ -4.2067 3.2905 0.0000 C 0 0
+ -4.9546 1.9903 0.0000 C 0 0
+ -3.9492 0.8772 0.0000 N 0 0
+ -6.4469 1.8311 0.0000 C 0 0
+ -7.4153 2.9701 0.0000 C 0 0
+ -8.8906 2.6991 0.0000 C 0 0
+ -9.3937 1.2860 0.0000 N 0 0
+ -8.4213 0.1438 0.0000 C 0 0
+ -6.9460 0.4147 0.0000 C 0 0
+ -4.8193 4.6606 0.0000 C 0 0
+ -4.0353 5.9336 0.0000 C 0 0
+ -4.7489 7.2530 0.0000 C 0 0
+ -6.2483 7.2947 0.0000 C 0 0
+ -6.8192 8.3502 0.0000 F 0 0
+ -7.0341 6.0170 0.0000 C 0 0
+ -6.3205 4.6976 0.0000 C 0 0
+ 1 2 1 0
+ 2 3 2 0
+ 2 4 1 0
+ 4 5 1 0
+ 5 6 2 0
+ 6 7 1 0
+ 7 8 2 0
+ 8 9 1 0
+ 4 9 2 0
+ 7 10 1 0
+ 10 11 2 0
+ 11 12 1 0
+ 12 13 2 0
+ 13 14 1 0
+ 10 14 1 0
+ 13 15 1 0
+ 15 16 1 0
+ 16 17 2 0
+ 17 18 1 0
+ 18 19 2 0
+ 19 20 1 0
+ 15 20 2 0
+ 12 21 1 0
+ 21 22 1 0
+ 22 23 2 0
+ 23 24 1 0
+ 24 25 1 0
+ 24 26 2 0
+ 26 27 1 0
+ 21 27 2 0
+M END
+>
+3250
+
+>
+CS(=O)c1ccc(cc1)c2nc(c([nH]2)c3ccncc3)c4ccc(F)cc4
+
+$$$$
+
+ SciTegic01171120562D
+
+ 29 33 0 0 0 0 999 V2000
+ -12.5295 0.6317 0.0000 N 0 0
+ -11.9608 1.6884 0.0000 C 0 0
+ -12.5918 2.7091 0.0000 O 0 0
+ -10.4606 1.7327 0.0000 C 0 0
+ -9.6699 0.4580 0.0000 C 0 0
+ -8.1707 0.5054 0.0000 C 0 0
+ -7.4652 1.8235 0.0000 C 0 0
+ -8.2527 3.1022 0.0000 C 0 0
+ -9.7520 3.0548 0.0000 C 0 0
+ -5.9730 1.9836 0.0000 C 0 0
+ -4.9669 0.8711 0.0000 N 0 0
+ -3.6168 1.4950 0.0000 C 0 0
+ -3.7580 2.9756 0.0000 C 0 0
+ -5.2259 3.2843 0.0000 N 0 0
+ -2.6389 3.9757 0.0000 C 0 0
+ -1.1867 3.6217 0.0000 C 0 0
+ -0.1511 4.7069 0.0000 C 0 0
+ -0.5731 6.1463 0.0000 C 0 0
+ -2.0307 6.5006 0.0000 C 0 0
+ -3.0662 5.4154 0.0000 N 0 0
+ -2.3155 0.7475 0.0000 C 0 0
+ -2.3155 -0.7475 0.0000 C 0 0
+ -1.0028 -1.5132 0.0000 C 0 0
+ 0.2917 -0.7475 0.0000 C 0 0
+ 1.7138 -1.2033 0.0000 O 0 0
+ 2.5889 0.0182 0.0000 C 0 0
+ 1.7138 1.2033 0.0000 O 0 0
+ 0.2917 0.7475 0.0000 C 0 0
+ -1.0028 1.5132 0.0000 C 0 0
+ 1 2 1 0
+ 2 3 2 0
+ 2 4 1 0
+ 4 5 1 0
+ 5 6 2 0
+ 6 7 1 0
+ 7 8 2 0
+ 8 9 1 0
+ 4 9 2 0
+ 7 10 1 0
+ 10 11 2 0
+ 11 12 1 0
+ 12 13 2 0
+ 13 14 1 0
+ 10 14 1 0
+ 13 15 1 0
+ 15 16 1 0
+ 16 17 2 0
+ 17 18 1 0
+ 18 19 2 0
+ 19 20 1 0
+ 15 20 2 0
+ 12 21 1 0
+ 21 22 1 0
+ 22 23 2 0
+ 23 24 1 0
+ 24 25 1 0
+ 25 26 1 0
+ 26 27 1 0
+ 27 28 1 0
+ 24 28 2 0
+ 28 29 1 0
+ 21 29 2 0
+M END
+>
+4347423
+
+>
+NC(=O)c1ccc(cc1)c2nc(c([nH]2)c3ccccn3)c4ccc5OCOc5c4
+
+$$$$
+
+ SciTegic01171120562D
+
+ 32 34 0 0 0 0 999 V2000
+ 3.6331 -3.6060 0.0000 C 0 0
+ 2.5951 -3.0039 0.0000 N 0 0
+ 2.5973 -1.5031 0.0000 C 0 0
+ 3.6375 -0.9049 0.0000 O 0 0
+ 1.2990 -0.7500 0.0000 C 0 0
+ 1.2990 0.7500 0.0000 C 0 0
+ 0.0000 1.5000 0.0000 C 0 0
+ -0.0031 3.0008 0.0000 O 0 0
+ -1.3039 3.7494 0.0000 C 0 0
+ -1.3092 5.2494 0.0000 C 0 0
+ -2.6108 5.9949 0.0000 C 0 0
+ -3.9073 5.2404 0.0000 C 0 0
+ -5.2112 5.9836 0.0000 N 0 0
+ -6.5072 5.2269 0.0000 C 0 0
+ -6.5010 4.0269 0.0000 O 0 0
+ -7.8111 5.9701 0.0000 N 0 0
+ -9.1072 5.2134 0.0000 C 0 0
+ -10.4114 5.9543 0.0000 C 0 0
+ -11.7053 5.1953 0.0000 C 0 0
+ -11.6949 3.6953 0.0000 C 0 0
+ -12.7299 3.0882 0.0000 Cl 0 0
+ -10.3907 2.9543 0.0000 C 0 0
+ -9.0969 3.7133 0.0000 C 0 0
+ -10.3803 1.4536 0.0000 C 0 0
+ -11.4150 0.8457 0.0000 F 0 0
+ -9.3367 0.8611 0.0000 F 0 0
+ -10.3714 0.2536 0.0000 F 0 0
+ -3.9021 3.7404 0.0000 C 0 0
+ -2.6005 2.9949 0.0000 C 0 0
+ -1.2990 0.7500 0.0000 C 0 0
+ -1.2990 -0.7500 0.0000 C 0 0
+ 0.0000 -1.5000 0.0000 N 0 0
+ 1 2 1 0
+ 2 3 1 0
+ 3 4 2 0
+ 3 5 1 0
+ 5 6 1 0
+ 6 7 2 0
+ 7 8 1 0
+ 8 9 1 0
+ 9 10 1 0
+ 10 11 2 0
+ 11 12 1 0
+ 12 13 1 0
+ 13 14 1 0
+ 14 15 2 0
+ 14 16 1 0
+ 16 17 1 0
+ 17 18 1 0
+ 18 19 2 0
+ 19 20 1 0
+ 20 21 1 0
+ 20 22 2 0
+ 22 23 1 0
+ 17 23 2 0
+ 22 24 1 0
+ 24 25 1 0
+ 24 26 1 0
+ 24 27 1 0
+ 12 28 2 0
+ 28 29 1 0
+ 9 29 2 0
+ 7 30 1 0
+ 30 31 2 0
+ 31 32 1 0
+ 5 32 2 0
+M END
+>
+4255941
+
+>
+CNC(=O)c1cc(Oc2ccc(NC(=O)Nc3ccc(Cl)c(c3)C(F)(F)F)cc2)ccn1
+
+$$$$
+
+ SciTegic01171120562D
+
+ 35 42 0 0 1 0 999 V2000
+ -1.9455 5.8387 0.0000 C 0 0
+ -2.5513 4.8029 0.0000 N 0 0
+ -1.8100 3.5000 0.0000 C 0 0 2 0 0 0
+ -0.2400 3.5200 0.0000 C 0 0
+ 0.5000 2.1800 0.0000 C 0 0 1 0 0 0
+ -1.0600 2.1800 0.0000 O 0 0
+ -1.8300 0.9300 0.0000 C 0 0 1 0 0 0
+ -3.0300 0.9300 0.0000 C 0 0
+ -2.6500 2.2500 0.0000 C 0 0 2 0 0 0
+ -4.1471 2.2892 0.0000 O 0 0
+ -4.7748 1.2665 0.0000 C 0 0
+ -0.9800 -0.7800 0.0000 N 0 0
+ -2.1300 -1.4600 0.0000 C 0 0
+ -3.3200 -0.7600 0.0000 C 0 0
+ -4.5500 -1.4800 0.0000 C 0 0
+ -4.5800 -2.7700 0.0000 C 0 0
+ -3.3400 -3.4700 0.0000 C 0 0
+ -2.1300 -2.7900 0.0000 C 0 0
+ 0.2400 -2.7700 0.0000 C 0 0
+ 1.4300 -3.4700 0.0000 C 0 0
+ 1.7600 -4.9700 0.0000 C 0 0
+ 3.2600 -5.0800 0.0000 N 0 0
+ 3.8500 -3.6300 0.0000 C 0 0
+ 4.9971 -3.2777 0.0000 O 0 0
+ 2.6600 -2.7500 0.0000 C 0 0
+ 2.6800 -1.4600 0.0000 C 0 0
+ 3.7900 0.5600 0.0000 C 0 0
+ 4.9600 1.2800 0.0000 C 0 0
+ 4.9600 2.6300 0.0000 C 0 0
+ 3.8100 3.2900 0.0000 C 0 0
+ 2.6400 2.5900 0.0000 C 0 0
+ 2.6400 1.2400 0.0000 C 0 0
+ 1.4900 0.5400 0.0000 N 0 0
+ 1.4500 -0.7600 0.0000 C 0 0
+ 0.2400 -1.4400 0.0000 C 0 0
+ 1 2 1 0
+ 3 2 1 6
+ 3 4 1 0
+ 5 4 1 6
+ 5 6 1 0
+ 6 7 1 0
+ 7 8 1 1
+ 7 9 1 0
+ 3 9 1 0
+ 9 10 1 6
+ 10 11 1 0
+ 7 12 1 0
+ 12 13 1 0
+ 13 14 1 0
+ 14 15 2 0
+ 15 16 1 0
+ 16 17 2 0
+ 17 18 1 0
+ 13 18 2 0
+ 18 19 1 0
+ 19 20 1 0
+ 20 21 1 0
+ 21 22 1 0
+ 22 23 1 0
+ 23 24 2 0
+ 23 25 1 0
+ 20 25 2 0
+ 25 26 1 0
+ 26 27 1 0
+ 27 28 1 0
+ 28 29 2 0
+ 29 30 1 0
+ 30 31 2 0
+ 31 32 1 0
+ 27 32 2 0
+ 32 33 1 0
+ 5 33 1 0
+ 33 34 1 0
+ 26 34 2 0
+ 34 35 1 0
+ 12 35 1 0
+ 19 35 2 0
+M END
+>
+66
+
+>
+CN[C@@H]1C[C@H]2O[C@@](C)([C@@H]1OC)n3c4ccccc4c5c6CNC(=O)c6c7c8ccccc8n2c7c35
+
+$$$$
+
+ SciTegic01171120562D
+
+ 32 35 0 0 1 0 999 V2000
+ 7.1381 -2.1568 0.0000 C 0 0
+ 6.0456 -2.6531 0.0000 C 0 0
+ 4.7409 -1.9129 0.0000 N 0 0
+ 3.6552 -2.9294 0.0000 C 0 0
+ 2.1855 -2.6254 0.0000 C 0 0
+ 1.7138 -1.2033 0.0000 C 0 0
+ 2.5889 0.0182 0.0000 C 0 0
+ 3.7889 0.0269 0.0000 O 0 0
+ 1.7138 1.2033 0.0000 N 0 0
+ 0.2917 0.7475 0.0000 C 0 0
+ -1.0028 1.5132 0.0000 C 0 0
+ -2.3155 0.7475 0.0000 C 0 0
+ -2.3155 -0.7475 0.0000 C 0 0
+ -3.3560 -1.3452 0.0000 F 0 0
+ -1.0028 -1.5132 0.0000 C 0 0
+ 0.2917 -0.7475 0.0000 C 0 0
+ 4.2542 -4.2907 0.0000 C 0 0
+ 3.6559 -5.3308 0.0000 C 0 0
+ 5.7448 -4.1226 0.0000 C 0 0
+ 6.7580 -5.2264 0.0000 C 0 0
+ 6.3978 -6.3710 0.0000 O 0 0
+ 8.2231 -4.9012 0.0000 N 0 0
+ 9.2380 -6.0068 0.0000 C 0 0
+ 10.7032 -5.6816 0.0000 C 0 0 2 0 0 0
+ 11.0634 -4.5369 0.0000 O 0 0
+ 11.7181 -6.7872 0.0000 C 0 0
+ 13.1833 -6.4620 0.0000 N 0 0
+ 14.1993 -7.5656 0.0000 C 0 0
+ 15.6630 -7.2376 0.0000 C 0 0
+ 16.1108 -5.8060 0.0000 O 0 0
+ 15.0949 -4.7024 0.0000 C 0 0
+ 13.6312 -5.0304 0.0000 C 0 0
+ 1 2 1 0
+ 2 3 1 0
+ 3 4 1 0
+ 4 5 1 0
+ 5 6 2 0
+ 6 7 1 0
+ 7 8 2 0
+ 7 9 1 0
+ 9 10 1 0
+ 10 11 1 0
+ 11 12 2 0
+ 12 13 1 0
+ 13 14 1 0
+ 13 15 2 0
+ 15 16 1 0
+ 6 16 1 0
+ 10 16 2 0
+ 4 17 2 0
+ 17 18 1 0
+ 17 19 1 0
+ 2 19 2 0
+ 19 20 1 0
+ 20 21 2 0
+ 20 22 1 0
+ 22 23 1 0
+ 23 24 1 0
+ 24 25 1 6
+ 24 26 1 0
+ 26 27 1 0
+ 27 28 1 0
+ 28 29 1 0
+ 29 30 1 0
+ 30 31 1 0
+ 31 32 1 0
+ 27 32 1 0
+M END
+>
+4362206
+
+>
+Cc1[nH]c(/C=C/2\C(=O)Nc3ccc(F)cc23)c(C)c1C(=O)NC[C@H](O)CN4CCOCC4
+
+$$$$
diff -r 000000000000 -r 2f59c6239f25 test-data/check.mol
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/check.mol Sat Oct 10 09:43:40 2020 +0000
@@ -0,0 +1,17 @@
+
+Mrv1810 07121910172D
+
+ 4 3 0 0 0 0 999 V2000
+ -2.5038 0.4060 0.0000 C 0 0 3 0 0 0 0 0 0 0 0 0
+ -2.5038 1.2310 0.0000 O 0 5 0 0 0 0 0 0 0 0 0 0
+ -3.2182 -0.0065 0.0000 N 0 3 0 0 0 0 0 0 0 0 0 0
+ -1.7893 -0.0065 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 2 1 0 0 0 0
+ 1 3 1 0 0 0 0
+ 1 4 1 4 0 0 0
+M CHG 2 2 -1 3 1
+M END
+>
+5
+>
+molecule has a bond with an illegal stereo flag; InChI: Proton(s) added/removed; InChI: Omitted undefined stereo
\ No newline at end of file
diff -r 000000000000 -r 2f59c6239f25 test-data/in1.smi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/in1.smi Sat Oct 10 09:43:40 2020 +0000
@@ -0,0 +1,1 @@
+CN1CCC[C@H]1c2cccnc2 test
diff -r 000000000000 -r 2f59c6239f25 test-data/o_molblock.mol
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/o_molblock.mol Sat Oct 10 09:43:40 2020 +0000
@@ -0,0 +1,13 @@
+
+ Mrv1810 07121910172D
+
+ 4 3 0 0 0 0 999 V2000
+ -2.5038 0.4060 0.0000 C 0 0 3 0 0 0 0 0 0 0 0 0
+ -2.5038 1.2310 0.0000 O 0 5 0 0 0 0 0 0 0 0 0 0
+ -3.2182 -0.0065 0.0000 N 0 3 0 0 0 0 0 0 0 0 0 0
+ -1.7893 -0.0065 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 2 1 0 0 0 0
+ 1 3 1 0 0 0 0
+ 1 4 1 4 0 0 0
+M CHG 2 2 -1 3 1
+M END
diff -r 000000000000 -r 2f59c6239f25 test-data/out1.smi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out1.smi Sat Oct 10 09:43:40 2020 +0000
@@ -0,0 +1,47 @@
+CN1CCCC1c2ccc(Cl)cc2 CHEMBL279352
+CCCC[C@H]1CC[C@H](N1C)c2cccnc2 CHEMBL119581
+CN1CCCC1c2ccc(F)nc2 CHEMBL72470
+C[C@H]1CC[C@H](N1C)c2cccnc2 CHEMBL116645
+CCCC[C@@H]1CC[C@H](N1C)c2cccnc2 CHEMBL119574
+CN1CCCC1c2ccc(CCc3ccc(Cl)cc3)nc2 CHEMBL189470
+CN1CCC[C@H]1c2cccnc2 CHEMBL3
+CN1CCCC1c2cncc(Cl)c2 CHEMBL61013
+CCCCCc1ccc(cn1)C2CCCN2C CHEMBL103566
+CN1CCCC1c2cccnc2 CHEMBL440464
+CN1CCCC1c2ccc(nc2)c3ccccc3 CHEMBL350748
+CN1CCCC1c2cnccc2N CHEMBL193763
+C(N1CCCC1c2cccnc2)c3ccccc3 CHEMBL163552
+COCC1CCN(C)[C@@H]1c2cccnc2 CHEMBL119020
+CN1CCCC1c2ccc(C)nc2 CHEMBL294757
+CN1CCCC1c2ccc(C)cc2 CHEMBL180376
+CN1CCCC[C@H]1c2cccnc2 CHEMBL3640783
+C[C@@H]1CC[C@H](N1C)c2cccnc2 CHEMBL118038
+CN1CCC[C@H]1c2ccccn2 CHEMBL2068760
+CN1CCCC1c2cccnc2C CHEMBL160034
+CCc1ccc(cn1)C2CCCN2C CHEMBL103225
+C[C@H]1C[C@H](N(C)C1)c2cccnc2 CHEMBL432837
+CC[C@H]1C[C@H](N(C)C1)c2cccnc2 CHEMBL115793
+CN1CCCC1c2ccccc2 CHEMBL367126
+CN1CCCC1c2ccc(CCCc3ccccc3)nc2 CHEMBL361703
+CC1CCN(C)[C@@H]1c2cccnc2 CHEMBL119019
+CN1CCCC1c2ccc(Br)nc2 CHEMBL58231
+CN1CCCCC1c2cccnc2 CHEMBL102246
+CN1CCCC1c2ccc(CCc3ccccc3)nc2 CHEMBL190295
+CN1CCC[C@H]1c2ccccc2 CHEMBL1199383
+COc1cncc(c1)C2CCCN2C CHEMBL303530
+COc1ccc(CCc2ccc(cn2)C3CCCN3C)cc1 CHEMBL190652
+CN1CCCC1c2cncc(F)c2 CHEMBL62128
+CN1CCCC1c2cncc(C)c2 CHEMBL364003
+CN1CCC(CO)[C@H]1c2cccnc2 CHEMBL325426
+CCN1CCCC1c2cccnc2 CHEMBL163042
+COc1ccncc1C2CCCN2C CHEMBL370168
+CCc1cncc(c1)C2CCCN2C CHEMBL111526
+CN1CCC[C@@H]1c2cccnc2 CHEMBL9732
+CN1CCC(CF)[C@H]1c2cccnc2 CHEMBL119016
+CN1CCCC1c2ccc(Cl)nc2 CHEMBL70050
+CN1CCCC1c2cncc(Br)c2 CHEMBL61772
+CN1CCCC1c2ccc(\C=C\c3ccccc3)nc2 CHEMBL190678
+CCCc1cncc(c1)C2CCCN2C CHEMBL382287
+CN1CCCC1c2cnc3ccccc3c2 CHEMBL161944
+CCCc1ccc(cn1)C2CCCN2C CHEMBL103537
+CCCCc1ccc(cn1)C2CCCN2C CHEMBL320023
\ No newline at end of file
diff -r 000000000000 -r 2f59c6239f25 test-data/out2.smi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out2.smi Sat Oct 10 09:43:40 2020 +0000
@@ -0,0 +1,1 @@
+CN1CCC[C@H]1c2cccnc2 CHEMBL3
\ No newline at end of file
diff -r 000000000000 -r 2f59c6239f25 test-data/out3.smi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out3.smi Sat Oct 10 09:43:40 2020 +0000
@@ -0,0 +1,55 @@
+CN1CCC[C@H]1c1cccnc1.O=C(O)C(O)C(O)C(=O)O CHEMBL1448280
+Cn1cccc1-c1cc(C(=O)N2CCCC2c2cccnc2)[nH]n1 CHEMBL3486928
+O=C1[C@@H](NS(=O)(=O)c2ccc3cc(Cl)ccc3c2)CCCN1CC(=O)N1CCCC1c1cccnc1 CHEMBL1923459
+CN1CCCC1c1cccnc1.O=S(=O)(O)O CHEMBL2142095
+CN1CCC[C@@H]1c1cccnc1.Cc1ccc(C(=O)OC(C(=O)O)C(OC(=O)c2ccc(C)cc2)C(=O)O)cc1 CHEMBL2448607
+NC(=O)c1ccc(Oc2ccc(CN3CCCC3c3cccnc3)cc2)c2ccccc12 CHEMBL4095563
+O=C(NC1CCN(Cc2ccn(-c3ccc(C(F)(F)F)cc3)c2)CC1)N1CCCC1c1cccnc1 CHEMBL560283
+O=C1NC(=O)/C(=C/c2cnn3c(NC4CC4)nc(N4CCCC4c4cccnc4)nc23)N1 CHEMBL3984229
+O=S(=O)(Nc1ncns1)c1ccc2c(N3CCC[C@H]3c3cccnc3)cccc2c1 CHEMBL3692144
+O=C(c1cc2c([nH]c1=O)CCC2)N1CCCC1c1cccnc1 CHEMBL3458802
+CC(C)C[C@H](N[C@H](CCN1C(=O)c2cc3ccccc3cc2C1=O)C(=O)O)C(=O)N1CCCC1c1cccnc1 CHEMBL158622
+c1ccc(CN2CCCC2c2cccnc2)cc1 CHEMBL163552
+Cc1ncsc1CCC(=O)N1CCCC1c1cccnc1 CHEMBL3476252
+O=C(c1cc(-c2ccc(O)cc2)n[nH]1)N1CCCC1c1cccnc1 CHEMBL3474057
+O=C(C(Nc1ccccc1F)c1cc2ccccc2s1)N1CCCC1c1cccnc1 CHEMBL2348659
+OC(COc1ccccc1-c1nc2ccccc2o1)CN1CCCC1c1cccnc1 CHEMBL608832
+O=C(Nc1ccccc1F)N1CCCC1c1cccnc1 CHEMBL1870182
+CN1CCC[C@H]1c1cccnc1.Cl CHEMBL225057
+O=C(Nc1ccccc1C(F)(F)F)N1CCCC1c1cccnc1 CHEMBL1353542
+CN1CCC[C@H]1c1cccnc1.C[C@H](CCC(=O)O)[C@H]1CC[C@H]2[C@H]3[C@H](C[C@H](O)[C@@]21C)[C@@]1(C)CC[C@@H](O)C[C@H]1C[C@H]3O CHEMBL3114538
+Cc1ccc2nc(CN3CCCC3c3cccnc3)cc(O)c2c1 CHEMBL3485916
+Cc1cc(N2CCCC2c2cccnc2)nc(C)n1 CHEMBL3454373
+O=S(=O)(Nc1ncns1)c1ccc2c(N3CCC[C@@H]3c3cccnc3)cccc2c1 CHEMBL3682682
+CN1CCCC1c1cccnc1 CHEMBL440464
+CN1CCC[C@@H]1c1cccnc1 CHEMBL9732
+Cc1cc(N(C)C)nc(N2CCCC2c2cccnc2)n1 CHEMBL3454403
+CN1CCC[C@H]1c1cccnc1.CN1CCC[C@H]1c1cccnc1.O=S(=O)(O)O CHEMBL3182465
+CCCc1cc(C(=O)N2CCCC2c2cccnc2)[nH]n1 CHEMBL3486295
+O=C(c1ccc(F)c(F)c1)N1CCN2C(=O)c3ccccc3[C@@]12c1ccc(N2CCC[C@H]2c2cccnc2)cc1 CHEMBL4100810
+CN1CCC[C@H]1c1cccnc1.C[C@H](CCC(=O)O)[C@H]1CC[C@H]2[C@@H]3CC[C@@H]4C[C@H](O)CC[C@]4(C)[C@H]3C[C@H](O)[C@@]21C CHEMBL3114539
+CCNC(=O)c1cc2c(N3CCCC3c3cccnc3)ccnc2[nH]1 CHEMBL4064004
+Cc1nn(C)c(Oc2cccc(Cl)c2Cl)c1C(=O)N1CCCC1c1cccnc1 CHEMBL2336227
+CN1CCC[C@H]1c1cccnc1.C[C@H](CCC(=O)O)[C@H]1CC[C@H]2[C@@H]3CC[C@@H]4C[C@H](O)CC[C@]4(C)[C@H]3CC[C@@]21C CHEMBL3114541
+CC1=C(C(=O)N2CCCC2c2cccnc2)C(c2ccc(Cl)c(Cl)c2)n2nccc2N1 CHEMBL601248
+NC(=O)c1ccc(Oc2ccc(CN3CCCC3c3cccnc3)cc2)nc1 CHEMBL1921840
+c1cncc(C2CCCN2c2ccnc3[nH]ncc23)c1 CHEMBL4066892
+CN1CCC[C@H]1c1cccnc1 CHEMBL3
+CCO.CN1CCC[C@H]1c1cccnc1 CHEMBL3137669
+Cc1cc(C)nc(N2CCCC2c2cccnc2)n1 CHEMBL3436596
+Cc1ccc(-c2cc(C(=O)N3CCCC3c3cccnc3)[nH]n2)o1 CHEMBL3485246
+NC(=O)c1ccc(Oc2ccc(CN3CCCC3c3cccnc3)cc2)c(Cl)c1 CHEMBL1921841
+NC(=O)c1ccc(Oc2ccc(CN3CCC[C@@H]3c3cccnc3)cc2)c(Cl)c1 CHEMBL1921843
+NC(=O)c1ccc(Oc2ccc(CN3CCC[C@H]3c3cccnc3)cc2)c(Cl)c1 CHEMBL1921842
+CN1CCC[C@H]1c1cccnc1.O=C(O)C(O)C(O)C(=O)O.O=C(O)C(O)C(O)C(=O)O CHEMBL151515
+O=C(C(Nc1ccccc1F)c1ccc(C(F)(F)F)cc1)N1CCCC1c1cccnc1 CHEMBL2348671
+CN1CCC[C@H]1c1cccnc1.O.O.O=C(O)C(O)C(O)C(=O)O.O=C(O)C(O)C(O)C(=O)O CHEMBL3989563
+c1cncc(C2CCCN2C2c3ccccc3Oc3ccccc32)c1 CHEMBL278775
+CN1CCC[C@@H]1c1cccnc1.O=C(O)C(O)C(O)C(=O)O.O=C(O)C(O)C(O)C(=O)O CHEMBL2062338
+Cn1cc(NC(=O)N2CCCC2c2cccnc2)ccc1=O CHEMBL3453894
+CCN1CCCC1c1cccnc1 CHEMBL163042
+O=S(=O)(Nc1ncns1)c1ccc2c(N3CCCC3c3cccnc3)cccc2c1 CHEMBL3682681
+O=C(NC1COC1)c1cc2c(N3CCCC3c3cccnc3)ccnc2[nH]1 CHEMBL4083992
+O=CN1CCC[C@H]1c1cccnc1 CHEMBL3126024
+Cc1nc2ccccc2n1Cc1ccc(CNC(=O)[C@H](O)[C@@H](O)C(=O)N2CCCC2c2cccnc2)s1 CHEMBL1779603
+CC[C@H]1OC(=O)[C@H](C)[C@@H](OC(=O)N2CCC[C@@H]2c2cccnc2)[C@H](C)[C@@H](O[C@@H]2O[C@H](C)C[C@H](N(C)C)[C@H]2O)[C@](C)(OC)C[C@@H](C)C(=O)[C@H](C)[C@H]2NC(=O)O[C@]12C CHEMBL2338711
\ No newline at end of file
diff -r 000000000000 -r 2f59c6239f25 test-data/out4.smi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out4.smi Sat Oct 10 09:43:40 2020 +0000
@@ -0,0 +1,4 @@
+C1CCCC1 CHEMBL1370850
+C1CCCCCCCCCCC1 CHEMBL3185808
+C1CCCCCCC1 CHEMBL452651
+C1CCCCC1 CHEMBL15980
\ No newline at end of file
diff -r 000000000000 -r 2f59c6239f25 test-data/parent_molblock.mol
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/parent_molblock.mol Sat Oct 10 09:43:40 2020 +0000
@@ -0,0 +1,12 @@
+
+ RDKit 2D
+
+ 4 3 0 0 0 0 0 0 0 0999 V2000
+ -2.5038 0.4060 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.5038 1.2310 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.2182 -0.0065 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.7893 -0.0065 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 2 1 0
+ 1 3 1 0
+ 1 4 1 0
+M END
diff -r 000000000000 -r 2f59c6239f25 test-data/pipeline_multi.sdf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/pipeline_multi.sdf Sat Oct 10 09:43:40 2020 +0000
@@ -0,0 +1,739 @@
+
+ RDKit 2D
+
+ 26 30 0 0 0 0 0 0 0 0999 V2000
+ -8.6396 0.9568 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ -7.6023 1.5602 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -7.6071 3.0602 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.3104 3.8143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -5.0090 3.0685 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -5.0040 1.5682 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.3008 0.8143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.7006 0.8244 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.7006 -0.6045 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.4915 -1.3190 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.5059 -2.8197 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.2156 -3.5847 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.2329 -5.0846 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.5404 -5.8196 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.8308 -5.0547 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.8135 -3.5548 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.2274 -0.6045 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.0000 -1.3190 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.2274 -0.6045 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.4732 -1.3190 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ 3.7372 -0.6045 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 3.7372 0.8244 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.4732 1.5389 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.2274 0.8244 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.2274 0.8244 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.4915 1.5389 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 2 1 0
+ 2 3 1 0
+ 3 4 2 0
+ 4 5 1 0
+ 5 6 2 0
+ 6 7 1 0
+ 2 7 2 0
+ 6 8 1 0
+ 8 9 1 0
+ 9 10 2 0
+ 10 11 1 0
+ 11 12 1 0
+ 12 13 1 0
+ 13 14 1 0
+ 14 15 1 0
+ 15 16 1 0
+ 11 16 1 0
+ 10 17 1 0
+ 17 18 1 0
+ 18 19 1 0
+ 19 20 2 0
+ 20 21 1 0
+ 21 22 2 0
+ 22 23 1 0
+ 23 24 2 0
+ 19 24 1 0
+ 24 25 1 0
+ 17 25 2 0
+ 25 26 1 0
+ 8 26 2 0
+M END
+
+>
+0
+>
+
+$$$$
+ RDKit 2D
+
+ 43 51 0 0 1 0 0 0 0 0999 V2000
+ -4.7204 3.3431 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.1471 2.2890 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.6500 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.8100 3.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -0.2400 3.5200 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.5000 2.1800 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.0600 2.1800 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.8300 0.9300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.0300 0.9300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -0.9800 -0.7800 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.1300 -1.4600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.3200 -0.7600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.5500 -1.4800 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.5800 -2.7700 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.3400 -3.4700 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.1300 -2.7900 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.2400 -2.7700 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.4300 -3.4700 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.7600 -4.9700 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 3.2600 -5.0800 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ 3.8500 -3.6300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 4.9971 -3.2777 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.6600 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.6800 -1.4600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 3.7900 0.5600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 4.9600 1.2800 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 4.9600 2.6300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 3.8100 3.2900 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.6400 2.5900 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.6400 1.2400 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.4900 0.5400 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.4500 -0.7600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.2400 -1.4400 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.5511 4.8030 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.9442 5.8382 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.0519 4.8135 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.6588 3.7783 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.7941 6.1180 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.2940 6.1306 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -7.0331 7.4359 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.2722 8.7286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.7723 8.7160 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.0332 7.4108 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 2 1 0
+ 3 2 1 6
+ 3 4 1 0
+ 4 5 1 0
+ 6 5 1 6
+ 6 7 1 0
+ 7 8 1 0
+ 3 8 1 0
+ 8 9 1 1
+ 8 10 1 0
+ 10 11 1 0
+ 11 12 1 0
+ 12 13 2 0
+ 13 14 1 0
+ 14 15 2 0
+ 15 16 1 0
+ 11 16 2 0
+ 16 17 1 0
+ 17 18 1 0
+ 18 19 1 0
+ 19 20 1 0
+ 20 21 1 0
+ 21 22 2 0
+ 21 23 1 0
+ 18 23 2 0
+ 23 24 1 0
+ 24 25 1 0
+ 25 26 1 0
+ 26 27 2 0
+ 27 28 1 0
+ 28 29 2 0
+ 29 30 1 0
+ 25 30 2 0
+ 30 31 1 0
+ 6 31 1 0
+ 31 32 1 0
+ 24 32 2 0
+ 32 33 1 0
+ 10 33 1 0
+ 17 33 2 0
+ 4 34 1 6
+ 34 35 1 0
+ 34 36 1 0
+ 36 37 2 0
+ 36 38 1 0
+ 38 39 1 0
+ 39 40 2 0
+ 40 41 1 0
+ 41 42 2 0
+ 42 43 1 0
+ 38 43 2 0
+M END
+
+>
+2
+>
+molecule has a stereo bond in a ring
+$$$$
+ RDKit 2D
+
+ 25 28 0 0 0 0 0 0 0 0999 V2000
+ -6.2193 5.8633 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0
+ -5.1815 5.2608 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.8807 6.0076 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.5835 5.2544 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.5870 3.7544 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.2907 2.9981 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.2964 1.4973 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.6111 0.7486 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.6111 -0.7486 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.2964 -1.4973 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.2907 -2.9981 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.5870 -3.7544 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.5835 -5.2544 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.8807 -6.0076 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -5.1815 -5.2608 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -5.1852 -3.7608 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.8880 -3.0076 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.0000 -0.7486 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.2964 -1.4973 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.5929 -0.7486 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.5929 0.7486 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.2964 1.4973 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.0000 0.7486 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.8880 3.0076 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -5.1852 3.7608 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 2 1 0
+ 2 3 1 0
+ 3 4 2 0
+ 4 5 1 0
+ 5 6 1 0
+ 6 7 1 0
+ 7 8 1 0
+ 8 9 2 0
+ 9 10 1 0
+ 10 11 1 0
+ 11 12 1 0
+ 12 13 1 0
+ 13 14 2 0
+ 14 15 1 0
+ 15 16 2 0
+ 16 17 1 0
+ 12 17 2 0
+ 10 18 2 0
+ 18 19 1 0
+ 19 20 2 0
+ 20 21 1 0
+ 21 22 2 0
+ 22 23 1 0
+ 7 23 2 0
+ 18 23 1 0
+ 5 24 2 0
+ 24 25 1 0
+ 2 25 2 0
+M END
+
+>
+0
+>
+
+$$$$
+ RDKit 2D
+
+ 26 28 0 0 1 0 0 0 0 0999 V2000
+ -1.2878 3.1508 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.3292 3.7470 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.6267 2.9927 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.9300 3.7369 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.9364 4.9369 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.6187 1.4919 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.3155 0.7475 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.3155 -0.7475 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.0028 -1.5132 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -0.9971 -3.0138 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.2935 -3.7700 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.2878 -5.2708 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.5824 -6.0284 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.5736 -7.5284 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.2702 -8.2708 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -0.9756 -7.5132 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -0.9844 -6.0132 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.2917 -0.7475 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.7138 -1.2033 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.5889 0.0182 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.7138 1.2033 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.1812 2.6271 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 3.3556 2.8737 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.3808 3.5211 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.2917 0.7475 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.0028 1.5132 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 2 1 0
+ 2 3 1 0
+ 3 4 1 0
+ 4 5 1 0
+ 3 6 1 1
+ 6 7 1 0
+ 7 8 1 0
+ 8 9 2 0
+ 9 10 1 0
+ 10 11 1 0
+ 11 12 1 0
+ 12 13 1 0
+ 13 14 2 0
+ 14 15 1 0
+ 15 16 2 0
+ 16 17 1 0
+ 12 17 2 0
+ 9 18 1 0
+ 18 19 1 0
+ 19 20 2 0
+ 20 21 1 0
+ 21 22 1 0
+ 22 23 1 0
+ 22 24 1 0
+ 21 25 1 0
+ 18 25 2 0
+ 25 26 1 0
+ 7 26 2 0
+M END
+
+>
+0
+>
+
+$$$$
+ RDKit 2D
+
+ 25 28 0 0 0 0 0 0 0 0999 V2000
+ 2.3383 -1.3500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.2990 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.2990 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.0000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.2990 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.2990 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.0000 -1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.5987 1.5004 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.7390 2.9810 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.2067 3.2905 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.9546 1.9903 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.9492 0.8772 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.4469 1.8311 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -7.4153 2.9701 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -8.8906 2.6991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -9.3937 1.2860 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -8.4213 0.1438 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.9460 0.4147 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.8193 4.6606 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.0353 5.9336 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.7489 7.2530 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.2483 7.2947 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.8192 8.3502 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0
+ -7.0341 6.0170 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.3205 4.6976 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 2 1 0
+ 2 3 1 0
+ 3 4 2 0
+ 4 5 1 0
+ 5 6 2 0
+ 6 7 1 0
+ 2 7 2 0
+ 5 8 1 0
+ 8 9 2 0
+ 9 10 1 0
+ 10 11 2 0
+ 11 12 1 0
+ 8 12 1 0
+ 11 13 1 0
+ 13 14 1 0
+ 14 15 2 0
+ 15 16 1 0
+ 16 17 2 0
+ 17 18 1 0
+ 13 18 2 0
+ 10 19 1 0
+ 19 20 1 0
+ 20 21 2 0
+ 21 22 1 0
+ 22 23 1 0
+ 22 24 2 0
+ 24 25 1 0
+ 19 25 2 0
+M END
+
+>
+0
+>
+
+$$$$
+ RDKit 2D
+
+ 27 30 0 0 0 0 0 0 0 0999 V2000
+ 3.6375 -0.9049 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.5973 -1.5031 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.5956 -2.7031 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.2990 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.2990 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.0000 -1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.0000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.2990 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.2990 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.5987 1.5004 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.7390 2.9810 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.9492 0.8772 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.2067 3.2905 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.9546 1.9903 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.8193 4.6606 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.4469 1.8311 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.0353 5.9336 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.3205 4.6976 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -7.4153 2.9701 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.9460 0.4147 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.7489 7.2530 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -7.0341 6.0170 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -8.8906 2.6991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -8.4213 0.1438 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.2483 7.2947 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -9.3937 1.2860 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.8192 8.3502 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 2 1 0
+ 3 2 1 0
+ 2 4 1 0
+ 4 5 2 0
+ 4 6 1 0
+ 5 7 1 0
+ 8 6 2 0
+ 7 9 2 0
+ 9 8 1 0
+ 9 10 1 0
+ 10 11 2 0
+ 10 12 1 0
+ 11 13 1 0
+ 14 12 1 0
+ 13 14 2 0
+ 13 15 1 0
+ 14 16 1 0
+ 15 17 2 0
+ 15 18 1 0
+ 16 19 2 0
+ 16 20 1 0
+ 17 21 1 0
+ 22 18 2 0
+ 19 23 1 0
+ 24 20 2 0
+ 21 25 2 0
+ 25 22 1 0
+ 23 26 2 0
+ 26 24 1 0
+ 25 27 1 0
+M CHG 2 2 1 3 -1
+M END
+
+>
+2
+>
+InChI: Omitted undefined stereo; InChI: Charges were rearranged
+$$$$
+ RDKit 2D
+
+ 29 33 0 0 0 0 0 0 0 0999 V2000
+ -12.5295 0.6317 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -11.9608 1.6884 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -12.5918 2.7091 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ -10.4606 1.7327 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -9.6699 0.4580 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -8.1707 0.5054 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -7.4652 1.8235 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -8.2527 3.1022 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -9.7520 3.0548 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -5.9730 1.9836 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.9669 0.8711 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.6168 1.4950 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.7580 2.9756 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -5.2259 3.2843 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.6389 3.9757 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.1867 3.6217 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -0.1511 4.7069 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -0.5731 6.1463 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.0307 6.5006 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.0662 5.4154 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.3155 0.7475 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.3155 -0.7475 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.0028 -1.5132 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.2917 -0.7475 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.7138 -1.2033 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.5889 0.0182 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.7138 1.2033 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.2917 0.7475 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.0028 1.5132 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 2 1 0
+ 2 3 2 0
+ 2 4 1 0
+ 4 5 1 0
+ 5 6 2 0
+ 6 7 1 0
+ 7 8 2 0
+ 8 9 1 0
+ 4 9 2 0
+ 7 10 1 0
+ 10 11 2 0
+ 11 12 1 0
+ 12 13 2 0
+ 13 14 1 0
+ 10 14 1 0
+ 13 15 1 0
+ 15 16 1 0
+ 16 17 2 0
+ 17 18 1 0
+ 18 19 2 0
+ 19 20 1 0
+ 15 20 2 0
+ 12 21 1 0
+ 21 22 1 0
+ 22 23 2 0
+ 23 24 1 0
+ 24 25 1 0
+ 25 26 1 0
+ 26 27 1 0
+ 27 28 1 0
+ 24 28 2 0
+ 28 29 1 0
+ 21 29 2 0
+M END
+
+>
+0
+>
+
+$$$$
+ RDKit 2D
+
+ 32 34 0 0 0 0 0 0 0 0999 V2000
+ 3.6331 -3.6060 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.5951 -3.0039 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.5973 -1.5031 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 3.6375 -0.9049 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.2990 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.2990 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.0000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -0.0031 3.0008 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.3039 3.7494 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.3092 5.2494 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.6108 5.9949 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.9073 5.2404 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -5.2112 5.9836 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.5072 5.2269 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -6.5010 4.0269 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ -7.8111 5.9701 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -9.1072 5.2134 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -10.4114 5.9543 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -11.7053 5.1953 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -11.6949 3.6953 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -12.7299 3.0882 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0
+ -10.3907 2.9543 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -9.0969 3.7133 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -10.3803 1.4536 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -11.4150 0.8457 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0
+ -9.3367 0.8611 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0
+ -10.3714 0.2536 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.9021 3.7404 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.6005 2.9949 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.2990 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.2990 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.0000 -1.5000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 2 1 0
+ 2 3 1 0
+ 3 4 2 0
+ 3 5 1 0
+ 5 6 1 0
+ 6 7 2 0
+ 7 8 1 0
+ 8 9 1 0
+ 9 10 1 0
+ 10 11 2 0
+ 11 12 1 0
+ 12 13 1 0
+ 13 14 1 0
+ 14 15 2 0
+ 14 16 1 0
+ 16 17 1 0
+ 17 18 1 0
+ 18 19 2 0
+ 19 20 1 0
+ 20 21 1 0
+ 20 22 2 0
+ 22 23 1 0
+ 17 23 2 0
+ 22 24 1 0
+ 24 25 1 0
+ 24 26 1 0
+ 24 27 1 0
+ 12 28 2 0
+ 28 29 1 0
+ 9 29 2 0
+ 7 30 1 0
+ 30 31 2 0
+ 31 32 1 0
+ 5 32 2 0
+M END
+
+>
+0
+>
+
+$$$$
+ RDKit 2D
+
+ 35 42 0 0 1 0 0 0 0 0999 V2000
+ -1.9455 5.8387 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.5513 4.8029 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.8100 3.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -0.2400 3.5200 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.5000 2.1800 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.0600 2.1800 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.8300 0.9300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.0300 0.9300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.6500 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.1471 2.2892 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.7748 1.2665 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -0.9800 -0.7800 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.1300 -1.4600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.3200 -0.7600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.5500 -1.4800 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -4.5800 -2.7700 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.3400 -3.4700 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.1300 -2.7900 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.2400 -2.7700 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.4300 -3.4700 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.7600 -4.9700 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 3.2600 -5.0800 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ 3.8500 -3.6300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 4.9971 -3.2777 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.6600 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.6800 -1.4600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 3.7900 0.5600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 4.9600 1.2800 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 4.9600 2.6300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 3.8100 3.2900 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.6400 2.5900 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.6400 1.2400 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.4900 0.5400 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.4500 -0.7600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.2400 -1.4400 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 2 1 0
+ 3 2 1 6
+ 3 4 1 0
+ 5 4 1 6
+ 5 6 1 0
+ 6 7 1 0
+ 7 8 1 1
+ 7 9 1 0
+ 3 9 1 0
+ 9 10 1 6
+ 10 11 1 0
+ 7 12 1 0
+ 12 13 1 0
+ 13 14 1 0
+ 14 15 2 0
+ 15 16 1 0
+ 16 17 2 0
+ 17 18 1 0
+ 13 18 2 0
+ 18 19 1 0
+ 19 20 1 0
+ 20 21 1 0
+ 21 22 1 0
+ 22 23 1 0
+ 23 24 2 0
+ 23 25 1 0
+ 20 25 2 0
+ 25 26 1 0
+ 26 27 1 0
+ 27 28 1 0
+ 28 29 2 0
+ 29 30 1 0
+ 30 31 2 0
+ 31 32 1 0
+ 27 32 2 0
+ 32 33 1 0
+ 5 33 1 0
+ 33 34 1 0
+ 26 34 2 0
+ 34 35 1 0
+ 12 35 1 0
+ 19 35 2 0
+M END
+
+>
+2
+>
+molecule has a stereo bond in a ring
+$$$$
+ RDKit 2D
+
+ 32 35 0 0 1 0 0 0 0 0999 V2000
+ 7.1381 -2.1568 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 6.0456 -2.6531 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 4.7409 -1.9129 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ 3.6552 -2.9294 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.1855 -2.6254 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.7138 -1.2033 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 2.5889 0.0182 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 3.7889 0.0269 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ 1.7138 1.2033 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.2917 0.7475 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.0028 1.5132 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.3155 0.7475 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.3155 -0.7475 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.3560 -1.3452 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.0028 -1.5132 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.2917 -0.7475 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 4.2542 -4.2907 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 3.6559 -5.3308 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 5.7448 -4.1226 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 6.7580 -5.2264 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 6.3978 -6.3710 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ 8.2231 -4.9012 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ 9.2380 -6.0068 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 10.7032 -5.6816 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 11.0634 -4.5369 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ 11.7181 -6.7872 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 13.1833 -6.4620 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ 14.1993 -7.5656 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 15.6630 -7.2376 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 16.1108 -5.8060 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ 15.0949 -4.7024 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 13.6312 -5.0304 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 2 1 0
+ 2 3 1 0
+ 3 4 1 0
+ 4 5 1 0
+ 5 6 2 0
+ 6 7 1 0
+ 7 8 2 0
+ 7 9 1 0
+ 9 10 1 0
+ 10 11 1 0
+ 11 12 2 0
+ 12 13 1 0
+ 13 14 1 0
+ 13 15 2 0
+ 15 16 1 0
+ 6 16 1 0
+ 10 16 2 0
+ 4 17 2 0
+ 17 18 1 0
+ 17 19 1 0
+ 2 19 2 0
+ 19 20 1 0
+ 20 21 2 0
+ 20 22 1 0
+ 22 23 1 0
+ 23 24 1 0
+ 24 25 1 6
+ 24 26 1 0
+ 26 27 1 0
+ 27 28 1 0
+ 28 29 1 0
+ 29 30 1 0
+ 30 31 1 0
+ 31 32 1 0
+ 27 32 1 0
+M END
+
+>
+0
+>
diff -r 000000000000 -r 2f59c6239f25 test-data/std_molblock.mol
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/std_molblock.mol Sat Oct 10 09:43:40 2020 +0000
@@ -0,0 +1,12 @@
+
+ RDKit 2D
+
+ 4 3 0 0 0 0 0 0 0 0999 V2000
+ -2.5038 0.4060 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ -2.5038 1.2310 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
+ -3.2182 -0.0065 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
+ -1.7893 -0.0065 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 2 1 0
+ 1 3 1 0
+ 1 4 1 0
+M END