Repository revision
15:b2fc8da99bcc

Repository 'openms_filemerger'
hg clone https://toolshed.g2.bx.psu.edu/repos/galaxyp/openms_filemerger

FileMerger tool metadata
Miscellaneous
FileMerger
Merges several MS files into one file.
FileMerger
toolshed.g2.bx.psu.edu/repos/galaxyp/openms_filemerger/FileMerger/2.8+galaxy0
2.8+galaxy0
None
True
Version lineage of this tool (guids ordered most recent to oldest)
toolshed.g2.bx.psu.edu/repos/galaxyp/openms_filemerger/FileMerger/2.8+galaxy0 (this tool)
toolshed.g2.bx.psu.edu/repos/galaxyp/openms_filemerger/FileMerger/2.6+galaxy0
toolshed.g2.bx.psu.edu/repos/galaxyp/openms_filemerger/FileMerger/2.5+galaxy0
toolshed.g2.bx.psu.edu/repos/galaxyp/openms_filemerger/FileMerger/2.2.0
toolshed.g2.bx.psu.edu/repos/galaxyp/openms_filemerger/FileMerger/2.1.0
FileMerger
Requirements (dependencies defined in the <requirements> tag set)
name version type
openms 2.8 package
openms-thirdparty 2.8 package
omssa 2.1.9 package
blast 2.13.0 package
ctdopts 1.4 package
Additional information about this tool
#def quote(s):
    #set $s = [ _ for _ in $s.split(" ") if _ != "" ]
    #set $q = False
    #for $i, $p in enumerate($s):
        #if $p == "":
            #continue
        #end if
        #if $p.startswith('"'):
            #set $q = True
        #end if
##        #if p.startswith('-'):
##            #set p = "\\" + p
##        #elif p.startswith('"-'):
##            #set p = "\\" + p[1:]
##        #end if
        #if not $q:
            #set $s[i] = '"%s"' % p
        #end if
        #if $p.endswith('"'):
            #set $q = False
        #end if
    #end for
    #return " ".join($s)
#end def
  
#def oms2gxyext(o)
    #set m={'txt': 'txt', 'tsv': 'tabular', 'bioml': 'xml', 'consensusXML': 'consensusxml', 'csv': 'csv', 'dta': 'dta', 'dta2d': 'dta2d', 'edta': 'edta', 'fa': 'fasta', 'fas': 'fasta', 'fasta': 'fasta', 'FASTA': 'fasta', 'featureXML': 'featurexml', 'featurexml': 'featurexml', 'html': 'html', 'HTML': 'html', 'idXML': 'idxml', 'json': 'json', 'kroenik': 'kroenik', 'mascotXML': 'mascotxml', 'mgf': 'mgf', 'mrm': 'mrm', 'ms': 'sirius.ms', 'ms2': 'ms2', 'msp': 'msp', 'mzData': 'mzdata', 'mzid': 'mzid', 'mzML': 'mzml', 'mzml': 'mzml', 'mzq': 'mzq', 'mzQC': 'mzqc', 'mzTab': 'mztab', 'mzXML': 'mzxml', 'novor': 'txt', 'obo': 'obo', 'oms': 'sqlite', 'omssaXML': 'idxml', 'osw': 'osw', 'OSW': 'osw', 'params': 'txt', 'paramXML': 'paramxml', 'peplist': 'peplist', 'pep.xml': 'pepxml', 'pepXML': 'pepxml', 'png': 'png', 'PNG': 'png', 'protXML': 'protxml', 'psms': 'psms', 'pqp': 'pqp', 'qcML': 'qcml', 'spec.xml': 'spec.xml', 'splib': 'splib', 'sqMass': 'sqmass', 'tandem.xml': 'tandem', 'trafoXML': 'trafoxml', 'traML': 'traml', 'TraML': 'traml', 'tab': 'tabular', 'raw': 'thermo.raw', 'xls': 'tsv', 'XML': 'xml', 'xml': 'xml', 'xquest.xml': 'xquest.xml', 'xsd': 'xml'}
    #return m[o]
#end def
#def gxy2omsext(g)
    #set m={'txt': 'txt', 'tabular': 'tsv', 'xml': 'bioml', 'consensusxml': 'consensusXML', 'csv': 'csv', 'dta': 'dta', 'dta2d': 'dta2d', 'edta': 'edta', 'fasta': 'fa', 'featurexml': 'featureXML', 'html': 'html', 'idxml': 'idXML', 'json': 'json', 'kroenik': 'kroenik', 'mascotxml': 'mascotXML', 'mgf': 'mgf', 'mrm': 'mrm', 'sirius.ms': 'ms', 'ms2': 'ms2', 'msp': 'msp', 'mzdata': 'mzData', 'mzid': 'mzid', 'mzml': 'mzML', 'mzq': 'mzq', 'mzqc': 'mzQC', 'mztab': 'mzTab', 'mzxml': 'mzXML', 'obo': 'obo', 'sqlite': 'oms', 'osw': 'osw', 'paramxml': 'paramXML', 'peff': 'fasta', 'peplist': 'peplist', 'pepxml': 'pep.xml', 'png': 'png', 'protxml': 'protXML', 'psms': 'psms', 'pqp': 'pqp', 'qcml': 'qcML', 'spec.xml': 'spec.xml', 'splib': 'splib', 'sqmass': 'sqMass', 'tandem': 'tandem.xml', 'trafoxml': 'trafoXML', 'traml': 'traML', 'thermo.raw': 'raw', 'tsv': 'xls', 'xquest.xml': 'xquest.xml'}
    #return m[g]
#end def

#import re

## Preprocessing
mkdir in_cond.in &&
#if $in_cond.in_select == "no"
mkdir ${' '.join(["'in_cond.in/%s'" % (i) for i, f in enumerate($in_cond.in) if f])} && 
${' '.join(["ln -s '%s' 'in_cond.in/%s/%s.%s' && " % (f, i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in_cond.in) if f])}
#else
ln -s '$in_cond.in' 'in_cond.in/${re.sub("[^\w\-_]", "_", $in_cond.in.element_identifier)}.$gxy2omsext($in_cond.in.ext)' &&
#end if
mkdir out &&
#if "trafo_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir rt_concat_trafo_out &&
  mkdir ${' '.join(["'rt_concat_trafo_out/%s'" % (i) for i, f in enumerate($in_cond.in) if f])} && 
#end if

## Main program call

set -o pipefail &&
FileMerger -write_ctd ./ &&
python3 '$__tool_directory__/fill_ctd.py' 'FileMerger.ctd' '$args_json' '$hardcoded_json' &&
FileMerger -ini FileMerger.ctd
-in
#if $in_cond.in_select == "no"
${' '.join(["'in_cond.in/%s/%s.%s'"%(i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in_cond.in) if f])}
#else
'in_cond.in/${re.sub("[^\w\-_]", "_", $in_cond.in.element_identifier)}.$gxy2omsext($in_cond.in.ext)'
#end if
-out
'out/output.${out_type}'
#if "trafo_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -rt_concat:trafo_out
  ${' '.join(["'rt_concat_trafo_out/%s/%s.%s'"%(i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext("trafoxml")) for i, f in enumerate($in_cond.in) if f])}
#end if
#if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
  | tee '$stdout'
#end if

## Postprocessing
&& mv 'out/output.${out_type}' '$out'
#if "trafo_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  ${' '.join(["&& mv -n 'rt_concat_trafo_out/%(bn)s/%(id)s.%(gext)s' 'rt_concat_trafo_out/%(bn)s/%(id)s'"%{"bn": i, "id": re.sub('[^\w\-_]', '_', f.element_identifier), "gext": $gxy2omsext("trafoxml")} for i, f in enumerate($in_cond.in) if f])}
#end if
#if "ctd_out_FLAG" in $OPTIONAL_OUTPUTS
  && mv 'FileMerger.ctd' '$ctd_out'
#end if
None
False
Functional tests
name inputs outputs required files
Test-1 in_cond|in: ['FileMerger_2_input1.dta', 'FileMerger_2_input2.dta']
out_type: mzML
annotate_file_origin: False
append_method: append_rows
rt_concat|gap: 0.0
raw|rt_auto: False
raw|rt_custom: 5.0 10.0
raw|rt_filename: False
raw|ms_level: 0
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
FileMerger_2_input1.dta
FileMerger_2_input2.dta
value
Test-2 in_cond|in: ['FileMerger_3_input1.dta', 'FileMerger_3_input2.dta']
out_type: mzML
annotate_file_origin: False
append_method: append_rows
rt_concat|gap: 0.0
raw|rt_auto: True
raw|rt_custom:
raw|rt_filename: False
raw|ms_level: 0
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
FileMerger_3_input1.dta
FileMerger_3_input2.dta
value
Test-3 in_cond|in: ['FileMerger_4_input1.dta2d', 'FileMerger_4_input2.dta2d']
out_type: mzML
annotate_file_origin: False
append_method: append_rows
rt_concat|gap: 0.0
raw|rt_auto: False
raw|rt_custom:
raw|rt_filename: False
raw|ms_level: 0
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
FileMerger_4_input1.dta2d
FileMerger_4_input2.dta2d
value
Test-4 in_cond|in: ['FileMerger_5_input_rt1023.331.dta', 'FileMerger_5_input_rt2044.334.dta', 'FileMerger_5_input_rt889.32.dta']
out_type: mzML
annotate_file_origin: False
append_method: append_rows
rt_concat|gap: 0.0
raw|rt_auto: False
raw|rt_custom:
raw|rt_filename: True
raw|ms_level: 2
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
FileMerger_5_input_rt1023.331.dta
FileMerger_5_input_rt2044.334.dta
FileMerger_5_input_rt889.32.dta
value
Test-5 in_cond|in: ['FileMerger_6_input1.mzML', 'FileMerger_6_input2.mzML']
out_type: mzML
annotate_file_origin: False
append_method: append_rows
rt_concat|gap: 0.0
raw|rt_auto: False
raw|rt_custom:
raw|rt_filename: False
raw|ms_level: 0
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
FileMerger_6_input1.mzML
FileMerger_6_input2.mzML
value
Test-6 in_cond|in: ['FileMerger_7_input1.featureXML', 'FileMerger_7_input2.featureXML']
out_type: featureXML
annotate_file_origin: False
append_method: append_rows
rt_concat|gap: 0.0
raw|rt_auto: False
raw|rt_custom:
raw|rt_filename: False
raw|ms_level: 0
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
FileMerger_7_input1.featureXML
FileMerger_7_input2.featureXML
value
Test-7 in_cond|in: ['FileMerger_8_input1.consensusXML', 'FileMerger_8_input2.consensusXML']
out_type: consensusXML
annotate_file_origin: False
append_method: append_rows
rt_concat|gap: 0.0
raw|rt_auto: False
raw|rt_custom:
raw|rt_filename: False
raw|ms_level: 0
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
FileMerger_8_input1.consensusXML
FileMerger_8_input2.consensusXML
value
Test-8 in_cond|in: ['FileMerger_9_input1.traML', 'FileMerger_9_input2.traML']
out_type: traML
annotate_file_origin: False
append_method: append_rows
rt_concat|gap: 0.0
raw|rt_auto: False
raw|rt_custom:
raw|rt_filename: False
raw|ms_level: 0
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
FileMerger_9_input1.traML
FileMerger_9_input2.traML
value
Test-9 in_cond|in: ['FileMerger_6_input2.mzML', 'FileMerger_6_input2_2.mzML']
out_type: mzML
annotate_file_origin: False
append_method: append_rows
rt_concat|gap: 10.0
raw|rt_auto: False
raw|rt_custom:
raw|rt_filename: False
raw|ms_level: 0
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ['ctd_out_FLAG', 'trafo_out_FLAG']
name: value
name: value
FileMerger_6_input2.mzML
FileMerger_6_input2_2.mzML
value
Test-10 in_cond|in: ['FileMerger_8_input1.consensusXML', 'FileMerger_8_input2.consensusXML']
out_type: consensusXML
annotate_file_origin: False
append_method: append_cols
rt_concat|gap: 0.0
raw|rt_auto: False
raw|rt_custom:
raw|rt_filename: False
raw|ms_level: 0
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
FileMerger_8_input1.consensusXML
FileMerger_8_input2.consensusXML
value