view nmr_annotation2d/annotationRmn2D_xml.xml @ 0:8035235e46c7 draft

Uploaded
author marie-tremblay-metatoul
date Mon, 23 Dec 2019 09:26:20 -0500
parents
children a4d2b1926e13
line wrap: on
line source

<tool id="2DNmrAnnotation" name="2DNMR_Annotation" version="1.0.0">
		
	<description> Annotation of complex mixture bidimensional NMR spectra </description>

    <stdio>
        <exit_code range="1:" level="fatal" />
    </stdio> 

	<command>
		## Wrapper + Libraries of 2D-NMR sequences for reference compounds
		Rscript '$__tool_directory__/annotationRmn2DWrapper.R'


		## XLS file
		xlsfile $zip_xlsfile

		## 2D-NMR sequences to annotate
		cosy_2dsequences $cosy_2dsequences
		jres_2dsequences $jres_2dsequences
		hmbc_2dsequences $hmbc_2dsequences
		hsqc_2dsequences $hsqc_2dsequences
		tocsy_2dsequences $tocsy_2dsequences
		
		## In-house databases
		inHouse_DB_choices.choice ${inHouse_DB_choices.choice}
		#if str($inHouse_DB_choices.choice) == 'yes':
			inHouse_DB_cosy.choice ${inHouse_DB_cosy.choice}
			#if str($inHouse_DB_cosy.choice) == 'yes':
				cosyDB $cosyDB
			#end if
			inHouse_DB_hmbc.choice ${inHouse_DB_hmbc.choice}
			#if str($inHouse_DB_hmbc.choice) == 'yes':
				hmbcDB $hmbcDB
			#end if
			inHouse_DB_hsqc.choice ${inHouse_DB_hsqc.choice}
			#if str($inHouse_DB_hsqc.choice) == 'yes':
				hsqcDB $hsqcDB
			#end if
			inHouse_DB_jres.choice ${inHouse_DB_jres.choice}
			#if str($inHouse_DB_jres.choice) == 'yes':
				jresDB $jresDB
			#end if
			inHouse_DB_tocsy.choice ${inHouse_DB_tocsy.choice}
			#if str($inHouse_DB_tocsy.choice) == 'yes':
				tocsyDB $tocsyDB
			#end if
		#end if

		## Tolerances
		tolppm1 $tolppm1
		tolppm2 $tolppm2
		tolppmJRES $tolppmJRES
		
		
		## Treshold (probability score)
		threshold $threshold

		## Unicity
		unicity $unicity

		## Outputs
		logOut $logOut
        annotationCOSY $annotationCOSY
        ppmCommunCOSY $ppmCommunCOSY
        annotationJRES $annotationJRES
        ppmCommunJRES $ppmCommunJRES
        annotationHMBC $annotationHMBC
        ppmCommunHMBC $ppmCommunHMBC
        annotationHSQC $annotationHSQC
        ppmCommunHSQC $ppmCommunHSQC
        annotationTOCSY $annotationTOCSY
        ppmCommunTOCSY $ppmCommunTOCSY
        annotationCombination $annotationCombination
        AnnotationGraph $AnnotationGraph
		
	</command>
		
	<inputs>
		<param name="zip_xlsfile" type="data" format="xlsx" label="File to annotate in xlsx format" />

		<param name="cosy_2dsequences" type="select" label="2D-NMR COSY sequence">
			<option value="yes" > yes </option>
			<option value="no" selected="true"> no </option>
		</param>
		<param name="jres_2dsequences" type="select" label="2D-NMR JRES sequence">
			<option value="yes" > yes </option>
			<option value="no" selected="true"> no </option>
		</param>		
		<param name="hmbc_2dsequences" type="select" label="2D-NMR HMBC sequence">
			<option value="yes" > yes </option>
			<option value="no" selected="true"> no </option>
		</param>		
		<param name="hsqc_2dsequences" type="select" label="2D-NMR HSQC sequence">
			<option value="yes" > yes </option>
			<option value="no" selected="true"> no </option>
		</param>
		<param name="tocsy_2dsequences" type="select" label="2D-NMR TOCSY sequence">
			<option value="yes" > yes </option>
			<option value="no" selected="true"> no </option>
		</param>
		
		<conditional name="inHouse_DB_choices">
			<param name="choice" type="select" label="In-house database" help="Choose if you want to use use in-house database to annotate" >
				<option value="yes" > yes </option>
				<option value="no" selected="true"> no </option>
			</param>
			<when value="yes">
				<conditional name="inHouse_DB_cosy">
					<param name="choice" type="select" label="COSY In-house database" help="Choose if you want to use use in-house database to annotate COSY sequence" >
						<option value="yes" > yes </option>
						<option value="no" selected="true"> no </option>
					</param>
						<when value="yes">
							<param name="cosyDB" type="data" format="no_unzip.zip" label="Zip file of the COSY RData object" />
						</when>
				</conditional>
				<conditional name="inHouse_DB_hmbc">
					<param name="choice" type="select" label="HMBC In-house database" help="Choose if you want to use use in-house database to annotate HMBC sequence" >
						<option value="yes" > yes </option>
						<option value="no" selected="true"> no </option>
					</param>
						<when value="yes">
							<param name="hmbcDB" type="data" format="no_unzip.zip" label="Zip file of the HMBC RData object" />
						</when>
				</conditional>			<conditional name="inHouse_DB_hsqc">
					<param name="choice" type="select" label="HSQC In-house database" help="Choose if you want to use use in-house database to annotate HSQC sequence" >
						<option value="yes" > yes </option>
						<option value="no" selected="true"> no </option>
					</param>
						<when value="yes">
							<param name="hsqcDB" type="data" format="no_unzip.zip" label="Zip file of the HSQC RData object" />
						</when>
				</conditional>			<conditional name="inHouse_DB_jres">
					<param name="choice" type="select" label="JRES In-house database" help="Choose if you want to use use in-house database to annotate JRES sequence" >
						<option value="yes" > yes </option>
						<option value="no" selected="true"> no </option>
					</param>
						<when value="yes">
							<param name="jresDB" type="data" format="no_unzip.zip" label="Zip file of the JRES RData object" />
						</when>
				</conditional>			
				<conditional name="inHouse_DB_tocsy">
					<param name="choice" type="select" label="TOCSY In-house database" help="Choose if you want to use use in-house database to annotate TOCSY sequence" >
						<option value="yes" > yes </option>
						<option value="no" selected="true"> no </option>
					</param>
						<when value="yes">
							<param name="tocsyDB" type="data" format="no_unzip.zip" label="Zip file of the TOCSY RData object" />
						</when>
				</conditional>			
				</when>
			<when value="no" />
	</conditional>
	
	<param name="tolppm1" type="float" value="0.01" help="Tolerance on chemical shift for the x-axis (H). Default value is 0.01ppm" />
	<param name="tolppm2" type="float" value="0.5" help="Tolerance on chemical shift for the y-axis (C). Default value is 0.01ppm" />
	<param name="tolppmJRES" type="float" value="0.002" help="Tolerance on chemical shift for the y-axis for the JRES sequence. Default value is 0.002 (Hz)" />

	<param name="threshold" type="float" value="0" help="Treshold on score of presence. Default value is 0" />

    <param name="unicity" label="Unicity of annotation" type="select" display="radio" help="">
      <option value="no">No</option>
      <option value="yes"></option>
    </param>

	</inputs>

	<outputs>
		<data format="txt" name="logOut" label="${tool.name}_log" />
        <data format="tabular" name="annotationCOSY" label="annotationCosy" >
            <filter> cosy_2dsequences != "no" </filter>
        </data>
        <data format="tabular" name="ppmCommunCOSY" label="duplicateCosy" >
            <filter> cosy_2dsequences != "no" </filter>
        </data>

        <data format="tabular" name="annotationJRES" label="annotationJres" >
            <filter> jres_2dsequences != "no" </filter>
        </data>
        <data format="tabular" name="ppmCommunJRES" label="duplicateJres" >
            <filter> jres_2dsequences != "no" </filter>
        </data>

        <data format="tabular" name="annotationHMBC" label="annotationHmbc" >
            <filter> hmbc_2dsequences != "no" </filter>
        </data>
        <data format="tabular" name="ppmCommunHMBC" label="duplicateHmbc" >
            <filter> hmbc_2dsequences != "no" </filter>
        </data>

        <data format="tabular" name="annotationHSQC" label="annotationHsqc" >
            <filter> hsqc_2dsequences != "no" </filter>
        </data>
        <data format="tabular" name="ppmCommunHSQC" label="duplicateHsqc" >
            <filter> hsqc_2dsequences != "no" </filter>
        </data>

        <data format="tabular" name="annotationTOCSY" label="annotationTocsy" >
            <filter> tocsy_2dsequences != "no" </filter>
        </data>
        <data format="tabular" name="ppmCommunTOCSY" label="duplicateTocsy" >
            <filter> tocsy_2dsequences != "no" </filter>
        </data>

        <data format="tabular" name="annotationCombination" label="${tool.name}_annotationCombination" />
		<data format="pdf" name="AnnotationGraph" label="${tool.name}_graph" />
	</outputs>

<help>

.. class:: infomark

**Authors** Marie Tremblay-Franco (marie.tremblay-franco@inra.fr), Coline Gardou

.. class:: infomark


---------------------------------------------------

============================
Bidimensional NMR Annotation
============================

-----------
Description
-----------

BARSA is an automatic algorithm for bi-dimensional NMR spectra annotation
 
-----------------
Workflow position
-----------------

**Upstream tools**

========================= ================= ======= =========
Name                      output file       format  parameter
========================= ================= ======= =========
NA                        NA                NA      NA      
========================= ================= ======= =========


**Downstream tools**

========================= ================= ======= =========
Name                      output file       format  parameter
========================= ================= ======= =========
NA                        NA                NA      NA      
========================= ================= ======= =========



-----------
Input files
-----------

+---------------------------+------------+
| Parameter : num + label   |   Format   |
+===========================+============+
| 1 : Choose your inputs    |   xlsx     |
+---------------------------+------------+

**Choose your inputs**
    | xlsx file can include several peak lists, coming from several 2D NMR sequences
    |
	
.. image:: ./static/images/2DNmr_FileToAnnotate_xlsxFormat.png

----------
Parameters
----------
	
Bi-dimensional NMR peak list(s) to annotate; select one or more sequence(s)
    | COSY: yes/no
    | JRES: yes/no
    | HMBC: yes/no
    | HSQC: yes/no
    | TOCSY: yes/no
    | Default value is no
    |

In-house databases
    | Use of your own databases to annotate peak list(s)
    | If YES: parameters **COSY In-house database**, **JRES In-house database**, ** HMBC In-house database**, **HSQC In-house database** and **TOCSY In-house database** are visible
    | Select one or more in-house database
	|


Tolerances
    | tolppm1: Maximum variation of the chemical shift (due to experimental conditions) of a peak along the x-axis
    | tolppm2: Maximum variation of the chemical shift (due to experimental conditions) of a peak along the y-axis
    | tolppmJRES: Maximum variation of the chemical shift (due to experimental conditions) of a peak for the JRES sequence
    | Default values: 0.01 and 0.01 ppm; 0.002 Hz 
    |


Threshold
    | All metabolites with a presence probability (number of detected peak(s)/number of theoretical peak(s)) under this threshold are removed
    | Default value: 0
    |


Unicity of annotation
    | All the peaks assigned to more than one metabolite are removed
    |


------------
Output files
------------
COSY
    | tabular outputs
    | annotationCOSY: Array with p rows (corresponding to the identified metabolites) and 4 columns containing the chemical shift on the x-axis, the chemical shift on the y-axis, the metabolite name and the presence probability
    | ppmCommunCOSY: Array containing for all the peaks assigned to more than one metabolite: the chemical shift on the x-axis, the chemical shift on the y-axis and the list of assigned metabolites
    | Only display if COSY was chosen
    |


JRES
    | tabular outputs
    | annotationJRES: Array with p rows (corresponding to the identified metabolites) and 4 columns containing the chemical shift on the x-axis, the chemical shift on the y-axis, the metabolite name and the presence probability
    | ppmCommunJRES: Array containing for all the peaks assigned to more than one metabolite: the chemical shift on the x-axis, the chemical shift on the y-axis and the list of assigned metabolites
    | Only display if JRES was chosen
    |


HMBC
    | tabular outputs
    | annotationHMBC: Array with p rows (corresponding to the identified metabolites) and 4 columns containing the chemical shift on the x-axis, the chemical shift on the y-axis, the metabolite name and the presence probability
    | ppmCommunHMBC: Array containing for all the peaks assigned to more than one metabolite: the chemical shift on the x-axis, the chemical shift on the y-axis and the list of assigned metabolites
    | Only display if HMBC was chosen
    |


HSQC
    | tabular outputs
    | annotationHSQC: Array with p rows (corresponding to the identified metabolites) and 4 columns containing the chemical shift on the x-axis, the chemical shift on the y-axis, the metabolite name and the presence probability
    | ppmCommunHSQC: Array containing for all the peaks assigned to more than one metabolite: the chemical shift on the x-axis, the chemical shift on the y-axis and the list of assigned metabolites
    | Only display if HSQC was chosen
    |


TOCSY
    | tabular outputs
    | annotationTOCSY: Array with p rows (corresponding to the identified metabolites) and 4 columns containing the chemical shift on the x-axis, the chemical shift on the y-axis, the metabolite name and the presence probability
    | ppmCommunTOCSY: Array containing for all the peaks assigned to more than one metabolite: the chemical shift on the x-axis, the chemical shift on the y-axis and the list of assigned metabolites
    | Only display if TOCSY was chosen
    |


annotationCombination
    | tabular outputs
    | Array with p rows (corresponding to the identified metabolites) including the Metabolite name, the COSY presence probability, the JRES presence probability, the HMBC presence probability, the HSQC presence probability, the TOCSY presence probability and the averageScore
    | Depends on the chosen sequences
    | Only display if 2 or more sequences have be chosen


AnnotationGraph.pdf
    | pdf output
    | Bi-dimensional graphical chart of real pairs of chemical shifts, with name of identified metabolites
 


---------------------------------------------------

-------
Example
-------
Example of output files obtaining wehn running the algorithm on a mix of 23 known compounds

.. image:: ./static/images/OutputsExampleMix.png
        :width: 500
		
   </help>
    
</tool>