diff merlin.xml @ 1:c88bc00301bf draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/merlin/ commit 81594f752b46ed1ca0b6613e6db1de742f6425d1"
author iuc
date Sat, 23 Oct 2021 21:43:12 +0000
parents 625146aa31d8
children eae84c835026
line wrap: on
line diff
--- a/merlin.xml	Thu May 07 13:54:14 2020 -0400
+++ b/merlin.xml	Sat Oct 23 21:43:12 2021 +0000
@@ -1,7 +1,12 @@
-<?xml version="1.0" encoding="utf-8"?>
-<tool id="merlin" name="Tool for Linkage Analysis" version="1.1.2.1">
+<tool id="merlin" name="Tool for Linkage Analysis" version="@TOOL_VERSION@.2">
+    <macros>
+        <token name="@TOOL_VERSION@">1.1.2</token>
+    </macros>
+    <xrefs>
+        <xref type="bio.tools">merlin</xref>
+    </xrefs>
     <requirements>
-        <requirement type="package" version="1.1.2">merlin</requirement>
+        <requirement type="package" version="@TOOL_VERSION@">merlin</requirement>
     </requirements>
     <command detect_errors="exit_code"><![CDATA[
     merlin -p '$pname' -m '$mname' -d '$dname' --quiet --error --best --npl '$markerNames'
@@ -45,483 +50,483 @@
     #elif $allelefrequency.allelefreq.value == "file":
     -f '$allelefrequency.file'
     #end if
-		
+        
     > '$merlinoutput'
     ]]></command>
     <inputs>
-	<!-- Select input data file -->
-	<param name="pname" type="data" format="txt" label="Entering Data File" help="Selects input data file, in linkage or QTDT format" />
-	<!-- Select input map file -->
-	<param name="mname" type="data" format="txt" label="Entering Map File" help="File indicating chromosome and centimorgan position for each marker. Use with QTDT format input files." />
-	<!-- Select input pedigree file -->
-	<param name="dname" type="data" format="txt" label="Entering Pedigree File" help="Selects pedigree file, with genotype, phenotype and family structure information" />
-	<!-- Beginning of the optional parameters -->
-	<param name="markerNames" type="boolean" truevalue="--markerNames" falsevalue="" optional="true" label="For Marker Serial Optional Parameter" help="Useful to eliminate numbers in positions and introduce serial of MRK Number instead." />
-	<param name="minStep" type="float" optional="true" label="For Minimum Step Optional Parameter" help="Useful to find the minimum value" />
-	<param name="maxStep" type="float" optional="true" label="For Maximum Step Optional Paramter" help="Useful to find the maximum value" />
-	<param name="steps" type="integer" min="0" optional="true" label="n equally spaced locations" help="Carry out analyses at n equally spaced locations to analyse between consecutive markers" />
-	<param name="grid" type="integer" min="0" optional="true" label="n-cM grid of equally spaced locations" help="Carry out analysis along an n-cM grid of equally spaced locations" />
-	<param name="start" type="integer" min="0" optional="true" label="Start analyses" help="Start analyses at pos centiMorgans." />
-	<param name="stop" type="integer" min="0" optional="true" label="Stop analyses" help="Stop analyses at pos centiMorgans." />
-	<param name="randomseed" type="integer" min="0" optional="true" label="Random Sequence" help="Selects a different random sequence for simulation and sampling of haplotypes." />
-	<!-- Beginning of the conditional parameters -->
-	<conditional name="allelefrequency">
-	    <param name="allelefreq" type="select" label="Source for allele frequency information" help="Allele frequencies can be set in one of the four options.">
-		<option value="maxlike"> Maximum Likelihood </option>
-		<option value="founders"> Founders </option>
-		<option value="individuals">All Individuals</option>
-		<option value="equal">Assume Equal</option>
-		<option value="file">User File</option>
-	    </param>
-	    <when value="maxlike">
-		<!-- Nothing to be added. -->
-	    </when>
-	    <when value="founders">
-		<!-- Nothing to be added. -->
-	    </when>
-	    <when value="individuals">
-		<!-- Nothing to be added. -->
-	    </when>
-	    <when value="equal">
-		<!-- Nothing to be added. -->
-	    </when>
-	    <when value="file">
-		<param name="file" type="data" format="tabular" label="User Specified file for Allele frequencies" help="Source for allele frequency information."/>
-	    </when>
-	</conditional>
+        <!-- Select input data file -->
+        <param name="pname" type="data" format="txt" label="Entering Data File" help="Selects input data file, in linkage or QTDT format" />
+        <!-- Select input map file -->
+        <param name="mname" type="data" format="txt" label="Entering Map File" help="File indicating chromosome and centimorgan position for each marker. Use with QTDT format input files." />
+        <!-- Select input pedigree file -->
+        <param name="dname" type="data" format="txt" label="Entering Pedigree File" help="Selects pedigree file, with genotype, phenotype and family structure information" />
+        <!-- Beginning of the optional parameters -->
+        <param name="markerNames" type="boolean" truevalue="--markerNames" falsevalue="" optional="true" label="For Marker Serial Optional Parameter" help="Useful to eliminate numbers in positions and introduce serial of MRK Number instead." />
+        <param name="minStep" type="float" optional="true" label="For Minimum Step Optional Parameter" help="Useful to find the minimum value" />
+        <param name="maxStep" type="float" optional="true" label="For Maximum Step Optional Paramter" help="Useful to find the maximum value" />
+        <param name="steps" type="integer" min="0" optional="true" label="n equally spaced locations" help="Carry out analyses at n equally spaced locations to analyse between consecutive markers" />
+        <param name="grid" type="integer" min="0" optional="true" label="n-cM grid of equally spaced locations" help="Carry out analysis along an n-cM grid of equally spaced locations" />
+        <param name="start" type="integer" min="0" optional="true" label="Start analyses" help="Start analyses at pos centiMorgans." />
+        <param name="stop" type="integer" min="0" optional="true" label="Stop analyses" help="Stop analyses at pos centiMorgans." />
+        <param name="randomseed" type="integer" min="0" optional="true" label="Random Sequence" help="Selects a different random sequence for simulation and sampling of haplotypes." />
+        <!-- Beginning of the conditional parameters -->
+        <conditional name="allelefrequency">
+            <param name="allelefreq" type="select" label="Source for allele frequency information" help="Allele frequencies can be set in one of the four options.">
+                <option value="maxlike"> Maximum Likelihood </option>
+                <option value="founders"> Founders </option>
+                <option value="individuals">All Individuals</option>
+                <option value="equal">Assume Equal</option>
+                <option value="file">User File</option>
+            </param>
+            <when value="maxlike">
+                <!-- Nothing to be added. -->
+            </when>
+            <when value="founders">
+                <!-- Nothing to be added. -->
+            </when>
+            <when value="individuals">
+                <!-- Nothing to be added. -->
+            </when>
+            <when value="equal">
+                <!-- Nothing to be added. -->
+            </when>
+            <when value="file">
+                <param name="file" type="data" format="tabular" label="User Specified file for Allele frequencies" help="Source for allele frequency information."/>
+            </when>
+        </conditional>
     </inputs>
     <outputs>
-	<!-- Set of outputs along with the formats. -->
-	<data name="errors" format="txt" from_work_dir="merlin.err" />
-	<data name="flow" format="txt" from_work_dir="merlin.flow" />
-	<data name="chromosome" format="txt" from_work_dir="merlin.chr" />
-	<data name="merlinoutput" format="lod" />
+        <!-- Set of outputs along with the formats. -->
+        <data name="errors" format="txt" from_work_dir="merlin.err" />
+        <data name="flow" format="txt" from_work_dir="merlin.flow" />
+        <data name="chromosome" format="txt" from_work_dir="merlin.chr" />
+        <data name="merlinoutput" format="txt" />
     </outputs>
     <tests>
-	<test>
-	    <!-- No optional parameters used in this test but testing a conditional parameter and random value. -->
-	    <param name="pname" value="parametric.ped"/>
-	    <param name="mname" value="parametric.map"/>
-	    <param name="dname" value="parametric.dat"/>
-	    <param name="allelefreq" value="file"/>
-	    <param name="file" value="alle.txt" />
-	    <param name="randomseed" value="2" />
-	    <output name="merlinoutput">
-		<assert_contents>
-		    <has_text text="MRK1 MRK2 MRK3 MRK4 MRK5 MRK6 MRK7 MRK8 MRK9 MRK10" />
-		    <not_has_text text="--minStep [2]" />
-		    <has_line line="Phenotype: VERY_RARE_DISEASE [ALL] (1 family)" />
-		</assert_contents>
-	    </output>
-	    <output name="chromosome">
-		<assert_contents>
-		    <has_text text="FAMILY 1 [Most Likely]" />
-		    <has_text text="208 (F)          207 (102,101)       305 (208,207)       202 (102,101)" />
-		    <has_text text="4  :  1             4  :  1             3  :  3             3  :  3" />
-		</assert_contents>
-	    </output>
-	    <output name="flow">
-		<assert_contents>
-		    <has_text text="FAMILY 1 [Most Likely]" />
-		    <has_text text="101 (F)             102 (F)             201 (F)             203 (F)" />
-		    <has_text text="A : B               C : D               E : F               G : H" />
-		</assert_contents>
-	    </output>
-	    <output name="errors">
-		<assert_contents>
-		    <has_text text="FAMILY     PERSON     MARKER      RATIO" />
-		</assert_contents>
-	    </output>
-	</test>
-	<test>
-	    <!-- This test uses markerNames optional parameter and maxlike option in this test case leads to error. -->
-	    <param name="pname" value="x.ped"/>
-	    <param name="mname" value="x.map"/>
-	    <param name="dname" value="x.dat"/>
-	    <param name="markerNames" value="true" />
-	    <!-- Selecting allele frequency can be estimated by counting in founders. -->
-	    <param name="allelefreq" value="founders"/>
-	    <param name="randomseed" value="6" />
-	    <output name="merlinoutput">
-		<assert_contents>
-		    <has_text text= "MRK1 MRK2 MRK3 MRK4 MRK5 MRK6 MRK7 MRK8 MRK9 MRK10" />
-		    <has_text text= "Family:     1 - Founders: 2  - Descendants: 2  - Bits: 2" />
-		    <has_text text="Family:     2 - Founders: 2  - Descendants: 2  - Bits: 2" />
-		    <has_text text= "Family:     3 - Founders: 2  - Descendants: 2  - Bits: 2" />
-		    <has_text text= "Family:     4 - Founders: 2  - Descendants: 2  - Bits: 2" />
-		    <has_text text= "Family:     5 - Founders: 2  - Descendants: 2  - Bits: 2" />
-		    <not_has_text text="--minStep [2]" />
-		</assert_contents>
-	    </output>
-	    <output name="chromosome">
-		<assert_contents>
-		    <has_text text="FAMILY 5 [Most Likely]" />
-		    <has_text text="1 (F)               2 (F)              4 (2,1)             3 (2,1)" />
-		    <has_text text="2  :  2             4  :  2             4  :  2             2  :  2" />
-		</assert_contents>
-	    </output>
-	    <output name="flow">
-		<assert_contents>
-		    <has_text text="FAMILY 5 [Most Likely]" />
-		    <has_text text="1 (F)               2 (F)              4 (2,1)             3 (2,1)" />
-		    <has_text text="A : B               C : D               C : A               D : A" />
-		</assert_contents>
-	    </output>
-	    <output name="errors">
-		<assert_contents>
-		    <has_text text="FAMILY     PERSON     MARKER      RATIO" />
-		</assert_contents>
-	    </output>
-	</test>
-	<test>
-	    <!-- This test uses minStep optional parameter -->
-	    <param name="pname" value="haplo.ped"/>
-	    <param name="mname" value="haplo.map"/>
-	    <param name="dname" value="haplo.dat"/>
-	    <!-- Selecting allele frequency can be estimated by counting in all individuals. -->
-	    <param name="allelefreq" value="individuals"/>
-	    <param name="minStep" value="2" />
-	    <param name="randomseed" value="5" />
-	    <output name="merlinoutput">
-		<assert_contents>
-		    <has_text text= "SNP-1 SNP-2 SNP-3" />
-		    <has_text text= "--minStep [2.00]" />
-		    <not_has_text text="--markerNames [ON]" />
-		</assert_contents>
-	    </output>
-	    <output name="chromosome">
-		<assert_contents>
-		    <has_text text="FAMILY 3 [Most Likely]" />
-		    <has_text text="1 (F)               2 (F)              3 (2,1)" />
-		    <has_text text="1,2A : A2,1         2,1A : A1,2         2,1A | A1,2" />
-		</assert_contents>
-	    </output>
-	    <output name="flow">
-		<assert_contents>
-		    <has_text text="FAMILY 3 [Most Likely]" />
-		    <has_text text="1 (F)               2 (F)              3 (2,1)" />
-		    <has_text text="A : B               C : D               C : A" />
-		</assert_contents>
-	    </output>
-	    <output name="errors">
-		<assert_contents>
-		    <has_text text="FAMILY     PERSON     MARKER      RATIO" />
-		</assert_contents>
-	    </output>
-	</test>
-	<test>
-	    <!--This test uses steps optinal parameter -->
-	    <param name="pname" value="asp.ped"/>
-	    <param name="mname" value="asp.map"/>
-	    <param name="dname" value="asp.dat"/>
-	    <!-- Selecting allele frequency can be estimated by assuming equal allele frequencies. -->
-	    <param name="allelefreq" value="equal"/>
-	    <param name="steps" value="3" />
-	    <output name="merlinoutput">
-		<assert_contents>
-		    <has_text text= "Phenotype: affection [ALL] (200 families)" />
-		    <has_text text= "--steps [3]" />
-		    <not_has_text text="--markerNames [ON]" />
-		    <not_has_text text="--minStep [2.00]" />
-		</assert_contents>
-	    </output>
-	    <output name="chromosome">
-		<assert_contents>
-		    <has_text text= "FAMILY 200 [Most Likely]" />
-		    <has_text text= "1 (F)               2 (F)              4 (2,1)             3 (2,1)" />
-		    <has_text text= "4  :  1             4  :  1             4  :  4             1  :  1" />
-		    <has_text text=" 3,4A :  3           4,3A :  3           4,3A | A3,4           3  |  3" />
-		    <has_text text="2,4A : B4,1         4,2A : B1,4         4,2A | A2,4         1,4B | B4,1" />
-		</assert_contents>
-	    </output>
-	    <output name="flow">
-		<assert_contents>
-		    <has_text text= "FAMILY 200 [Most Likely]" />
-		    <has_text text= "1 (F)               2 (F)              4 (2,1)             3 (2,1)" />
-		    <has_text text= "A : B               C : D               C : A               C : A" />
-		    <has_text text="A : B               C : D               C | A               C | A" />
-		    <has_text text="A : B               C : D               C | A               C | A" />
-		</assert_contents>
-	    </output>
-	    <output name="errors">
-		<assert_contents>
-		    <has_text text="FAMILY     PERSON     MARKER      RATIO" />
-		</assert_contents>
-	    </output>
-	</test>
-	<test>
-	    <!-- This test uses grid optional parameter -->
-	    <param name="pname" value="sibs.ped"/>
-	    <param name="mname" value="sibs.map"/>
-	    <param name="dname" value="sibs.dat"/>
-	    <param name="allelefreq" value="maxlike"/>
-	    <param name="grid" value="3" />
-	    <output name="merlinoutput">
-		<assert_contents>
-		    <has_text text= "SNP_1 SNP_2 SNP_3" />
-		    <has_text text= "Family:    29 - Founders: 2  - Descendants: 4  - Bits: 6" />
-		    <has_text text= "--grid [3.00]" />
-		    <not_has_text text="--markerNames [ON]" />
-		    <not_has_text text="--minStep [2.00]" />
-		</assert_contents>
-	    </output>
-	    <output name="chromosome">
-		<assert_contents>
-		    <has_text text="FAMILY 50 [Most Likely]" />
-		    <has_text text="1 (F)               2 (F)              6 (2,1)             5 (2,1)" />
-		    <has_text text="2  :  2             1  :  2             1  :  2             2  :  2" />
-		    <has_text text="2  :  1             1  :  1             1  |  2             1  |  1" />
-		    <has_text text="2  :  1             1  :  1             1  |  2             1  |  1" />
-		</assert_contents>
-	    </output>
-	    <output name="flow">
-		<assert_contents>
-		    <has_text text="FAMILY 50 [Most Likely]" />
-		    <has_text text="1 (F)               2 (F)              6 (2,1)             5 (2,1)" />
-		    <has_text text="A : B               C : D               C : A               C : B" />
-		    <has_text text="A : B               C : D               C | A               C | B" />
-		    <has_text text="A : B               C : D               C | A               C | B" />
-		</assert_contents>
-	    </output>
-	    <output name="errors">
-		<assert_contents>
-		    <has_text text="29          4      SNP_1" />
-		    <has_text text="29          4      SNP_3" />
-		    <has_text text="29          5      SNP_3" />
-		    <has_text text="29          6      SNP_3" />
-		</assert_contents>
-	    </output>
-	</test>
-	<test>
-	    <!-- This test uses start optional parameter along with a conditional parameter -->
-	    <param name="pname" value="assoc.ped"/>
-	    <param name="mname" value="assoc.map"/>
-	    <param name="dname" value="assoc.dat"/>
-	    <param name="allelefreq" value="founders"/>
-	    <param name="start" value="2" />
-	    <output name="merlinoutput">
-		<assert_contents>
-		    <has_text text= "--start [2.00]" />
-		    <not_has_text text="--markerNames [ON]" />
-		    <not_has_text text="--minStep [2.00]" />
-		</assert_contents>
-	    </output>
-	    <output name="chromosome">
-		<assert_contents>
-		    <has_text text="6 (2,1)             5 (2,1)             4 (2,1)             3 (2,1)" />
-		    <has_text text="3  :  3             3  :  3             3  :  1             3  :  1" />
-		    <has_text text="2  |  2             2  |  2             2  |  3             2  |  3" />
-		</assert_contents>
-	    </output>
-	    <output name="flow">
-		<assert_contents>
-		    <has_text text="6 (2,1)             5 (2,1)             4 (2,1)             3 (2,1)" />
-		    <has_text text="E : A               E : A               G : C               E : C" />
-		    <has_text text="E | A               E | A               G | C               E | C" />
-		</assert_contents>
-	    </output>
-	    <output name="errors">
-		<assert_contents>
-		    <has_text text="FAMILY     PERSON     MARKER      RATIO" />
-		</assert_contents>
-	    </output>
-	</test>
-	<test>
-	    <!-- This test uses random optional parameter along with a conditional parameter. -->
-	    <param name="pname" value="basic2.ped"/>
-	    <param name="mname" value="basic2.map"/>
-	    <param name="dname" value="basic2.dat"/>
-	    <param name="allelefreq" value="individuals"/>
-	    <param name="random" value="5" />
-	    <output name="merlinoutput">
-		<assert_contents>
-		    <has_text text= "Phenotype: some_disease [ALL] (1 family)" />
-		    <has_text text= "Pos   Zmean  pvalue    delta    LOD  pvalue" />
-		    <not_has_text text="--markerNames [ON]" />
-		    <not_has_text text="--minStep [2.00]" />
-		</assert_contents>
-	    </output>
-	    <output name="chromosome">
-		<assert_contents>
-		    <has_text text="1 (F)               2 (F)               3 (F)              4 (2,1)" />
-		    <has_text text="3  :  3             4  :  4             2  :  1             4  :  3" />
-		    <has_text text="2  :  ?             2  :  ?             2  :  2             2  |  2" />
-		</assert_contents>
-	    </output>
-	    <output name="flow">
-		<assert_contents>
-		    <has_text text="FAMILY 1 [Most Likely]" />
-		    <has_text text="1 (F)               2 (F)               3 (F)              4 (2,1)" />
-		    <has_text text="A : B               C : D               E : F               C : A" />
-		</assert_contents>
-	    </output>
-	    <output name="errors">
-		<assert_contents>
-		    <has_text text="FAMILY     PERSON     MARKER      RATIO" />
-		</assert_contents>
-	    </output>
-	</test>
-	<test>
-	    <!-- This test uses two optional parameters along with a conditional parameter. -->
-	    <param name="pname" value="error.ped"/>
-	    <param name="mname" value="error.map"/>
-	    <param name="dname" value="error.dat"/>
-	    <param name="allelefreq" value="equal"/>
-	    <param name="start" value="3" />
-	    <param name="markerNames" value="true" />
-	    <output name="merlinoutput">
-		<assert_contents>
-		    <has_text text= "Family:     2 - Founders: 2  - Descendants: 2  - Bits: 2" />
-		    <has_text text= "Family:    73 - Founders: 2  - Descendants: 2  - Bits: 2" />
-		    <has_text text= "Family:    81 - Founders: 2  - Descendants: 2  - Bits: 2" />
-		    <has_text text= "Family:    94 - Founders: 2  - Descendants: 2  - Bits: 2" />
-		    <has_text text= "Family:   136 - Founders: 2  - Descendants: 2  - Bits: 2" />
-		    <has_text text= "Family:   162 - Founders: 2  - Descendants: 2  - Bits: 2" />
-		    <has_text text= "Family:   164 - Founders: 2  - Descendants: 2  - Bits: 2" />
-		    <has_text text= "--start [3.00]" />
-		    <has_text text="--markerNames [ON]" />
-		    <not_has_text text="--minStep [2.00]" />
-		</assert_contents>
-	    </output>
-	    <output name="chromosome">
-		<assert_contents>
-		    <has_text text="FAMILY 200 [Most Likely]" />
-		    <has_text text="1 (F)               2 (F)              4 (2,1)             3 (2,1)" />
-		    <has_text text="4  :  1             4  :  1             4  :  4             1  :  1" />
-		    <has_text text="3,4A :  3           4,3A :  3           4,3A | A3,4           3  |  3" />
-		    <has_text text="2,4A : B4,1         4,2A : B1,4         4,2A | A2,4         1,4B | B4,1" />
-		</assert_contents>
-	    </output>
-	    <output name="flow">
-		<assert_contents>
-		    <has_text text="FAMILY 200 [Most Likely]" />
-		    <has_text text="  A : B               C : D               C : A               D : B" />
-		    <has_text text="A : B               C : D               C | A               D | B" />
-		    <has_text text="A : B               C : D               C | A               D | B" />
-		    <has_text text="A : B               C : D               C | A               D \ A" />
-		</assert_contents>
-	    </output>
-	    <output name="errors">
-		<assert_contents>
-		    <has_text text="2          3      MRK11    0.00352" />
-		    <has_text text="2          4      MRK11    0.00352" />
-		    <has_text text="73          3      MRK17    0.00983" />
-		    <has_text text="73          4      MRK17    0.00983" />
-		</assert_contents>
-	    </output>
-	</test>
-	<test>
-	    <!-- This test uses three optional parameters along with a conditional parameter. -->
-	    <param name="pname" value="gene.ped"/>
-	    <param name="mname" value="gene.map"/>
-	    <param name="dname" value="gene.dat"/>
-	    <param name="steps" value="3" />
-	    <param name="grid" value="2" />
-	    <param name="stop" value="4" />
-	    <param name="randomseed" value="5" />
-	    <param name="allelefreq" value="founders"/>
-	    <output name="merlinoutput">
-		<assert_contents>
-		    <has_text text= "SNP-1 SNP-2 SNP-3 SNP-4 SNP-5 SNP-6 SNP-7 SNP-8" />
-		    <has_text text= "--stop [4.00]" />
-		    <has_text text= "--steps [3]" />
-		    <has_text text= "--grid [2.00]" />
-		    <not_has_text text="--markerNames [ON]" />
-		    <not_has_text text="--minStep [2.00]" />
-		</assert_contents>
-	    </output>
-	    <output name="chromosome">
-		<assert_contents>
-		    <has_text text="FAMILY 12 [Most Likely]" />
-		    <has_text text="1 (F)               2 (F)               3 (F)               4 (F)" />
-		    <has_text text="6 (4,3)             5 (2,1)             8 (6,5)             7 (6,5)" />
-		</assert_contents>
-	    </output>
-	    <output name="flow">
-		<assert_contents>
-		    <has_text text="6 (4,3)             5 (2,1)             8 (6,5)             7 (6,5)" />
-		    <has_text text="G : E               C : A               G : A               G : A" />
-		    <has_text text="G | E               C | A               G | A               G | A" />
-		</assert_contents>
-	    </output>
-	    <output name="errors">
-		<assert_contents>
-		    <has_text text="FAMILY     PERSON     MARKER      RATIO" />
-		</assert_contents>
-	    </output>
-	</test>
-	<test>
-	    <!-- This test uses all of the optional parameters along with a conditional paramter. -->
-	    <param name="pname" value="snp-scan.ped"/>
-	    <param name="mname" value="snp-scan.map"/>
-	    <param name="dname" value="snp-scan.dat"/>
-	    <param name="markerNames" value="true" />
-	    <param name="minStep" value="5" />
-	    <param name="maxStep" value="6" />
-	    <param name="steps" value="2" />
-	    <param name="allelefreq" value="equal"/>
-	    <param name="grid" value="4" />
-	    <param name="start" value="2" />
-	    <param name="stop" value="3" />
-	    <param name="randomseed" value="6" />
-	    <output name="merlinoutput">
-		<assert_contents>
-		    <has_text text= "--markerNames [ON]" />
-		    <has_text text= "--minStep [5.00]" />
-		    <has_text text= "--maxStep [6.00]" />
-		    <has_text text= "--steps [2]" />
-		    <has_text text= "--grid [4.00]" />
-		    <has_text text= "--start [2.00]" />
-		    <has_text text= "--stop [3.00]" />
-		</assert_contents>
-	    </output>
-	    <output name="chromosome">
-		<assert_contents>
-		    <has_text text= "FAMILY 500 [Most Likely]" />
-		    <has_text text= "3,1A : A1,3         1,3A : A3,1         1,3A | A3,1         3,1A | A1,3" />
-		    <has_text text= "4,1A : A1,4         1,4A : A4,1         1,4A | A4,1         4,1A | A1,4" />
-		    <has_text text= "4,1A : A1,4         1,4A : A4,1         1,4A | A4,1         4,1A | A1,4" />
-		    <has_text text= "1,3A : A3,1         3,1A : A1,3         3,1A | A1,3         1,3A | A3,1" />
-		</assert_contents>
-	    </output>
-	    <output name="flow">
-		<assert_contents>
-		    <has_text text= "FAMILY 500 [Most Likely]" />
-		    <has_text text= " 1 (F)               2 (F)              5 (2,1)             4 (2,1)" />
-		    <has_text text= " A : B               C : D               C : A               D : B" />
-		    <has_text text= "A : B               C : D               C | A               D | B" />
-		    <has_text text= "A : B               C : D               C | A               D | B" />
-		</assert_contents>
-	    </output>
-	    <output name="errors">
-		<assert_contents>
-		    <has_text text= "118          3  rs9510743     0.0239"/>
-		    <has_text text= "197          1  rs9580624     0.0230"/>
-		    <has_text text= "296          1  rs9510743    0.00914" />
-		</assert_contents>
-	    </output>
-	</test>
+        <test>
+            <!-- No optional parameters used in this test but testing a conditional parameter and random value. -->
+            <param name="pname" value="parametric.ped"/>
+            <param name="mname" value="parametric.map"/>
+            <param name="dname" value="parametric.dat"/>
+            <param name="allelefreq" value="file"/>
+            <param name="file" value="alle.txt" />
+            <param name="randomseed" value="2" />
+            <output name="merlinoutput">
+                <assert_contents>
+                    <has_text text="MRK1 MRK2 MRK3 MRK4 MRK5 MRK6 MRK7 MRK8 MRK9 MRK10" />
+                    <not_has_text text="--minStep [2]" />
+                    <has_line line="Phenotype: VERY_RARE_DISEASE [ALL] (1 family)" />
+                </assert_contents>
+            </output>
+            <output name="chromosome">
+                <assert_contents>
+                    <has_text text="FAMILY 1 [Most Likely]" />
+                    <has_text text="208 (F)          207 (102,101)       305 (208,207)       202 (102,101)" />
+                    <has_text text="4  :  1             4  :  1             3  :  3             3  :  3" />
+                </assert_contents>
+            </output>
+            <output name="flow">
+                <assert_contents>
+                    <has_text text="FAMILY 1 [Most Likely]" />
+                    <has_text text="101 (F)             102 (F)             201 (F)             203 (F)" />
+                    <has_text text="A : B               C : D               E : F               G : H" />
+                </assert_contents>
+            </output>
+            <output name="errors">
+                <assert_contents>
+                    <has_text text="FAMILY     PERSON     MARKER      RATIO" />
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <!-- This test uses markerNames optional parameter and maxlike option in this test case leads to error. -->
+            <param name="pname" value="x.ped"/>
+            <param name="mname" value="x.map"/>
+            <param name="dname" value="x.dat"/>
+            <param name="markerNames" value="true" />
+            <!-- Selecting allele frequency can be estimated by counting in founders. -->
+            <param name="allelefreq" value="founders"/>
+            <param name="randomseed" value="6" />
+            <output name="merlinoutput">
+                <assert_contents>
+                    <has_text text= "MRK1 MRK2 MRK3 MRK4 MRK5 MRK6 MRK7 MRK8 MRK9 MRK10" />
+                    <has_text text= "Family:     1 - Founders: 2  - Descendants: 2  - Bits: 2" />
+                    <has_text text="Family:     2 - Founders: 2  - Descendants: 2  - Bits: 2" />
+                    <has_text text= "Family:     3 - Founders: 2  - Descendants: 2  - Bits: 2" />
+                    <has_text text= "Family:     4 - Founders: 2  - Descendants: 2  - Bits: 2" />
+                    <has_text text= "Family:     5 - Founders: 2  - Descendants: 2  - Bits: 2" />
+                    <not_has_text text="--minStep [2]" />
+                </assert_contents>
+            </output>
+            <output name="chromosome">
+                <assert_contents>
+                    <has_text text="FAMILY 5 [Most Likely]" />
+                    <has_text text="1 (F)               2 (F)              4 (2,1)             3 (2,1)" />
+                    <has_text text="2  :  2             4  :  2             4  :  2             2  :  2" />
+                </assert_contents>
+            </output>
+            <output name="flow">
+                <assert_contents>
+                    <has_text text="FAMILY 5 [Most Likely]" />
+                    <has_text text="1 (F)               2 (F)              4 (2,1)             3 (2,1)" />
+                    <has_text text="A : B               C : D               C : A               D : A" />
+                </assert_contents>
+            </output>
+            <output name="errors">
+                <assert_contents>
+                    <has_text text="FAMILY     PERSON     MARKER      RATIO" />
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <!-- This test uses minStep optional parameter -->
+            <param name="pname" value="haplo.ped"/>
+            <param name="mname" value="haplo.map"/>
+            <param name="dname" value="haplo.dat"/>
+            <!-- Selecting allele frequency can be estimated by counting in all individuals. -->
+            <param name="allelefreq" value="individuals"/>
+            <param name="minStep" value="2" />
+            <param name="randomseed" value="5" />
+            <output name="merlinoutput">
+                <assert_contents>
+                    <has_text text= "SNP-1 SNP-2 SNP-3" />
+                    <has_text text= "--minStep [2.00]" />
+                    <not_has_text text="--markerNames [ON]" />
+                </assert_contents>
+            </output>
+            <output name="chromosome">
+                <assert_contents>
+                    <has_text text="FAMILY 3 [Most Likely]" />
+                    <has_text text="1 (F)               2 (F)              3 (2,1)" />
+                    <has_text text="1,2A : A2,1         2,1A : A1,2         2,1A | A1,2" />
+                </assert_contents>
+            </output>
+            <output name="flow">
+                <assert_contents>
+                    <has_text text="FAMILY 3 [Most Likely]" />
+                    <has_text text="1 (F)               2 (F)              3 (2,1)" />
+                    <has_text text="A : B               C : D               C : A" />
+                </assert_contents>
+            </output>
+            <output name="errors">
+                <assert_contents>
+                    <has_text text="FAMILY     PERSON     MARKER      RATIO" />
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <!--This test uses steps optinal parameter -->
+            <param name="pname" value="asp.ped"/>
+            <param name="mname" value="asp.map"/>
+            <param name="dname" value="asp.dat"/>
+            <!-- Selecting allele frequency can be estimated by assuming equal allele frequencies. -->
+            <param name="allelefreq" value="equal"/>
+            <param name="steps" value="3" />
+            <output name="merlinoutput">
+                <assert_contents>
+                    <has_text text= "Phenotype: affection [ALL] (200 families)" />
+                    <has_text text= "--steps [3]" />
+                    <not_has_text text="--markerNames [ON]" />
+                    <not_has_text text="--minStep [2.00]" />
+                </assert_contents>
+            </output>
+            <output name="chromosome">
+                <assert_contents>
+                    <has_text text= "FAMILY 200 [Most Likely]" />
+                    <has_text text= "1 (F)               2 (F)              4 (2,1)             3 (2,1)" />
+                    <has_text text= "4  :  1             4  :  1             4  :  4             1  :  1" />
+                    <has_text text=" 3,4A :  3           4,3A :  3           4,3A | A3,4           3  |  3" />
+                    <has_text text="2,4A : B4,1         4,2A : B1,4         4,2A | A2,4         1,4B | B4,1" />
+                </assert_contents>
+            </output>
+            <output name="flow">
+                <assert_contents>
+                    <has_text text= "FAMILY 200 [Most Likely]" />
+                    <has_text text= "1 (F)               2 (F)              4 (2,1)             3 (2,1)" />
+                    <has_text text= "A : B               C : D               C : A               C : A" />
+                    <has_text text="A : B               C : D               C | A               C | A" />
+                    <has_text text="A : B               C : D               C | A               C | A" />
+                </assert_contents>
+            </output>
+            <output name="errors">
+                <assert_contents>
+                    <has_text text="FAMILY     PERSON     MARKER      RATIO" />
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <!-- This test uses grid optional parameter -->
+            <param name="pname" value="sibs.ped"/>
+            <param name="mname" value="sibs.map"/>
+            <param name="dname" value="sibs.dat"/>
+            <param name="allelefreq" value="maxlike"/>
+            <param name="grid" value="3" />
+            <output name="merlinoutput">
+                <assert_contents>
+                    <has_text text= "SNP_1 SNP_2 SNP_3" />
+                    <has_text text= "Family:    29 - Founders: 2  - Descendants: 4  - Bits: 6" />
+                    <has_text text= "--grid [3.00]" />
+                    <not_has_text text="--markerNames [ON]" />
+                    <not_has_text text="--minStep [2.00]" />
+                </assert_contents>
+            </output>
+            <output name="chromosome">
+                <assert_contents>
+                    <has_text text="FAMILY 50 [Most Likely]" />
+                    <has_text text="1 (F)               2 (F)              6 (2,1)             5 (2,1)" />
+                    <has_text text="2  :  2             1  :  2             1  :  2             2  :  2" />
+                    <has_text text="2  :  1             1  :  1             1  |  2             1  |  1" />
+                    <has_text text="2  :  1             1  :  1             1  |  2             1  |  1" />
+                </assert_contents>
+            </output>
+            <output name="flow">
+                <assert_contents>
+                    <has_text text="FAMILY 50 [Most Likely]" />
+                    <has_text text="1 (F)               2 (F)              6 (2,1)             5 (2,1)" />
+                    <has_text text="A : B               C : D               C : A               C : B" />
+                    <has_text text="A : B               C : D               C | A               C | B" />
+                    <has_text text="A : B               C : D               C | A               C | B" />
+                </assert_contents>
+            </output>
+            <output name="errors">
+                <assert_contents>
+                    <has_text text="29          4      SNP_1" />
+                    <has_text text="29          4      SNP_3" />
+                    <has_text text="29          5      SNP_3" />
+                    <has_text text="29          6      SNP_3" />
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <!-- This test uses start optional parameter along with a conditional parameter -->
+            <param name="pname" value="assoc.ped"/>
+            <param name="mname" value="assoc.map"/>
+            <param name="dname" value="assoc.dat"/>
+            <param name="allelefreq" value="founders"/>
+            <param name="start" value="2" />
+            <output name="merlinoutput">
+                <assert_contents>
+                    <has_text text= "--start [2.00]" />
+                    <not_has_text text="--markerNames [ON]" />
+                    <not_has_text text="--minStep [2.00]" />
+                </assert_contents>
+            </output>
+            <output name="chromosome">
+                <assert_contents>
+                    <has_text text="6 (2,1)             5 (2,1)             4 (2,1)             3 (2,1)" />
+                    <has_text text="3  :  3             3  :  3             3  :  1             3  :  1" />
+                    <has_text text="2  |  2             2  |  2             2  |  3             2  |  3" />
+                </assert_contents>
+            </output>
+            <output name="flow">
+                <assert_contents>
+                    <has_text text="6 (2,1)             5 (2,1)             4 (2,1)             3 (2,1)" />
+                    <has_text text="E : A               E : A               G : C               E : C" />
+                    <has_text text="E | A               E | A               G | C               E | C" />
+                </assert_contents>
+            </output>
+            <output name="errors">
+                <assert_contents>
+                    <has_text text="FAMILY     PERSON     MARKER      RATIO" />
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <!-- This test uses random optional parameter along with a conditional parameter. -->
+            <param name="pname" value="basic2.ped"/>
+            <param name="mname" value="basic2.map"/>
+            <param name="dname" value="basic2.dat"/>
+            <param name="allelefreq" value="individuals"/>
+            <param name="random" value="5" />
+            <output name="merlinoutput">
+                <assert_contents>
+                    <has_text text= "Phenotype: some_disease [ALL] (1 family)" />
+                    <has_text text= "Pos   Zmean  pvalue    delta    LOD  pvalue" />
+                    <not_has_text text="--markerNames [ON]" />
+                    <not_has_text text="--minStep [2.00]" />
+                </assert_contents>
+            </output>
+            <output name="chromosome">
+                <assert_contents>
+                    <has_text text="1 (F)               2 (F)               3 (F)              4 (2,1)" />
+                    <has_text text="3  :  3             4  :  4             2  :  1             4  :  3" />
+                    <has_text text="2  :  ?             2  :  ?             2  :  2             2  |  2" />
+                </assert_contents>
+            </output>
+            <output name="flow">
+                <assert_contents>
+                    <has_text text="FAMILY 1 [Most Likely]" />
+                    <has_text text="1 (F)               2 (F)               3 (F)              4 (2,1)" />
+                    <has_text text="A : B               C : D               E : F               C : A" />
+                </assert_contents>
+            </output>
+            <output name="errors">
+                <assert_contents>
+                    <has_text text="FAMILY     PERSON     MARKER      RATIO" />
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <!-- This test uses two optional parameters along with a conditional parameter. -->
+            <param name="pname" value="error.ped"/>
+            <param name="mname" value="error.map"/>
+            <param name="dname" value="error.dat"/>
+            <param name="allelefreq" value="equal"/>
+            <param name="start" value="3" />
+            <param name="markerNames" value="true" />
+            <output name="merlinoutput">
+                <assert_contents>
+                    <has_text text= "Family:     2 - Founders: 2  - Descendants: 2  - Bits: 2" />
+                    <has_text text= "Family:    73 - Founders: 2  - Descendants: 2  - Bits: 2" />
+                    <has_text text= "Family:    81 - Founders: 2  - Descendants: 2  - Bits: 2" />
+                    <has_text text= "Family:    94 - Founders: 2  - Descendants: 2  - Bits: 2" />
+                    <has_text text= "Family:   136 - Founders: 2  - Descendants: 2  - Bits: 2" />
+                    <has_text text= "Family:   162 - Founders: 2  - Descendants: 2  - Bits: 2" />
+                    <has_text text= "Family:   164 - Founders: 2  - Descendants: 2  - Bits: 2" />
+                    <has_text text= "--start [3.00]" />
+                    <has_text text="--markerNames [ON]" />
+                    <not_has_text text="--minStep [2.00]" />
+                </assert_contents>
+            </output>
+            <output name="chromosome">
+                <assert_contents>
+                    <has_text text="FAMILY 200 [Most Likely]" />
+                    <has_text text="1 (F)               2 (F)              4 (2,1)             3 (2,1)" />
+                    <has_text text="4  :  1             4  :  1             4  :  4             1  :  1" />
+                    <has_text text="3,4A :  3           4,3A :  3           4,3A | A3,4           3  |  3" />
+                    <has_text text="2,4A : B4,1         4,2A : B1,4         4,2A | A2,4         1,4B | B4,1" />
+                </assert_contents>
+            </output>
+            <output name="flow">
+                <assert_contents>
+                    <has_text text="FAMILY 200 [Most Likely]" />
+                    <has_text text="  A : B               C : D               C : A               D : B" />
+                    <has_text text="A : B               C : D               C | A               D | B" />
+                    <has_text text="A : B               C : D               C | A               D | B" />
+                    <has_text text="A : B               C : D               C | A               D \ A" />
+                </assert_contents>
+            </output>
+            <output name="errors">
+                <assert_contents>
+                    <has_text text="2          3      MRK11    0.00352" />
+                    <has_text text="2          4      MRK11    0.00352" />
+                    <has_text text="73          3      MRK17    0.00983" />
+                    <has_text text="73          4      MRK17    0.00983" />
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <!-- This test uses three optional parameters along with a conditional parameter. -->
+            <param name="pname" value="gene.ped"/>
+            <param name="mname" value="gene.map"/>
+            <param name="dname" value="gene.dat"/>
+            <param name="steps" value="3" />
+            <param name="grid" value="2" />
+            <param name="stop" value="4" />
+            <param name="randomseed" value="5" />
+            <param name="allelefreq" value="founders"/>
+            <output name="merlinoutput">
+                <assert_contents>
+                    <has_text text= "SNP-1 SNP-2 SNP-3 SNP-4 SNP-5 SNP-6 SNP-7 SNP-8" />
+                    <has_text text= "--stop [4.00]" />
+                    <has_text text= "--steps [3]" />
+                    <has_text text= "--grid [2.00]" />
+                    <not_has_text text="--markerNames [ON]" />
+                    <not_has_text text="--minStep [2.00]" />
+                </assert_contents>
+            </output>
+            <output name="chromosome">
+                <assert_contents>
+                    <has_text text="FAMILY 12 [Most Likely]" />
+                    <has_text text="1 (F)               2 (F)               3 (F)               4 (F)" />
+                    <has_text text="6 (4,3)             5 (2,1)             8 (6,5)             7 (6,5)" />
+                </assert_contents>
+            </output>
+            <output name="flow">
+                <assert_contents>
+                    <has_text text="6 (4,3)             5 (2,1)             8 (6,5)             7 (6,5)" />
+                    <has_text text="G : E               C : A               G : A               G : A" />
+                    <has_text text="G | E               C | A               G | A               G | A" />
+                </assert_contents>
+            </output>
+            <output name="errors">
+                <assert_contents>
+                    <has_text text="FAMILY     PERSON     MARKER      RATIO" />
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <!-- This test uses all of the optional parameters along with a conditional paramter. -->
+            <param name="pname" value="snp-scan.ped"/>
+            <param name="mname" value="snp-scan.map"/>
+            <param name="dname" value="snp-scan.dat"/>
+            <param name="markerNames" value="true" />
+            <param name="minStep" value="5" />
+            <param name="maxStep" value="6" />
+            <param name="steps" value="2" />
+            <param name="allelefreq" value="equal"/>
+            <param name="grid" value="4" />
+            <param name="start" value="2" />
+            <param name="stop" value="3" />
+            <param name="randomseed" value="6" />
+            <output name="merlinoutput">
+                <assert_contents>
+                    <has_text text= "--markerNames [ON]" />
+                    <has_text text= "--minStep [5.00]" />
+                    <has_text text= "--maxStep [6.00]" />
+                    <has_text text= "--steps [2]" />
+                    <has_text text= "--grid [4.00]" />
+                    <has_text text= "--start [2.00]" />
+                    <has_text text= "--stop [3.00]" />
+                </assert_contents>
+            </output>
+            <output name="chromosome">
+                <assert_contents>
+                    <has_text text= "FAMILY 500 [Most Likely]" />
+                    <has_text text= "3,1A : A1,3         1,3A : A3,1         1,3A | A3,1         3,1A | A1,3" />
+                    <has_text text= "4,1A : A1,4         1,4A : A4,1         1,4A | A4,1         4,1A | A1,4" />
+                    <has_text text= "4,1A : A1,4         1,4A : A4,1         1,4A | A4,1         4,1A | A1,4" />
+                    <has_text text= "1,3A : A3,1         3,1A : A1,3         3,1A | A1,3         1,3A | A3,1" />
+                </assert_contents>
+            </output>
+            <output name="flow">
+                <assert_contents>
+                    <has_text text= "FAMILY 500 [Most Likely]" />
+                    <has_text text= " 1 (F)               2 (F)              5 (2,1)             4 (2,1)" />
+                    <has_text text= " A : B               C : D               C : A               D : B" />
+                    <has_text text= "A : B               C : D               C | A               D | B" />
+                    <has_text text= "A : B               C : D               C | A               D | B" />
+                </assert_contents>
+            </output>
+            <output name="errors">
+                <assert_contents>
+                    <has_text text= "118          3  rs9510743     0.0239"/>
+                    <has_text text= "197          1  rs9580624     0.0230"/>
+                    <has_text text= "296          1  rs9510743    0.00914" />
+                </assert_contents>
+            </output>
+        </test>
     </tests>
     <help>
-	<![CDATA[ Finding disease genes using high-density single-nucleotide polymorphism (SNP) maps is a complicated task. By representing patterns of gene flow using sparse binary trees in general pedigrees using only the needed resources and then by deriving pedigree traversals algorithms, the likelihood calculations of the disease genes for the single marker or multi-marker can be carried out efficiently.
+    <![CDATA[ Finding disease genes using high-density single-nucleotide polymorphism (SNP) maps is a complicated task. By representing patterns of gene flow using sparse binary trees in general pedigrees using only the needed resources and then by deriving pedigree traversals algorithms, the likelihood calculations of the disease genes for the single marker or multi-marker can be carried out efficiently.
 
 `Multipoint Engine for Rapid Likelihood Inference (Merlin) is a computer program that ignores the unlikely possibility of a large number of recombinants on a multipoint calculation. This choice of Merlin increases the speed for pedigree analysis with accurate results.
 <http://csg.sph.umich.edu/abecasis/merlin/tour/linkage.html>`_
 
 `Merlin performs pedigree analysis by representing the gene flow in pedigrees using a sparse inheritance tree. It also performs rapid haplotyping, genotype error detection, and affected pair linkage analyses and can handle more markers than other pedigree analysis packages.  <http://csg.sph.umich.edu/abecasis/merlin/tour/linkage.html>`_
 
-	Information:
-	1. A pedigree is a genetic representation of a family tree that picturizes the inheritance of a trait or disease through several generations.
-	2. Gene Flow is the transfer of genetic variation from one population to another.
-	3. Sparse Tree: A two-dimensional matrix with m rows and n columns with most of its elements being zero.
-	4. Haplotype: It is a combination of alleles or set of single nucleotide polymorphisms on the same chromosome is a set of DNA variations, or polymorphisms, that tend to be inherited together.
-	5. Genotype Error: It occurs when the observed genotype of an individual does not correspond to the true genotype
+    Information:
+    1. A pedigree is a genetic representation of a family tree that picturizes the inheritance of a trait or disease through several generations.
+    2. Gene Flow is the transfer of genetic variation from one population to another.
+    3. Sparse Tree: A two-dimensional matrix with m rows and n columns with most of its elements being zero.
+    4. Haplotype: It is a combination of alleles or set of single nucleotide polymorphisms on the same chromosome is a set of DNA variations, or polymorphisms, that tend to be inherited together.
+    5. Genotype Error: It occurs when the observed genotype of an individual does not correspond to the true genotype
  ]]>
     </help>
     <citations>
-	<citation type="doi">10.1038/ng786</citation>
-	<citation type="doi">10.1086/381652</citation>
-	<citation type="doi">10.1002/gepi.20151</citation>
-	<citation type="doi">10.1086/521580</citation>
+    <citation type="doi">10.1038/ng786</citation>
+    <citation type="doi">10.1086/381652</citation>
+    <citation type="doi">10.1002/gepi.20151</citation>
+    <citation type="doi">10.1086/521580</citation>
     </citations>
 </tool>