comparison wrapper_biotransformer.py @ 5:c0fe7ad30ade draft

planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/biotransformer commit 9b8e9941cdf0689518021bc0aa4b7196b28d25d7
author recetox
date Tue, 06 Jun 2023 11:23:37 +0000
parents 77f693bb14ac
children
comparison
equal deleted inserted replaced
4:77f693bb14ac 5:c0fe7ad30ade
1 import re
1 import subprocess 2 import subprocess
2 import sys 3 import sys
3 import tempfile 4 import tempfile
4 import re 5
5 import pandas 6 import pandas
6
7 from openbabel import openbabel, pybel 7 from openbabel import openbabel, pybel
8 openbabel.obErrorLog.StopLogging() 8 openbabel.obErrorLog.StopLogging()
9 9
10 10
11 def InchiToSmiles(df): 11 def InchiToSmiles(df):
12 '''Translate inchi to smiles''' 12 '''Translate inchi to smiles'''
13 sm = [] 13 sm = []
14 for item in df['InChI']: 14 for item in df['InChI']:
15 tmp = pybel.readstring("inchi", item) 15 tmp = pybel.readstring("inchi", item)
16 sm.append(tmp.write("smi")) 16 sm.append(tmp.write("smi"))
17 return(sm) 17 return sm
18 18
19 19
20 executable = ["biotransformer"] 20 executable = ["biotransformer"]
21 21
22 argv = sys.argv[1:] 22 argv = sys.argv[1:]
62 smList2 = sum(smList2, []) 62 smList2 = sum(smList2, [])
63 smList3 = sum(smList3, []) 63 smList3 = sum(smList3, [])
64 64
65 out_df1.insert(0, "SMILES query", smList1) 65 out_df1.insert(0, "SMILES query", smList1)
66 out_df1.insert(1, "SMILES target", InchiToSmiles(out_df1)) 66 out_df1.insert(1, "SMILES target", InchiToSmiles(out_df1))
67 out_df1.to_csv(ocsv, sep ='\t') 67 out_df1.to_csv(ocsv, sep='\t')
68 68
69 out_df2.insert(0, "SMILES query", smList2) 69 out_df2.insert(0, "SMILES query", smList2)
70 out_df2.insert(1, "SMILES target", InchiToSmiles(out_df2)) 70 out_df2.insert(1, "SMILES target", InchiToSmiles(out_df2))
71 out_df2.to_csv(ocsv_dup, sep ='\t') 71 out_df2.to_csv(ocsv_dup, sep='\t')
72 72
73 out_df3.insert(0, "SMILES query", smList3) 73 out_df3.insert(0, "SMILES query", smList3)
74 out_df3.insert(1, "SMILES target", InchiToSmiles(out_df3)) 74 out_df3.insert(1, "SMILES target", InchiToSmiles(out_df3))
75 out_df3.to_csv(ocsv_dup2, sep ='\t') 75 out_df3.to_csv(ocsv_dup2, sep='\t')