view tools/mapping/NameMatcher/NameMatcher.xml @ 10:6a112eaf8f38 draft

planemo upload for repository https://forgemia.inra.fr/metexplore/met4j-galaxy commit 71071300dd662ad01bd064abcf6866a192eeea95
author metexplore
date Mon, 03 Feb 2025 15:59:46 +0000
parents 0976a6257300
children 40c15b7467f1
line wrap: on
line source

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<tool id="met4j_NameMatcher" name="NameMatcher" version="2.0.0">
  <description>This tool runs edit-distance based fuzzy matching to perform near-similar name matching between a metabolic model and a list of chemical names in a dataset. A harmonization processing is performed on chemical names with substitutions of common patterns among synonyms, in order to create aliases on which classical fuzzy matching can be run efficiently.</description>
  <xrefs>
    <xref type="bio.tools">met4j</xref>
  </xrefs>
  <requirements>
    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:2.0.0</container>
  </requirements>
  <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh mapping.NameMatcher#if str($n):
 -nMatch "$n"
#end if
#if str($nSkip):
 -skip "$nSkip"
#end if
#if str($col):
 -col "$col"
#end if
 -i "$sbml"
 -compound "$input"
#if str($comment):
 -c "$comment"
#end if
#if str($sep):
 -sep "$sep"
#end if
 -o "$outputFile"
]]></command>
  <inputs>
    <param argument="-nMatch" label="[1] Number of matchs to return per name" name="n" optional="true" type="text" value="1">
      <sanitizer invalid_char="_">
        <valid initial="string.printable"/>
      </sanitizer>
    </param>
    <param argument="-skip" label="[0] Number of lines to skip at the beginning of the compound file" name="nSkip" optional="true" type="text" value="0">
      <sanitizer invalid_char="_">
        <valid initial="string.printable"/>
      </sanitizer>
    </param>
    <param argument="-col" label="[1] column containing compounds' names" name="col" optional="true" type="text" value="1">
      <sanitizer invalid_char="_">
        <valid initial="string.printable"/>
      </sanitizer>
    </param>
    <param argument="-i" format="sbml" label="Original sbml file" name="sbml" optional="false" type="data" value=""/>
    <param argument="-compound" format="tsv" label="Compound file containing one column with compound names to search among the SBML entries" name="input" optional="false" type="data" value=""/>
    <param argument="-c" label="[#] Comment String in the compound file. The lines beginning by this string won't be read" name="comment" optional="true" type="text" value="#">
      <sanitizer invalid_char="_">
        <valid initial="string.printable"/>
      </sanitizer>
    </param>
    <param argument="-sep" label="[\t] separator in the compound file to split the colmumns." name="sep" optional="true" type="text" value="&#9;">
      <sanitizer invalid_char="_">
        <valid initial="string.printable"/>
      </sanitizer>
    </param>
  </inputs>
  <outputs>
    <data format="tsv" name="outputFile"/>
  </outputs>
  <tests/>
  <help><![CDATA[Metabolic models and Metabolomics Data often refer compounds only by using their common names, which vary greatly according to the source, thus impeding interoperability between models, databases and experimental data. This requires a tedious step of manual mapping. Fuzzy matching is a range of methods which can potentially helps fasten this process, by allowing the search for near-similar names. Fuzzy matching is primarily designed for common language search engines and is frequently based on edit distance, i.e. the number of edits to transform a character string into another, effectively managing typo, case and special character variations, and allowing auto-completion. However, edit-distance based search fall short when mapping chemical names: As an example, alpha-D-Glucose et Glucose would require more edits than between Fructose and Glucose.
This tool runs edit-distance based fuzzy matching to perform near-similar name matching between a metabolic model and a list of chemical names in a dataset. A harmonization processing is performed on chemical names with substitutions of common patterns among synonyms, in order to create aliases on which classical fuzzy matching can be run efficiently.]]></help>
  <citations/>
</tool>