view tools/attributes/SbmlSetChargesFromFile/SbmlSetChargesFromFile.xml @ 5:35c9abcd8934 draft

planemo upload for repository https://forgemia.inra.fr/metexplore/met4j-galaxy commit 8577c4cd3ad279c5e97f48f822e041c6b0d90598
author metexplore
date Thu, 12 Jan 2023 13:45:13 +0000
parents ae4c301919c4
children 7a6f2380fc1d
line wrap: on
line source

<?xml version="1.0" encoding="UTF-8"?>
<tool id="met4j_SbmlSetChargesFromFile" name="SbmlSetChargesFromFile" version="1.2.1">
  <description>Set charge to network metabolites from a tabulated file containing the metabolite ids and the formulas</description>
  <xrefs>
    <xref type="bio.tools">met4j</xref>
  </xrefs>
  <requirements>
    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.2.1</container>
  </requirements>
  <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh attributes.SbmlSetChargesFromFile#if str($colcharge) != 'nan':
 -cc "$colcharge"
#end if
#if str($colid) != 'nan':
 -ci "$colid"
#end if
 $p
 $s
#if str($nSkip):
 -n "$nSkip"
#end if
 -sbml "$sbml"
#if str($tab) != 'None':
 -tab "$tab"
#end if
#if str($c):
 -c "$c"
#end if
 -out "$out"
]]></command>
  <inputs>
    <param argument="-cc" label="[2] number of the column where are the charges" name="colcharge" optional="true" type="integer" value="2"/>
    <param argument="-ci" label="[1] number of the column where are the metabolite ids" name="colid" optional="true" type="integer" value="1"/>
    <param argument="-p" checked="false" falsevalue="" label="[deactivated] To match the objects in the sbml file, adds the prefix M_ to metabolite ids" name="p" truevalue="-p" type="boolean" value="false"/>
    <param argument="-s" checked="false" falsevalue="" label="[deactivated] To match the objects in the sbml file, adds the suffix _comparmentID to metabolites" name="s" truevalue="-s" type="boolean" value="false"/>
    <param argument="-n" label="[0] Number of lines to skip at the beginning of the tabulated file" name="nSkip" optional="true" type="text" value="0">
      <sanitizer invalid_char="_">
        <valid initial="string.printable"/>
      </sanitizer>
    </param>
    <param argument="-sbml" format="sbml" label="Original sbml file" name="sbml" optional="false" type="data" value=""/>
    <param argument="-tab" format="tsv" label="Tabulated file" name="tab" optional="true" type="data" value=""/>
    <param argument="-c" label="[#] Comment String in the tabulated file. The lines beginning by this string won't be read" name="c" optional="true" type="text" value="#">
      <sanitizer invalid_char="_">
        <valid initial="string.printable"/>
      </sanitizer>
    </param>
  </inputs>
  <outputs>
    <data format="sbml" name="out"/>
  </outputs>
  <tests>
    <test>
      <param name="sbml" value="toy_model.xml"/>
      <param name="tab" value="charges.tsv"/>
      <output ftype="sbml" name="out">
      <assert_contents>
        <is_valid_xml/>
        <has_line_matching expression=".*fbc:charge=.2.*" n="1"/>
        <has_line_matching expression=".*fbc:charge=.-3.*" n="1"/>
      </assert_contents>
    </output>
    </test>
    <test>
      <param name="sbml" value="toy_model.xml"/>
      <param name="tab" value="chargesWithComment.tsv"/>
      <output ftype="sbml" name="out">
      <assert_contents>
        <is_valid_xml/>
        <has_line_matching expression=".*fbc:charge=.2.*" n="0"/>
        <has_line_matching expression=".*fbc:charge=.-3.*" n="1"/>
      </assert_contents>
    </output>
    </test>
    <test>
      <param name="sbml" value="toy_model.xml"/>
      <param name="tab" value="charges.tsv"/>
      <param name="nSkip" value="1"/>
      <output ftype="sbml" name="out">
      <assert_contents>
        <is_valid_xml/>
        <has_line_matching expression=".*fbc:charge=.2.*" n="0"/>
        <has_line_matching expression=".*fbc:charge=.-3.*" n="1"/>
      </assert_contents>
    </output>
    </test>
    <test>
      <param name="sbml" value="toy_model.xml"/>
      <param name="tab" value="charges.tsv"/>
      <param name="ci" value="2"/>
      <param name="cc" value="3"/>
      <output ftype="sbml" name="out">
      <assert_contents>
        <is_valid_xml/>
        <has_line_matching expression=".*fbc:charge=.2.*" n="1"/>
        <has_line_matching expression=".*fbc:charge=.-3.*" n="1"/>
      </assert_contents>
    </output>
    </test>
    <test>
      <param name="sbml" value="XF_network.sbml"/>
      <param name="tab" value="chargesXF.tsv"/>
      <param name="p" value="true"/>
      <param name="s" value="true"/>
      <output ftype="sbml" name="out">
      <assert_contents>
        <is_valid_xml/>
        <has_line_matching expression=".*fbc:charge=.-1000.*" n="3"/>
      </assert_contents>
    </output>
    </test>
  </tests>
  <help><![CDATA[Set charge to network metabolites from a tabulated file containing the metabolite ids and the formulas
The charge must be a number. The ids must correspond between the tabulated file and the SBML file.
If prefix or suffix is different in the SBML file, use the -p or the -s options.
The charge will be written in the SBML file in two locations:+
- in the reaction notes (e.g. <p>charge: -1</p>)
- as fbc attribute (e.g. fbc:charge="1")]]></help>
  <citations/>
</tool>