Mercurial > repos > bgruening > openbabel_structure_distance_finder
annotate cheminfolib.py @ 0:c066b5accacf draft
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
| author | bgruening | 
|---|---|
| date | Wed, 25 Mar 2020 16:47:13 -0400 | 
| parents | |
| children | 4c9d6b47045c | 
| rev | line source | 
|---|---|
| 
0
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
1 #!/usr/bin/env python | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
2 """ | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
3 Small library with cheminformatic functions based on openbabel and pgchem. | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
4 Copyright 2012, Bjoern Gruening and Xavier Lucas | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
5 """ | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
6 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
7 import os, sys | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
8 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
9 try: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
10 from galaxy import eggs | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
11 eggs.require('psycopg2') | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
12 except: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
13 print('psycopg2 is not available. It is currently used in the pgchem wrappers, that are not shipped with default CTB') | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
14 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
15 try: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
16 import pybel | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
17 import openbabel | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
18 except: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
19 print('OpenBabel could not be found. A few functions are not available without OpenBabel.') | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
20 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
21 from multiprocessing import Pool | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
22 import glob, tempfile, re | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
23 import subprocess | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
24 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
25 def CountLines( path ): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
26 out = subprocess.Popen(['wc', '-l', path], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
27 stdout=subprocess.PIPE, | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
28 stderr=subprocess.STDOUT | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
29 ).communicate()[0] | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
30 return int(out.partition(b' ')[0]) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
31 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
32 def grep(pattern, file_obj): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
33 grepper = re.compile(pattern) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
34 for line in file_obj: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
35 if grepper.search(line): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
36 return True | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
37 return False | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
38 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
39 def check_filetype(filepath): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
40 mol = False | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
41 possible_inchi = True | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
42 for line_counter, line in enumerate(open(filepath)): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
43 if line_counter > 10000: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
44 break | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
45 if line.find('$$$$') != -1: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
46 return 'sdf' | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
47 elif line.find('@<TRIPOS>MOLECULE') != -1: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
48 return 'mol2' | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
49 elif line.find('ligand id') != -1: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
50 return 'drf' | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
51 elif possible_inchi and re.findall('^InChI=', line): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
52 return 'inchi' | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
53 elif re.findall('^M\s+END', line): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
54 mol = True | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
55 # first line is not an InChI, so it can't be an InChI file | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
56 possible_inchi = False | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
57 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
58 if mol: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
59 # END can occures before $$$$, so and SDF file will | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
60 # be recognised as mol, if you not using this hack' | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
61 return 'mol' | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
62 return 'smi' | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
63 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
64 def db_connect(args): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
65 try: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
66 db_conn = psycopg2.connect("dbname=%s user=%s host=%s password=%s" % (args.dbname, args.dbuser, args.dbhost, args.dbpasswd)); | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
67 return db_conn | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
68 except: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
69 sys.exit('Unable to connect to the db') | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
70 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
71 ColumnNames = { | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
72 'can_smiles' : 'Canonical SMILES', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
73 'can' : 'Canonical SMILES', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
74 'inchi' : 'InChI', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
75 'inchi_key' : 'InChI key', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
76 'inchi_key_first' : 'InChI key first', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
77 'inchi_key_last' : 'InChI key last', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
78 'molwt' : 'Molecular weight', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
79 'hbd' : 'Hydrogen-bond donors', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
80 'donors' : 'Hydrogen-bond donors', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
81 'hba' : 'Hydrogen-bond acceptors', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
82 'acceptors' : 'Hydrogen-bond acceptors', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
83 'rotbonds' : 'Rotatable bonds', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
84 'logp' : 'logP', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
85 'psa' : 'Polar surface area', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
86 'mr' : 'Molecular refractivity', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
87 'atoms' : 'Number of heavy atoms', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
88 'rings' : 'Number of rings', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
89 'set_bits' : 'FP2 bits', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
90 'id' : 'Internal identifier', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
91 'tani' : 'Tanimoto coefficient', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
92 'spectrophore' : 'Spectrophores(TM)', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
93 'dist_spectrophore' : 'Spectrophores(TM) distance to target', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
94 'synonym' : 'Entry id', | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
95 } | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
96 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
97 OBDescriptor = { | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
98 'atoms': ["atoms","Number of atoms"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
99 'hatoms': ["hatoms","Number of heavy atoms"], # self defined tag hatoms in plugindefines.txt | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
100 'can_smiles' : ["cansmi","Canonical SMILES"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
101 'can_smilesNS' : ["cansmiNS","Canonical SMILES without isotopes or stereo"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
102 #["abonds","Number of aromatic bonds"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
103 #["bonds","Number of bonds"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
104 #["dbonds","Number of double bonds"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
105 #["formula","Chemical formula"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
106 'hba': ["HBA1","Number of Hydrogen Bond Acceptors 1 (JoelLib)"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
107 'hba2': ["HBA2","Number of Hydrogen Bond Acceptors 2 (JoelLib)"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
108 'hbd': ["HBD","Number of Hydrogen Bond Donors (JoelLib)"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
109 'inchi': ["InChI","IUPAC InChI identifier"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
110 'inchi_key': ["InChIKey","InChIKey"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
111 #["L5","Lipinski Rule of Five"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
112 'logp': ["logP","octanol/water partition coefficient"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
113 'mr': ["MR","molar refractivity"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
114 'molwt': ["MW","Molecular Weight filter"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
115 #["nF","Number of Fluorine Atoms"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
116 #["s","SMARTS filter"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
117 #["sbonds","Number of single bonds"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
118 #["smarts","SMARTS filter"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
119 #["tbonds","Number of triple bonds"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
120 #["title","For comparing a molecule's title"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
121 'psa': ["TPSA","topological polar surface area"], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
122 'rotbonds' : ['ROTATABLE_BOND', 'rotatable bonds'], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
123 } | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
124 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
125 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
126 def print_output(args, rows): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
127 if args.oformat == 'table': | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
128 outfile = open(args.output, 'w') | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
129 requested_fields = (filter(lambda x: x not in ["[", "]", "'"], args.fetch)).split(', ') | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
130 if args.header: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
131 outfile.write( 'Identifier\t' + '\t'.join( [ColumnNames[key] for key in requested_fields] ) + '\n' ) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
132 for row in rows: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
133 outfile.write( row['synonym'] + '\t' + '\t'.join( [str(row[key]) for key in requested_fields] ) + '\n' ) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
134 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
135 elif args.oformat in ['sdf', 'mol2']: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
136 outfile = pybel.Outputfile(args.oformat, args.output, overwrite=True) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
137 for row in rows: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
138 try: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
139 mol = pybel.readstring('sdf', row['mol']) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
140 if args.oformat == 'sdf': | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
141 keys = filter(lambda x: x not in ["[", "]", "'"], args.fetch).split(', ') | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
142 mol.data.update( { ColumnNames['synonym'] : row['synonym'] } ) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
143 if 'inchi_key' in keys: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
144 keys = (', '.join(keys).replace( "inchi_key", "inchi_key_first, inchi_key_last" )).split(', ') | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
145 [ mol.data.update( { ColumnNames[key] : row[key] } ) for key in keys if key] | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
146 outfile.write(mol) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
147 except: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
148 pass | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
149 else: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
150 outfile = open(args.output, 'w') | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
151 outfile.write( '\n'.join( [ '%s\t%s' % (row[args.oformat], row['synonym'] ) for row in rows ] ) ) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
152 outfile.close() | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
153 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
154 def pybel_stop_logging(): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
155 openbabel.obErrorLog.StopLogging() | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
156 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
157 def get_properties_ext(mol): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
158 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
159 HBD = pybel.Smarts("[!#6;!H0]") | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
160 HBA = pybel.Smarts("[$([$([#8,#16]);!$(*=N~O);" + | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
161 "!$(*~N=O);X1,X2]),$([#7;v3;" + | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
162 "!$([nH]);!$(*(-a)-a)])]" | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
163 ) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
164 calc_desc_dict = mol.calcdesc() | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
165 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
166 try: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
167 logp = calc_desc_dict['logP'] | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
168 except: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
169 logp = calc_desc_dict['LogP'] | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
170 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
171 return {"molwt": mol.molwt, | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
172 "logp": logp, | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
173 "donors": len(HBD.findall(mol)), | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
174 "acceptors": len(HBA.findall(mol)), | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
175 "psa": calc_desc_dict['TPSA'], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
176 "mr": calc_desc_dict['MR'], | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
177 "rotbonds": mol.OBMol.NumRotors(), | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
178 "can": mol.write("can").split()[0].strip(), ### tthis one works fine for both zinc and chembl (no ZINC code added after can descriptor string) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
179 "inchi": mol.write("inchi").strip(), | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
180 "inchi_key": get_inchikey(mol).strip(), | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
181 "rings": len(mol.sssr), | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
182 "atoms": mol.OBMol.NumHvyAtoms(), | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
183 "spectrophore" : OBspectrophore(mol), | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
184 } | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
185 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
186 def get_inchikey(mol): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
187 conv = openbabel.OBConversion() | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
188 conv.SetInAndOutFormats("mol", "inchi") | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
189 conv.SetOptions("K", conv.OUTOPTIONS) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
190 inchikey = conv.WriteString( mol.OBMol ) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
191 return inchikey | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
192 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
193 def OBspectrophore(mol): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
194 spectrophore = pybel.ob.OBSpectrophore() | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
195 # Parameters: rotation angle = 20, normalization for mean and sd, accuracy = 3.0 A and non-stereospecific cages. | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
196 spectrophore.SetNormalization( spectrophore.NormalizationTowardsZeroMeanAndUnitStd ) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
197 return ', '.join( [ "%.3f" % value for value in spectrophore.GetSpectrophore( mol.OBMol ) ] ) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
198 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
199 def squared_euclidean_distance(a, b): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
200 try: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
201 return ((np.asarray( a ) - np.asarray( b ))**2).sum() | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
202 except ValueError: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
203 return 0 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
204 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
205 def split_library( lib_path, lib_format = 'sdf', package_size = None ): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
206 """ | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
207 Split a library of compounds. Usage: split_library( lib_path, lib_format, package_size ) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
208 IT currently ONLY WORKS FOR SD-Files | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
209 """ | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
210 pack = 1 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
211 mol_counter = 0 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
212 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
213 outfile = open('/%s/%s_pack_%i.%s' % ( '/'.join(lib_path.split('/')[:-1]), lib_path.split('/')[-1].split('.')[0], pack, 'sdf'), 'w' ) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
214 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
215 for line in open(lib_path, 'r'): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
216 outfile.write( line ) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
217 if line.strip() == '$$$$': | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
218 mol_counter += 1 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
219 if mol_counter % package_size == 0: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
220 outfile.close() | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
221 pack += 1 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
222 outfile = open('/%s/%s_pack_%i.%s' % ( '/'.join(lib_path.split('/')[:-1]), lib_path.split('/')[-1].split('.')[0], pack, 'sdf'), 'w' ) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
223 if mol_counter*10 % package_size == 0: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
224 print('%i molecules parsed, starting pack nr. %i' % ( mol_counter, pack - 1 )) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
225 outfile.close() | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
226 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
227 return True | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
228 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
229 def split_smi_library( smiles_file, structures_in_one_file ): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
230 """ | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
231 Split a file with SMILES to several files for multiprocessing usage. | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
232 Usage: split_smi_library( smiles_file, 10 ) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
233 """ | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
234 output_files = [] | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
235 tfile = tempfile.NamedTemporaryFile(delete=False) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
236 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
237 smiles_handle = open(smiles_file, 'r') | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
238 for count, line in enumerate( smiles_handle ): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
239 if count % structures_in_one_file == 0 and count != 0: | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
240 tfile.close() | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
241 output_files.append(tfile.name) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
242 tfile = tempfile.NamedTemporaryFile(delete=False) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
243 tfile.write(line) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
244 tfile.close() | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
245 output_files.append(tfile.name) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
246 smiles_handle.close() | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
247 return output_files | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
248 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
249 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
250 def mp_run(input_path, regex, PROCESSES, function_to_call ): | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
251 paths = [] | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
252 [ paths.append(compound_file) for compound_file in glob.glob(str(input_path) + str(regex)) ] | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
253 paths.sort() | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
254 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
255 pool = Pool(processes=PROCESSES) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
256 print('Process initialized with', PROCESSES, 'processors') | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
257 result = pool.map_async(function_to_call, paths) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
258 result.get() | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
259 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
260 return paths | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
261 | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
262 if __name__ == '__main__': | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
263 print(check_filetype(sys.argv[1])) | 
| 
 
c066b5accacf
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit 6c84abdd07f292048bf2194073e2e938e94158c4"
 
bgruening 
parents:  
diff
changeset
 | 
264 | 
