Mercurial > repos > recetox > biotransformer
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') |