Mercurial > repos > bgruening > xchem_transfs_scoring
annotate server/transfs.py @ 0:69fe50d03b80 draft
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
author | bgruening |
---|---|
date | Fri, 27 Mar 2020 13:11:29 +0000 |
parents | |
children |
rev | line source |
---|---|
0
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
1 # Create dir containing ligands.sdf and protein.pdb |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
2 # Enter docker container like this: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
3 # docker run -it --rm --gpus all -v $PWD:/root/train/fragalysis_test_files/work:Z informaticsmatters/deep-app-ubuntu-1604:latest bash |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
4 # |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
5 # Now inside the container run like this: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
6 # mkdir /tmp/work |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
7 # rm -rf /tmp/work/* && python3 work/transfs.py -i work/test-data/ligands.sdf -r work/test-data/receptor.pdb -d 2 -w /tmp/work |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
8 # |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
9 # If testing with no GPU you can use the --mock option to generate random scores |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
10 # |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
11 # Start container for testing like this: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
12 # docker run -it --rm -v $PWD:$PWD:Z -w $PWD informaticsmatters/deep-app-ubuntu-1604:latest bash |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
13 # Inside container test like this: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
14 # mkdir /tmp/work |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
15 # cd chemicaltoolbox/xchem-deep |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
16 # rm -rf /tmp/work/* && python3 transfs.py -i test-data/ligands.sdf -r test-data/receptor.pdb -d 2 -w /tmp/work --mock |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
17 # |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
18 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
19 import argparse, os, sys, math |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
20 import subprocess |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
21 import random |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
22 from openbabel import pybel |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
23 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
24 types_file_name = 'inputs.types' |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
25 types_file_name = 'inputs.types' |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
26 predict_file_name = 'predictions.txt' |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
27 work_dir = '.' |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
28 paths = None |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
29 inputs_protein = [] |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
30 inputs_ligands = [] |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
31 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
32 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
33 def log(*args, **kwargs): |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
34 """Log output to STDERR |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
35 """ |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
36 print(*args, file=sys.stderr, ** kwargs) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
37 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
38 def write_raw_inputs(receptor_pdb, ligands_sdf, distance): |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
39 """ |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
40 Analyses the PDB file for waters that clash with each ligand in the SDF and writes out: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
41 1. a PDB file named like receptor-123-543.pdb where the numeric parts are the waters that have been omitted |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
42 2. a corresponding directory named like receptor-123-543 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
43 3. an SDF named like receptor-123-543/ligands.sdf containing those ligands that correspond to that receptor. |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
44 :param receptor_pdb: A PDB file without the ligand but with the crystallographic waters |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
45 :param ligands_sdf: A SDF with the docked poses |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
46 :param distance: The distance to consider when removing waters. Only heavy atoms in the ligand are considered. |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
47 :return: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
48 """ |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
49 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
50 global work_dir |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
51 global inputs_protein |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
52 global inputs_ligands |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
53 global paths |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
54 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
55 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
56 log("Writing data to", work_dir) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
57 if not os.path.isdir(work_dir): |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
58 os.mkdir(work_dir) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
59 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
60 receptor_file = os.path.basename(receptor_pdb) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
61 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
62 sdf_writers = {} |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
63 paths = [] |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
64 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
65 # read the receptor once as we'll need to process it many times |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
66 with open(receptor_pdb, 'r') as f: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
67 lines = f.readlines() |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
68 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
69 count = 0 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
70 for mol in pybel.readfile("sdf", ligands_sdf): |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
71 count += 1 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
72 if count % 50000 == 0: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
73 log('Processed', count) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
74 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
75 try: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
76 # print("Processing mol", mol.title) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
77 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
78 clone = pybel.Molecule(mol) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
79 clone.removeh() |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
80 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
81 coords = [] |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
82 for atom in clone.atoms: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
83 coords.append(atom.coords) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
84 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
85 watnumcode = '' |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
86 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
87 # getting receptor without waters that will clash with ligand |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
88 new_receptor_pdb = [] |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
89 for line in lines: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
90 if line[17:20] == 'HOH': |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
91 x, y, z = float(line[30:39]), float(line[39:46]), float(line[46:55]) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
92 distances = [] |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
93 for i in coords: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
94 distances.append(math.sqrt((x-i[0])**2 + (y-i[1])**2 + (z-i[2])**2)) # calculates distance based on cartesian coordinates |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
95 if min(distances) > distance: # if all distances are larger than 2.0A, then molecule makes it to new file |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
96 new_receptor_pdb.append(line) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
97 else: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
98 watnum = line[23:28].strip() |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
99 # print("Skipped water " + watnum) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
100 watnumcode += '-' + watnum |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
101 if line[17:20] != 'LIG' and line[17:20] != 'HOH': # ligand lines are also removed |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
102 new_receptor_pdb.append(line) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
103 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
104 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
105 name = receptor_file[0:-4] + watnumcode |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
106 # print('CODE:', name) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
107 mol.data['TransFSReceptor'] = name |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
108 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
109 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
110 if watnumcode not in sdf_writers: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
111 # we've not yet encountered this combination of waters so need to write the PDB file |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
112 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
113 dir = os.path.sep.join([work_dir, name]) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
114 log('WRITING to :', dir) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
115 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
116 os.mkdir(dir) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
117 paths.append(dir) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
118 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
119 sdf_writers[watnumcode] = pybel.Outputfile("sdf", os.path.sep.join([dir, 'ligands.sdf'])) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
120 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
121 # writing into new pdb file |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
122 receptor_writer = open(os.path.sep.join([work_dir, name + '.pdb']), "w+") |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
123 for line in new_receptor_pdb: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
124 receptor_writer.write(str(line)) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
125 receptor_writer.close() |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
126 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
127 # write the molecule to the corresponding SDF file |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
128 sdf_out = sdf_writers[watnumcode] |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
129 sdf_out.write(mol) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
130 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
131 except Exception as e: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
132 log('Failed to handle molecule: '+ str(e)) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
133 continue |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
134 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
135 for writer in sdf_writers.values(): |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
136 writer.close() |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
137 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
138 log('Wrote', count, 'molecules and', len(sdf_writers), 'proteins') |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
139 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
140 def write_inputs(protein_file, ligands_file, distance): |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
141 """ |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
142 Runs gninatyper on the proteins and ligands and generates the input.types file that will tell the predictor |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
143 what ligands correspond to what proteins. |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
144 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
145 :param protein_file: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
146 :param ligands_file: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
147 :param distance: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
148 :return: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
149 """ |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
150 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
151 global types_file_name |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
152 global work_dir |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
153 global inputs_protein |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
154 global inputs_ligands |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
155 global prepared_ligands |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
156 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
157 write_raw_inputs(protein_file, ligands_file, distance) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
158 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
159 types_path = os.path.sep.join([work_dir, types_file_name]) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
160 log("Writing types to", types_path) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
161 with open(types_path, 'w') as types_file: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
162 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
163 for path in paths: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
164 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
165 log("Gninatyping ligands in", path) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
166 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
167 ligands_dir = os.path.sep.join([path, 'ligands']) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
168 os.mkdir(ligands_dir) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
169 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
170 cmd1 = ['gninatyper', os.path.sep.join([path, 'ligands.sdf']), os.path.sep.join([ligands_dir, 'ligand'])] |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
171 log('CMD:', cmd1) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
172 exit_code = subprocess.call(cmd1) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
173 log("Status:", exit_code) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
174 if exit_code: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
175 raise Exception("Failed to write ligands") |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
176 ligand_gninatypes = os.listdir(os.path.sep.join([path, 'ligands'])) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
177 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
178 log("Gninatyping proteins in", path) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
179 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
180 proteins_dir = os.path.sep.join([path, 'proteins']) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
181 os.mkdir(proteins_dir) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
182 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
183 cmd2 = ['gninatyper', path + '.pdb', os.path.sep.join([proteins_dir, 'protein'])] |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
184 log('CMD:', cmd2) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
185 exit_code = subprocess.call(cmd2) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
186 log("Status:", exit_code) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
187 if exit_code: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
188 raise Exception("Failed to write proteins") |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
189 protein_gninatypes = os.listdir(os.path.sep.join([path, 'proteins'])) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
190 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
191 num_proteins = 0 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
192 num_ligands = 0 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
193 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
194 for protein in protein_gninatypes: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
195 num_proteins += 1 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
196 num_ligands = 0 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
197 inputs_protein.append(protein) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
198 inputs_protein.append(os.path.sep.join([path, 'proteins', protein])) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
199 for ligand in ligand_gninatypes: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
200 num_ligands += 1 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
201 log("Handling", protein, ligand) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
202 inputs_ligands.append(os.path.sep.join([path, 'ligands', ligand])) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
203 line = "0 {0}{3}proteins{3}{1} {0}{3}ligands{3}{2}\n".format(path, protein, ligand, os.path.sep) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
204 types_file.write(line) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
205 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
206 return num_proteins, num_ligands |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
207 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
208 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
209 def generate_predictions_filename(work_dir, predict_file_name): |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
210 return "{0}{1}{2}".format(work_dir, os.path.sep, predict_file_name) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
211 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
212 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
213 def run_predictions(): |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
214 global types_file_name |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
215 global predict_file_name |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
216 global work_dir |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
217 # python3 scripts/predict.py -m resources/dense.prototxt -w resources/weights.caffemodel -i work_0/test_set.types >> work_0/caffe_output/predictions.txt |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
218 cmd1 = ['python3', '/train/fragalysis_test_files/scripts/predict.py', |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
219 '-m', '/train/fragalysis_test_files/resources/dense.prototxt', |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
220 '-w', '/train/fragalysis_test_files/resources/weights.caffemodel', |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
221 '-i', os.path.sep.join([work_dir, types_file_name]), |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
222 '-o', os.path.sep.join([work_dir, predict_file_name])] |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
223 log("CMD:", cmd1) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
224 subprocess.call(cmd1) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
225 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
226 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
227 def mock_predictions(): |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
228 global work_dir |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
229 global predict_file_name |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
230 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
231 log("WARNING: generating mock results instead of running on GPU") |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
232 outfile = generate_predictions_filename(work_dir, predict_file_name) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
233 count = 0 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
234 with open(outfile, 'w') as predictions: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
235 for path in paths: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
236 log("Reading", path) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
237 protein_gninatypes = os.listdir(os.path.sep.join([path, 'proteins'])) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
238 ligand_gninatypes = os.listdir(os.path.sep.join([path, 'ligands'])) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
239 for protein in protein_gninatypes: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
240 for ligand in ligand_gninatypes: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
241 count += 1 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
242 score = random.random() |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
243 line = "{0} | 0 {1}{4}proteins{4}{2} {1}{4}ligands{4}{3}\n".format(score, path, protein, ligand, |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
244 os.path.sep) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
245 # log("Writing", line) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
246 predictions.write(line) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
247 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
248 log('Wrote', count, 'mock predictions') |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
249 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
250 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
251 def read_predictions(): |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
252 global predict_file_name |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
253 global work_dir |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
254 scores = {} |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
255 with open("{0}{1}{2}".format(work_dir, os.path.sep, predict_file_name), 'r') as input: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
256 for line in input: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
257 # log(line) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
258 tokens = line.split() |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
259 if len(tokens) == 5 and tokens[1] == '|': |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
260 # log(len(tokens), tokens[0], tokens[3], tokens[4]) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
261 record_no = inputs_ligands.index(tokens[4]) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
262 if record_no is not None: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
263 # log(record_no, tokens[0]) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
264 scores[record_no] = tokens[0] |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
265 log("Found", len(scores), "scores") |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
266 return scores |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
267 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
268 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
269 def patch_scores_sdf(outfile, scores): |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
270 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
271 counter = 0 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
272 sdf_path = "{0}{1}{2}".format(work_dir, os.path.sep, outfile) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
273 log("Writing results to {0}".format(sdf_path)) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
274 sdf_file = pybel.Outputfile("sdf", sdf_path) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
275 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
276 for path in paths: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
277 for mol in pybel.readfile("sdf", os.path.sep.join([path, 'ligands.sdf'])): |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
278 if counter in scores: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
279 score = scores[counter] |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
280 # og("Score for record {0} is {1}".format(counter, score)) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
281 mol.data['TransFSScore'] = score |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
282 sdf_file.write(mol) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
283 else: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
284 log("No score found for record", counter) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
285 counter += 1 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
286 sdf_file.close() |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
287 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
288 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
289 def execute(ligands_sdf, protein, outfile, distance, mock=False): |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
290 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
291 write_inputs(protein, ligands_sdf, distance) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
292 if mock: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
293 mock_predictions() |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
294 else: |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
295 run_predictions() |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
296 scores = read_predictions() |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
297 patch_scores_sdf(outfile, scores) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
298 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
299 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
300 def main(): |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
301 global work_dir |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
302 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
303 parser = argparse.ArgumentParser(description='XChem deep - pose scoring') |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
304 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
305 parser.add_argument('-i', '--input', help="SDF containing the poses to score)") |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
306 parser.add_argument('-r', '--receptor', help="Receptor file for scoring (PDB format)") |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
307 parser.add_argument('-d', '--distance', type=float, default=2.0, help="Cuttoff for removing waters") |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
308 parser.add_argument('-o', '--outfile', default='output.sdf', help="File name for results") |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
309 parser.add_argument('-w', '--work-dir', default=".", help="Working directory") |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
310 parser.add_argument('--mock', action='store_true', help='Generate mock scores rather than run on GPU') |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
311 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
312 args = parser.parse_args() |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
313 log("XChem deep args: ", args) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
314 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
315 work_dir = args.work_dir |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
316 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
317 execute(args.input, args.receptor, args.outfile, args.distance, mock=args.mock) |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
318 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
319 |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
320 if __name__ == "__main__": |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
321 main() |
69fe50d03b80
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/transfs commit d9a9e2f0e12fe9d2c37f632d99f2164df577b4af"
bgruening
parents:
diff
changeset
|
322 |