annotate profileCLs.py @ 1:62d8985a41e2 draft default tip

"planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
author azomics
date Thu, 23 Jul 2020 08:58:29 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
1 #!/usr/bin/env python
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
2
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
3 ######################################################################
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
4 # Copyright (c) 2016 Northrop Grumman.
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
5 # All rights reserved.
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
6 ######################################################################
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
7 import sys
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
8 import os
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
9 from argparse import ArgumentParser
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
10 from jinja2 import Environment, FileSystemLoader
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
11
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
12 profile_key = {
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
13 "1": "-",
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
14 "2": "lo",
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
15 "3": "+",
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
16 "4": "hi"
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
17 }
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
18
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
19
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
20 def run_flowCL(phenotype, output_txt, output_pdf, tool):
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
21 run_command = " ". join(["Rscript --slave --vanilla", tool, output_txt, phenotype])
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
22 os.system(run_command)
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
23 get_graph = " ".join(["mv flowCL_results/*.pdf", output_pdf])
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
24 os.system(get_graph)
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
25 return
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
26
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
27
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
28 def generate_flowCL_query(list_markers, list_types):
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
29 if (len(list_markers) != len(list_types)):
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
30 return("pb with headers")
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
31 query = []
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
32 # go through both lists, remove fsc/ssc
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
33 for i in range(1, len(list_markers)):
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
34 if not list_markers[i].startswith("FSC") and not list_markers[i].startswith("SSC"):
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
35 query.append(list_markers[i].upper())
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
36 query.append(profile_key[list_types[i]])
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
37 # return concatenated string
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
38 return("".join(query))
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
39
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
40
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
41 def translate_profiles(input_file, tool_dir, output, html_dir):
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
42 os.mkdir(html_dir)
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
43
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
44 tool = "/".join([tool_dir, "getOntology.R"])
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
45 html_table = "".join([html_dir, "/CLprofiles.txt"])
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
46 score_table = "".join(["cp ", input_file, " ", html_dir, "/scores.txt"])
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
47 os.system(score_table)
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
48
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
49 # read profile
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
50 with open(input_file, "r") as flock_profiles, open(html_table, "w") as out:
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
51 headers = flock_profiles.readline()
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
52 headers = headers.strip()
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
53 # get all headers except for last 2 (count + percentage)
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
54 markers = headers.split("\t")[:-2]
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
55 counter = 0
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
56
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
57 out.write("Population\tFlowCL Query\tNb Results\tLink to PDF\t")
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
58 out.write("Top Result Label\tTop Result Score\tTop Result CL\n")
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
59 queries = {}
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
60 # create marker query for each population
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
61 for lines in flock_profiles:
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
62 lines = lines.strip("\n")
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
63 pop_profile = lines.split("\t")[:-2]
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
64 flowcl_query = generate_flowCL_query(markers, pop_profile)
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
65 counter += 1
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
66 nb_results = "0"
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
67 top_label = "no_match"
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
68 top_score = "NA"
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
69 top_CL = "NA"
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
70 pdf_link = "NA"
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
71 # check if query was run before
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
72 if flowcl_query not in queries:
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
73 # create filenames for results & graphs
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
74 txt = "".join(["flowcl_pop", str(counter).zfill(2), ".txt"])
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
75 text_result = "/".join([html_dir, txt])
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
76 graph = "".join(["flowcl_pop", str(counter).zfill(2), ".pdf"])
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
77 graph_output = "/".join([html_dir, graph])
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
78 # run flowCL for each marker profile
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
79 run_flowCL(flowcl_query, text_result, graph_output, tool)
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
80
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
81 # test that text file exists if not results are all NAs:
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
82 if os.path.isfile(text_result):
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
83 with open(text_result, "r") as res:
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
84 for line in res:
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
85 if line.startswith("Score"):
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
86 data = line.split(") ")
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
87 top_score = data[2][:-2]
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
88 tot_results = len(data) - 2
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
89 nb_results = str(tot_results)
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
90 if tot_results == 5:
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
91 if len(data[6].split("+")) > 1:
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
92 nb_results = "5+"
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
93 elif line.startswith("Cell ID"):
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
94 prep_link = line.split(") ")[1][:-2]
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
95 cl = prep_link.replace("_", ":")
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
96 link = "".join(['<a href="http://www.immport-labs.org/immport-ontology/public/home/home/', cl, '" target="_blank">'])
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
97 top_CL = "".join([link, prep_link, "</a>"])
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
98 elif line.startswith("Cell Label"):
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
99 top_label = line.split(") ")[1][:-2]
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
100 pdf_link = "".join(['<a href="', graph, '" target="_blank">PDF</a>'])
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
101 tmpflowcl_query = "".join(['<a href="', txt, '" target="_blank">', flowcl_query, '</a>'])
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
102
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
103 queries[flowcl_query] = {
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
104 "query": tmpflowcl_query,
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
105 "results": nb_results,
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
106 "pdf": pdf_link,
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
107 "label": top_label,
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
108 "score": top_score,
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
109 "CL": top_CL
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
110 }
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
111 # write query results to CLprofiles.txt
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
112 out.write("\t".join([pop_profile[0],
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
113 queries[flowcl_query]["query"],
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
114 queries[flowcl_query]["results"],
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
115 queries[flowcl_query]["pdf"],
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
116 queries[flowcl_query]["label"],
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
117 queries[flowcl_query]["score"],
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
118 queries[flowcl_query]["CL"]]) + "\n")
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
119
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
120 env = Environment(loader=FileSystemLoader(tool_dir + "/templates"))
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
121 template = env.get_template("profileCLs.template")
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
122
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
123 real_directory = html_dir.replace("/job_working_directory", "")
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
124 context = {'outputDirectory': real_directory}
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
125 overview = template.render(**context)
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
126 with open(output, "w") as outf:
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
127 outf.write(overview)
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
128
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
129
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
130 if __name__ == "__main__":
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
131 parser = ArgumentParser(
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
132 prog="getCLs_from_profile",
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
133 description="runs flowCL on a each population defined by FLOCK.")
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
134
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
135 parser.add_argument(
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
136 '-i',
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
137 dest="input_file",
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
138 required=True,
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
139 help="File location for the profile.txt from FLOCK.")
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
140
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
141 parser.add_argument(
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
142 '-o',
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
143 dest="output",
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
144 required=True,
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
145 help="Name of the output html file.")
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
146
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
147 parser.add_argument(
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
148 '-d',
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
149 dest="html_dir",
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
150 required=True,
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
151 help="Path to html supporting directory.")
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
152
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
153 parser.add_argument(
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
154 '-t',
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
155 dest="tool_dir",
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
156 required=True,
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
157 help="Path to the tool directory")
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
158
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
159 args = parser.parse_args()
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
160
62d8985a41e2 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/profile_cl commit 5cdc32e68f9ec685f9890902c5ecc75047248361"
azomics
parents:
diff changeset
161 translate_profiles(args.input_file, args.tool_dir, args.output, args.html_dir)