view structure-923cc9e6aa30/Structure.xml @ 0:2c0b270dae70 draft default tip

Uploaded
author ylebrascnrs
date Thu, 14 Sep 2017 08:33:05 -0400 (2017-09-14)
parents
children
line wrap: on
line source
<tool id="Structure" name="Structure" version="1.0.1">
  <description>model-based clustering method for inferring population structure using genotype data</description>

<command interpreter="python">
Structure.py
--input $input
--param $parameters
--extraparam $extraparameters
#if str( $options_pops.options_pops_selector ) == "yes":
--K $options_pops.k_value
#if str( $options_pops.options_popsvar.options_popsvar_selector ) == "yes":
#if str( $options_pops.options_popsvar.options_popsnumber.options_popsnumber_selector ) == "2":
--k2 $options_pops.options_popsvar.options_popsnumber.k2
#end if
#if str( $options_pops.options_popsvar.options_popsnumber.options_popsnumber_selector ) == "3":
--k2 $options_pops.options_popsvar.options_popsnumber.k2
--k3 $options_pops.options_popsvar.options_popsnumber.k3
#end if
#if str( $options_pops.options_popsvar.options_popsnumber.options_popsnumber_selector ) == "4":
--k2 $options_pops.options_popsvar.options_popsnumber.k2
--k3 $options_pops.options_popsvar.options_popsnumber.k3
--k4 $options_pops.options_popsvar.options_popsnumber.k4
#end if
#if str( $options_pops.options_popsvar.options_popsnumber.options_popsnumber_selector ) == "5":
--k2 $options_pops.options_popsvar.options_popsnumber.k2
--k3 $options_pops.options_popsvar.options_popsnumber.k3
--k4 $options_pops.options_popsvar.options_popsnumber.k4
--k5 $options_pops.options_popsvar.options_popsnumber.k5
#end if
#if str( $options_pops.options_popsvar.options_popsnumber.options_popsnumber_selector ) == "6":
--k2 $options_pops.options_popsvar.options_popsnumber.k2
--k3 $options_pops.options_popsvar.options_popsnumber.k3
--k4 $options_pops.options_popsvar.options_popsnumber.k4
--k5 $options_pops.options_popsvar.options_popsnumber.k5
--k6 $options_pops.options_popsvar.options_popsnumber.k6
#end if
#if str( $options_pops.options_popsvar.options_popsnumber.options_popsnumber_selector ) == "7":
--k2 $options_pops.options_popsvar.options_popsnumber.k2
--k3 $options_pops.options_popsvar.options_popsnumber.k3
--k4 $options_pops.options_popsvar.options_popsnumber.k4
--k5 $options_pops.options_popsvar.options_popsnumber.k5
--k6 $options_pops.options_popsvar.options_popsnumber.k6
--k7 $options_pops.options_popsvar.options_popsnumber.k7
#end if
#if str( $options_pops.options_popsvar.options_popsnumber.options_popsnumber_selector ) == "8":
--k2 $options_pops.options_popsvar.options_popsnumber.k2
--k3 $options_pops.options_popsvar.options_popsnumber.k3
--k4 $options_pops.options_popsvar.options_popsnumber.k4
--k5 $options_pops.options_popsvar.options_popsnumber.k5
--k6 $options_pops.options_popsvar.options_popsnumber.k6
--k7 $options_pops.options_popsvar.options_popsnumber.k7
--k8 $options_pops.options_popsvar.options_popsnumber.k8
#end if
#if str( $options_pops.options_popsvar.options_popsnumber.options_popsnumber_selector ) == "9":
--k2 $options_pops.options_popsvar.options_popsnumber.k2
--k3 $options_pops.options_popsvar.options_popsnumber.k3
--k4 $options_pops.options_popsvar.options_popsnumber.k4
--k5 $options_pops.options_popsvar.options_popsnumber.k5
--k6 $options_pops.options_popsvar.options_popsnumber.k6
--k7 $options_pops.options_popsvar.options_popsnumber.k7
--k8 $options_pops.options_popsvar.options_popsnumber.k8
--k9 $options_pops.options_popsvar.options_popsnumber.k9
#end if
#if str( $options_pops.options_popsvar.options_popsnumber.options_popsnumber_selector ) == "10":
--k2 $options_pops.options_popsvar.options_popsnumber.k2
--k3 $options_pops.options_popsvar.options_popsnumber.k3
--k4 $options_pops.options_popsvar.options_popsnumber.k4
--k5 $options_pops.options_popsvar.options_popsnumber.k5
--k6 $options_pops.options_popsvar.options_popsnumber.k6
--k7 $options_pops.options_popsvar.options_popsnumber.k7
--k8 $options_pops.options_popsvar.options_popsnumber.k8
--k9 $options_pops.options_popsvar.options_popsnumber.k9
--k10 $options_pops.options_popsvar.options_popsnumber.k10
#end if
#end if
#end if
--t $sevruns
#if str( $options_ind.options_ind_selector ) == "yes":
--N $options_ind.N_value
#end if
#if str( $options_loci.options_loci_selector ) == "yes":
--L $options_loci.L_value
#end if
#if str( $options_seed.options_seed_selector ) == "yes":
--D $options_seed.D_value
#end if
--logfile $output
--id $output.id
--workdir $__new_file_path__
--compress_output $output_compress
--total_output $total_output
</command>

<inputs>
	
	<param name="input" type="data" format="txt" label="Read from file" help="input data file for structure" />
	<param name="parameters" type="data" format="txt" label="Read from file" help="input mainparameters file for structure" />
	<param name="extraparameters" type="data" format="txt" label="Read from file" help="input extraparameters file for structure" />
	<conditional name="options_pops">
		<param name="options_pops_selector" type="select" label="Did you want modify the K (number of populations) value?">
			<option value="yes">Yes</option>
			<option value="no" selected="true">No</option>
		</param>
		<when value="yes">
			<param name="k_value" type="integer" value="2" label="Give the new K value"/>
			<conditional name="options_popsvar">
				<param name="options_popsvar_selector" type="select" label="Did you want specify others K values?">
					<option value="yes">Yes, more that one</option>
					<option value="no" selected="true">No, only one</option>
				</param>
				<when value="yes">
					<conditional name="options_popsnumber">
						<param name="options_popsnumber_selector" type="select" label="How many K values?">
							<option value="2" selected="true">2</option>
							<option value="3">3</option>
							<option value="4">4</option>
							<option value="5">5</option>
							<option value="6">6</option>
							<option value="7">7</option>
							<option value="8">8</option>
							<option value="9">9</option>
							<option value="10">10</option>
						</param>
						<when value="2">
							<param name="k2" type="integer" value="2" label="Give the second K value"/>
						</when>
						<when value="3">
							<param name="k2" type="integer" value="2" label="Give the second K value"/>
							<param name="k3" type="integer" value="3" label="Give the third K value"/>
						</when>
						<when value="4">
							<param name="k2" type="integer" value="2" label="Give the second K value"/>
							<param name="k3" type="integer" value="3" label="Give the third K value"/>
							<param name="k4" type="integer" value="4" label="Give the fourth K value"/>
						</when>
						<when value="5">
							<param name="k2" type="integer" value="2" label="Give the second K value"/>
							<param name="k3" type="integer" value="3" label="Give the third K value"/>
							<param name="k4" type="integer" value="4" label="Give the fourth K value"/>
							<param name="k5" type="integer" value="5" label="Give the fifth K value"/>
						</when>
						<when value="6">
							<param name="k2" type="integer" value="2" label="Give the second K value"/>
							<param name="k3" type="integer" value="3" label="Give the third K value"/>
							<param name="k4" type="integer" value="4" label="Give the fourth K value"/>
							<param name="k5" type="integer" value="5" label="Give the fifth K value"/>
							<param name="k6" type="integer" value="6" label="Give the sixth K value"/>
						</when>
						<when value="7">
							<param name="k2" type="integer" value="2" label="Give the second K value"/>
							<param name="k3" type="integer" value="3" label="Give the third K value"/>
							<param name="k4" type="integer" value="4" label="Give the fourth K value"/>
							<param name="k5" type="integer" value="5" label="Give the fifth K value"/>
							<param name="k6" type="integer" value="6" label="Give the sixth K value"/>
							<param name="k7" type="integer" value="7" label="Give the seventh K value"/>
						</when>
						<when value="8">
							<param name="k2" type="integer" value="2" label="Give the second K value"/>
							<param name="k3" type="integer" value="3" label="Give the third K value"/>
							<param name="k4" type="integer" value="4" label="Give the fourth K value"/>
							<param name="k5" type="integer" value="5" label="Give the fifth K value"/>
							<param name="k6" type="integer" value="6" label="Give the sixth K value"/>
							<param name="k7" type="integer" value="7" label="Give the seventh K value"/>
							<param name="k8" type="integer" value="8" label="Give the eighth K value"/>
						</when>
						<when value="9">
							<param name="k2" type="integer" value="2" label="Give the second K value"/>
							<param name="k3" type="integer" value="3" label="Give the third K value"/>
							<param name="k4" type="integer" value="4" label="Give the fourth K value"/>
							<param name="k5" type="integer" value="5" label="Give the fifth K value"/>
							<param name="k6" type="integer" value="6" label="Give the sixth K value"/>
							<param name="k7" type="integer" value="7" label="Give the seventh K value"/>
							<param name="k8" type="integer" value="8" label="Give the eighth K value"/>
							<param name="k9" type="integer" value="9" label="Give the ninth K value"/>
						</when>
						<when value="10">
							<param name="k2" type="integer" value="2" label="Give the second K value"/>
							<param name="k3" type="integer" value="3" label="Give the third K value"/>
							<param name="k4" type="integer" value="4" label="Give the fourth K value"/>
							<param name="k5" type="integer" value="5" label="Give the fifth K value"/>
							<param name="k6" type="integer" value="6" label="Give the sixth K value"/>
							<param name="k7" type="integer" value="7" label="Give the seventh K value"/>
							<param name="k8" type="integer" value="8" label="Give the eighth K value"/>
							<param name="k9" type="integer" value="9" label="Give the ninth K value"/>
							<param name="k10" type="integer" value="10" label="Give the tenth K value"/>
						</when>
					</conditional>
				</when>
				<when value="no">
				</when>
			</conditional>
		</when>
		<when value="no">
		</when>
	</conditional>
	<param name="sevruns" type="boolean" checked="false" default="false" label="Did you want to execute 3 Structure runs to give results to Structure Harvester?" />
	<conditional name="options_ind">
		<param name="options_ind_selector" type="select" label="Did you want modify the N (Number of individulas) value?">
			<option value="yes">Yes</option>
			<option value="no" selected="true">No</option>
		</param>
		<when value="yes">
			<param name="N_value" type="integer"  value="100" label="Give the new N value"/>
		</when>
		<when value="no">
		</when>
	</conditional>
	<conditional name="options_loci">
		<param name="options_loci_selector" type="select" label="Did you want modify the L (Number of loci) value?">
			<option value="yes">Yes</option>
			<option value="no" selected="true">No</option>
		</param>
		<when value="yes">
			<param name="L_value" type="integer"  value="50" label="Give the new N value"/>
		</when>
		<when value="no">
		</when>
	</conditional>
	<conditional name="options_seed">
		<param name="options_seed_selector" type="select" label="Did you want modify the D (Seed size) value?">
			<option value="yes">Yes</option>
			<option value="no" selected="true">No</option>
		</param>
		<when value="yes">
			<param name="D_value" type="integer"  value="50" label="Give the new N value"/>
		</when>
		<when value="no">
		</when>
	</conditional>
	<param name="output_compress" type="select" label="Output type" help="please see below for details">
		<option value="default" selected="true">No compression</option>		
		<option value="total">Compressed all outputs</option>
	</param>
</inputs>
<outputs>

    <data format="txt"  name="output" label="${tool.name} : results" />
    <data format="zip" name="total_output" label="total_output.zip with ${tool.name} on ${on_string}" >
        <filter>output_compress == "total"</filter>
    </data>
    
</outputs>
<help>

.. class:: infomark

**What it does**

The program structure implements a model-based clustering method for inferring population structure using genotype data consisting of unlinked markers. The method was introduced in a paper by Pritchard, Stephens and Donnelly (2000) and extended in sequels by Falush, Stephens and Pritchard (2003, 2007). Applications of our method include demonstrating the presence of population structure, identifying distinct genetic populations, assigning individuals to populations, and identifying migrants and admixed individuals.


Input file need to be in structure data format.


The output files resume standard output (log) and results. 

--------


**References:**

Pritchard, J. K., Stephens, M., and Donnelly, P.  2000 . Inference of population structure using multilocus genotype data. Genetics, 155 945 959.

Falush, D., Stephens, M., and Pritchard, J. K.  2003 . Inference of population structure: Extensions to linked loci and correlated allele frequencies. Genetics, 164 1567 1587.

Falush, D., Stephens, M., and Pritchard, J. K.  2007 . Inference of population structure using multilocus genotype data: dominant markers and null alleles. Molecular Ecology Notes, 7 574 578.

--------

**Project links:**

`Structure &lt;http://pritch.bsd.uchicago.edu/structure.html&gt;`_ .

--------

**Integrated by:**

Yvan Le Bras

</help>
</tool>