Repository revision
16:bdcdd2a5ea43

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

IDMerger tool metadata
Miscellaneous
IDMerger
Merges several protein/peptide identification files into one file
IDMerger
toolshed.g2.bx.psu.edu/repos/galaxyp/openms_idmerger/IDMerger/3.1+galaxy0
3.1+galaxy0
None
True
Version lineage of this tool (guids ordered most recent to oldest)
toolshed.g2.bx.psu.edu/repos/galaxyp/openms_idmerger/IDMerger/3.1+galaxy0 (this tool)
toolshed.g2.bx.psu.edu/repos/galaxyp/openms_idmerger/IDMerger/2.8+galaxy0
toolshed.g2.bx.psu.edu/repos/galaxyp/openms_idmerger/IDMerger/2.6+galaxy0
toolshed.g2.bx.psu.edu/repos/galaxyp/openms_idmerger/IDMerger/2.5+galaxy0
toolshed.g2.bx.psu.edu/repos/galaxyp/openms_idmerger/IDMerger/2.3.0
toolshed.g2.bx.psu.edu/repos/galaxyp/openms_idmerger/IDMerger/2.2.0
toolshed.g2.bx.psu.edu/repos/galaxyp/openms_idmerger/IDMerger/2.1.0
IDMerger
Requirements (dependencies defined in the <requirements> tag set)
name version type
openms 3.1 package
openms-thirdparty 3.1 package
blast 2.14.1 package
ctdopts 1.5 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': 'xsd', 'zip': 'zip'}
    #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', 'xsd': 'xsd', 'zip': 'zip'}
    #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(["cp '%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
cp '$in_cond.in' 'in_cond.in/${re.sub("[^\w\-_]", "_", $in_cond.in.element_identifier)}.$gxy2omsext($in_cond.in.ext)' &&
#end if
mkdir out &&
#if $add_to:
  mkdir add_to &&
  cp '$add_to' 'add_to/${re.sub("[^\w\-_]", "_", $add_to.element_identifier)}.$gxy2omsext($add_to.ext)' &&
#end if

## Main program call

set -o pipefail &&
IDMerger -write_ctd ./ &&
python3 '$__tool_directory__/fill_ctd.py' 'IDMerger.ctd' '$args_json' '$hardcoded_json' &&
IDMerger -ini IDMerger.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 $add_to:
  -add_to
  'add_to/${re.sub("[^\w\-_]", "_", $add_to.element_identifier)}.$gxy2omsext($add_to.ext)'
#end if

## Postprocessing
&& mv 'out/output.${out_type}' '$out'
#if "ctd_out_FLAG" in $OPTIONAL_OUTPUTS
  && mv 'IDMerger.ctd' '$ctd_out'
#end if
None
False
Functional tests
name inputs outputs required files
Test-1 in_cond|in: ['IDMerger_1_input1.idXML', 'IDMerger_1_input2.idXML']
out_type: idXML
annotate_file_origin: True
pepxml_protxml: False
merge_proteins_add_PSMs: False
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
IDMerger_1_input1.idXML
IDMerger_1_input2.idXML
value
Test-2 in_cond|in: ['IDMerger_2_input1.idXML', 'IDMerger_2_input2.idXML']
out_type: idXML
annotate_file_origin: False
pepxml_protxml: True
merge_proteins_add_PSMs: False
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
IDMerger_2_input1.idXML
IDMerger_2_input2.idXML
value
Test-3 in_cond|in: ['IDMerger_1_input1_0.idXML', 'IDMerger_1_input1_1.idXML']
out_type: idXML
annotate_file_origin: False
pepxml_protxml: False
merge_proteins_add_PSMs: False
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
IDMerger_1_input1_0.idXML
IDMerger_1_input1_1.idXML
value
Test-4 in_cond|in: ['degenerated_empty_0.idXML', 'degenerated_empty_1.idXML']
out_type: idXML
annotate_file_origin: False
pepxml_protxml: False
merge_proteins_add_PSMs: False
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
degenerated_empty_0.idXML
degenerated_empty_1.idXML
value
Test-5 in_cond|in: IDMerger_2_input1.idXML
out_type: idXML
add_to: IDMerger_5_input1.idXML
annotate_file_origin: False
pepxml_protxml: False
merge_proteins_add_PSMs: False
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
IDMerger_2_input1.idXML
IDMerger_5_input1.idXML
value
Test-6 in_cond|in: ['IDMerger_6_input1.oms', 'IDMerger_6_input2.oms']
out_type: oms
annotate_file_origin: True
pepxml_protxml: False
merge_proteins_add_PSMs: False
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
IDMerger_6_input1.oms
IDMerger_6_input2.oms
value
Test-7 in_cond|in: ['IDRipper_3_input1.idXML', 'IDRipper_3_input2.idXML']
out_type: idXML
annotate_file_origin: True
pepxml_protxml: False
merge_proteins_add_PSMs: False
adv_opts|force: False
adv_opts|test: true
OPTIONAL_OUTPUTS: ctd_out_FLAG
name: value
name: value
IDRipper_3_input1.idXML
IDRipper_3_input2.idXML
value