Mercurial > repos > mvdbeek > damidseq_average_scores
comparison average_scores.xml @ 1:7fd65542efc2 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/damidseq_average_score commit 14ffe107199084dcb9f4a9f693ef7b6be097a87b
author | mvdbeek |
---|---|
date | Sat, 28 Apr 2018 13:51:18 -0400 |
parents | 427f5dda8854 |
children |
comparison
equal
deleted
inserted
replaced
0:427f5dda8854 | 1:7fd65542efc2 |
---|---|
9 <configfiles> | 9 <configfiles> |
10 <configfile name="average_script"> | 10 <configfile name="average_script"> |
11 import pandas as pd | 11 import pandas as pd |
12 | 12 |
13 #set files = [str(f) for f in $input_files] | 13 #set files = [str(f) for f in $input_files] |
14 #set column = 3 if $input_files[0].ext in ['bed', 'bedgraph'] else 5 | 14 #set column = {'bed': 4, 'bedgraph': 3, 'gff': 5, 'gff3': 5, 'gtf': 5}[$input_files[0].ext] |
15 skiprows = 0 | |
16 with open('$files[0]') as first_file: | |
17 for i, line in enumerate(first_file): | |
18 if not line.startswith(('track', 'browser', '#')): | |
19 skiprows = i | |
20 break | |
15 d = {} | 21 d = {} |
16 #for f in $files: | 22 #for f in $files: |
17 d['$f'] = pd.read_csv('$f', usecols=[$column], sep="\t", skiprows=$skiprows, header=None, squeeze=True) | 23 d['$f'] = pd.read_csv('$f', usecols=[$column], sep="\t", skiprows=skiprows, header=None, squeeze=True) |
18 #end for | 24 #end for |
19 df = pd.DataFrame.from_dict(d) | 25 df = pd.DataFrame.from_dict(d) |
20 mean = df.mean(axis=1) | 26 mean = df.mean(axis=1) |
21 with open('$averaged_output', 'w') as out, open('$files[0]') as first_file: | 27 with open('$averaged_output', 'w') as out, open('$files[0]') as first_file: |
22 for i, line in enumerate(first_file): | 28 for i, line in enumerate(first_file): |
23 fields = line.strip().split("\t") | 29 fields = line.strip().split("\t") |
24 if i >= $skiprows: | 30 if i >= skiprows: |
25 fields[$column] = str(mean[i - $skiprows]) | 31 fields[$column] = str(mean[i - skiprows]) |
26 out.write("%s\n" % "\t".join(fields)) | 32 out.write("%s\n" % "\t".join(fields)) |
27 </configfile> | 33 </configfile> |
28 </configfiles> | 34 </configfiles> |
29 <inputs> | 35 <inputs> |
30 <param name="input_files" type="data" multiple="true" format="bed,bedgraph,gff" label="Select the files for which to average the score"/> | 36 <param name="input_files" type="data" multiple="true" format="bed,bedgraph,gff" label="Select the files for which to average the score"/> |
31 <param name="skiprows" type="integer" min="0" value="0" label="Skip the first N rows" help="To skip comments and track definition lines"/> | |
32 </inputs> | 37 </inputs> |
33 <outputs> | 38 <outputs> |
34 <data name="averaged_output" format_source="input_files" label="${tool.name} on ${on_string}"/> | 39 <data name="averaged_output" format_source="input_files" label="${tool.name} on ${on_string}"/> |
35 </outputs> | 40 </outputs> |
36 <tests> | 41 <tests> |
37 <test> | 42 <test> |
38 <param name="input_files" value="1.bed,2.bed" ftype="bed"/> | 43 <param name="input_files" value="1.bed,2.bed" ftype="bedgraph"/> |
39 <output name="averaged_output" value="averaged.bed" ftype="bed"/> | 44 <output name="averaged_output" value="averaged.bed" ftype="bedgraph"/> |
40 </test> | 45 </test> |
41 </tests> | 46 </tests> |
42 <help><![CDATA[ | 47 <help><![CDATA[ |
43 What it does | 48 What it does |
44 ------------ | 49 ------------ |