annotate crossSampleOverview.py @ 2:a64ece32a01a draft default tip

"planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
author azomics
date Tue, 28 Jul 2020 08:32:36 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
1 #!/usr/bin/env python
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
2
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
3 ######################################################################
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
4 # Copyright (c) 2016 Northrop Grumman.
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
5 # All rights reserved.
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
6 ######################################################################
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
7
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
8 # version 1.1 -- August 2017
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
9 # added checks for consistency between input files
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
10 # and upper limit on nb of cluster to look at
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
11
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
12 from __future__ import print_function
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
13 import sys
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
14 import os
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
15 import logging
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
16 import fileinput
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
17 import pandas as pd
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
18 from argparse import ArgumentParser
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
19 from jinja2 import Environment, FileSystemLoader
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
20 from shutil import copyfile
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
21 from collections import defaultdict
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
22
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
23
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
24 def check_pops(mfi_file, stat1):
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
25 df = pd.read_table(mfi_file)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
26 df1 = pd.read_table(stat1)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
27 nb_pop = len(set(df.Population))
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
28 nb_pop1 = len(df1.columns) - 2
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
29 if (nb_pop > 40):
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
30 sys.stderr.write("There are " + str(nb_pop) + " in the input file.")
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
31 sys.exit(1)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
32 if (nb_pop != nb_pop1):
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
33 sys.exit(2)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
34
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
35
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
36 def panel_to_json_string(df):
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
37 # from http://stackoverflow.com/questions/28078118/merge-many-json-strings-with-python-pandas-inputs
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
38 def __merge_stream(key, stream):
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
39 return '"' + key + '"' + ': ' + stream + ', '
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
40 try:
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
41 if 'Unnamed: 0' in df.columns:
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
42 df = df.drop(['Unnamed: 0'], axis=1)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
43 stream = '{'
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
44 for index, subdf in df.groupby(level=0):
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
45 stream += __merge_stream(index, df.loc[index, :, :].droplevel(0).to_json())
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
46 # take out extra last comma
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
47 stream = stream[:-2]
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
48 # add the final paren
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
49 stream += '}'
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
50 except:
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
51 logging.exception('Panel Encoding did not work')
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
52 return stream
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
53
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
54
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
55 def get_outliers(group, upper, lower):
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
56 cat = group.name
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
57 out = {}
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
58 for marker in group:
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
59 # skip population since upper and lower don't contain it, since it was made after a group by Population
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
60 if marker != 'Population':
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
61 out[marker] = group[(group[marker] > upper.loc[cat][marker]) | (group[marker] < lower.loc[cat][marker])][marker]
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
62 return out
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
63
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
64
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
65 def get_boxplot_stats(all_data, mfi_file, output_json):
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
66 # modified code from http://bokeh.pydata.org/en/latest/docs/gallery/boxplot.html
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
67 # Get initial MFI values
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
68 mfi = pd.read_table(mfi_file)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
69 mfi = mfi.set_index('Population')
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
70
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
71 df = pd.read_table(all_data)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
72 # check if ever some pops not in cs_files
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
73 missing_pop = [x for x in mfi.index if x not in set(df.Population)]
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
74
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
75 if (missing_pop):
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
76 zeros = {}
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
77 for m in df.columns:
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
78 zeros[m] = [0 for x in missing_pop]
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
79 tmpdf = pd.DataFrame(zeros)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
80 tmpdf.Population = missing_pop
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
81 df = df.append(tmpdf)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
82
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
83 pops = df.groupby('Population')
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
84 q1 = pops.quantile(q=0.25)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
85 q2 = pops.quantile(q=0.5)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
86 q3 = pops.quantile(q=0.75)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
87 iqr = q3 - q1
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
88 upper = q3 + 1.5*iqr
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
89 lower = q1 - 1.5*iqr
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
90 resampled = False
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
91 # get outliers
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
92 out = pops.apply(get_outliers, upper, lower).dropna()
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
93 outliers = defaultdict(dict)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
94 for population in set(df.Population):
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
95 for marker in df.columns:
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
96 if marker != 'Population':
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
97 tmp_outliers = list(out[population][marker])
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
98 if (len(list(out[population][marker])) > 100):
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
99 tmp_outliers = list(out[population][marker].sample(n=100))
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
100 resampled = True
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
101 outliers[population][marker] = tmp_outliers
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
102 outdf = pd.DataFrame(outliers)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
103
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
104 data = pd.concat({'q1': q1,
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
105 'q2': q2,
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
106 'q3': q3,
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
107 'upper': upper,
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
108 'lower': lower,
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
109 'outliers': outdf.T,
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
110 'mfi': mfi}, keys=['q1','q2','q3','upper','lower','outliers','mfi'])
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
111
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
112 with open(output_json, "w") as js_all:
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
113 js_all.write(panel_to_json_string(data))
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
114
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
115 return resampled
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
116
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
117
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
118 def cs_overview(input_file, input_mfi, init_mfi, output_file, output_dir, tools_dir, cs_files):
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
119 os.mkdir(output_dir)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
120
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
121 env = Environment(loader=FileSystemLoader(tools_dir + "/templates"))
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
122 template = env.get_template("csOverview.template")
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
123
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
124 real_directory = output_dir.replace("/job_working_directory", "")
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
125 context = {'outputDirectory': real_directory}
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
126 overview = template.render(**context)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
127 with open(output_file, "w") as outf:
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
128 outf.write(overview)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
129
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
130 cs_overview_file = output_dir + "/csOverview.tsv"
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
131 copyfile(input_file, cs_overview_file)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
132
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
133 cs_overview_mfis = output_dir + "/csAllMFIs.tsv"
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
134 copyfile(input_mfi, cs_overview_mfis)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
135
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
136 # Get all the data to calculate quantiles, IRC and outliers.
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
137 tmp_all_data = "csAllData.tsv"
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
138 with open(tmp_all_data, "a") as alldata:
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
139 # assumes that the files have ran through flock and CS and therefore have the same headers
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
140 df1 = pd.read_table(cs_files[0])
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
141 df1.to_csv(alldata, sep="\t", header=True, index=False)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
142 for i in range(1, len(cs_files)):
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
143 df = pd.read_table(cs_files[i])
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
144 df.to_csv(alldata, sep="\t", header=False, index=False)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
145
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
146 cs_boxplot_data = output_dir + "/csBoxplotData.json"
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
147 resampled = get_boxplot_stats(tmp_all_data, init_mfi, cs_boxplot_data)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
148 if resampled:
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
149 to_find = '<div id="outlierWarning" style="display:none;">'
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
150 to_replace = '<div id="outlierWarning">'
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
151 ## yay python 2.7
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
152 ro = fileinput.input(output_file, inplace=True, backup=".bak")
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
153 for roline in ro:
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
154 print(roline.replace(to_find, to_replace), end='')
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
155 ro.close()
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
156
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
157 return
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
158
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
159
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
160 if __name__ == "__main__":
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
161 parser = ArgumentParser(
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
162 prog="csOverview",
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
163 description="Generate an overview plot of crossSample results.")
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
164
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
165 parser.add_argument(
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
166 '-i',
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
167 dest="input_file",
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
168 required=True,
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
169 help="File location for the summary statistics from CrossSample.")
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
170
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
171 parser.add_argument(
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
172 '-I',
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
173 dest="input_mfi",
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
174 required=True,
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
175 help="File location for the MFI summary statistics from CrossSample.")
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
176
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
177 parser.add_argument(
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
178 '-s',
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
179 dest="cs_outputs",
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
180 required=True,
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
181 action='append',
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
182 help="File location for the CrossSample output files.")
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
183
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
184 parser.add_argument(
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
185 '-o',
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
186 dest="output_file",
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
187 required=True,
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
188 help="File location for the HTML output file.")
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
189
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
190 parser.add_argument(
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
191 '-m',
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
192 dest="mfi",
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
193 required=True,
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
194 help="File location for the MFI from FLOCK.")
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
195
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
196 parser.add_argument(
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
197 '-d',
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
198 dest="output_directory",
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
199 required=True,
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
200 help="Directory location for the html supporting files.")
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
201
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
202 parser.add_argument(
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
203 '-t',
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
204 dest="tool_directory",
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
205 required=True,
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
206 help="Location of the Tool Directory.")
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
207
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
208 args = parser.parse_args()
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
209
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
210 cs_files = [f for f in args.cs_outputs]
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
211 check_pops(args.mfi, args.input_file)
a64ece32a01a "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41"
azomics
parents:
diff changeset
212 cs_overview(args.input_file, args.input_mfi, args.mfi, args.output_file, args.output_directory, args.tool_directory, cs_files)