<tool id="cg_testvariants" name="testvariants(beta) 1.5" version="1.0.0">
<!--
This tool creates a GUI for the testvariants function of cgatools from Complete Genomics, Inc.
written 6-18-2012 by bcrain@completegenomics.com
-->

  <description>test for the presence of variants</description> <!--adds description in toolbar-->

  <requirements>
  	<requirement type="binary">cgatools</requirement>
  </requirements>

  <command> <!--run executable-->
    cgatools | head -1;
    cgatools testvariants
		--beta
		--reference ${crr.fields.path}
		--output $output
		--input $listing
		--variants 
		#if $file_types.data_sources.data_source == "in" 
			#for $v in $file_types.data_sources.varfiles <!--get each var/mastervar file-->
				${v.input}
			#end for
		#else
			`cat $file_types.data_sources.varlist`
		#end if
  </command>

  <outputs>
    <data format="tabular" name="output" />
  </outputs>
  
  <inputs>
  	<!--form field to select crr file-->
    <param name="crr" type="select" label="Reference genome (.crr file)">
      <options from_data_table="cg_crr_files" />
    </param>

	  <!--form fields to select variant list-->
	  <param name="listing" type="data" format="tabular" label="Select variant list">
			<validator type="unspecified_build" />
			<validator type="dataset_metadata_in_file" filename="cg_crr_files.loc"
				metadata_name="dbkey" metadata_column="1"
				message="cgatools is not currently available for this build."/>
	  </param>

		<!--conditional to select input file type-->
  	<conditional name="file_types">
      <param name="file_type" type="select" label="Select the input file type">
        <option value="var" selected="true">var files</option>
        <option value="mastervar">mastervar files</option>
      </param>
      
      <when value="var">			
				<!--conditional to select variant file input-->
				<conditional name="data_sources">
					<param name="data_source" type="select" label="Where are the input var files?">
						<option value="in" selected="true">imported into Galaxy</option>
						<option value="out">located outside Galaxy (available only for local Galaxy instances)</option>
					</param>
					<when value="in">
						<!--form field to select variant files-->
						<repeat name="varfiles" title="Variant files">
							<param name="input" type="data" format="cg_var" label="Dataset">
								<validator type="unspecified_build" />
								<validator type="dataset_metadata_in_file" filename="cg_crr_files.loc"
								 metadata_name="dbkey" metadata_column="1"
								 message="cgatools is not currently available for this build."/>
							</param>
						</repeat>
					</when>
					<when value="out">
						<!--form field to select crr file-->
						<param name="varlist" type="text" label="List of variant files (/path/file)" size="200" help="This file should contain a list of var files, one per line in the format /path/varfile (e.g. /harddrive/GS00000XXXX-DID/GS00000YYYY-ASM/GS00123-DNA_G01_2000/ASM/var-GS00000YYYY-ASM.tsv.bz2), var files can be compressed (gz, bz2)."/>
					</when>
				</conditional>
			</when>
			
	    <when value="mastervar">			
				<!--conditional to select variant file input-->
				<conditional name="data_sources">
					<param name="data_source" type="select" label="Where are the input mastervar files?">
						<option value="in" selected="true">imported into Galaxy</option>
						<option value="out">located outside Galaxy (available only for local Galaxy instances)</option>
					</param>
					<when value="in">
						<!--form field to select variant files-->
						<repeat name="varfiles" title="Variant files">
							<param name="input" type="data" format="cg_mastervar" label="Dataset">
								<validator type="unspecified_build" />
								<validator type="dataset_metadata_in_file" filename="cg_crr_files.loc"
								 metadata_name="dbkey" metadata_column="1"
								 message="cgatools is not currently available for this build."/>
							</param>
						</repeat>
					</when>
					<when value="out">
						<!--form field to select crr file-->
						<param name="varlist" type="text" label="List of mastervar files (/path/file)" size="200" help="This file should contain a list of mastervar files, one per line in the format /path/varfile (e.g. /harddrive/GS00000XXXX-DID/GS00000YYYY-ASM/GS00123-DNA_G01_2000/ASM/masterVarBeta-GS00000YYYY-ASM.tsv.bz2), mastervar files can be compressed (gz, bz2)."/>
					</when>
				</conditional>
			</when>
		</conditional>
  </inputs>

  <help>
  
**What it does**

This tool uses the cgatools testvariants to test variant or mastervar files for the presence of variants.

**cgatools 1.5.0 Documentation**

Userguide: http://cgatools.sourceforge.net/docs/1.5.0/cgatools-user-guide.pdf

Release notes: http://cgatools.sourceforge.net/docs/1.5.0/cgatools-release-notes.pdf

**Command line reference**::

		COMMAND NAME
		  testvariants - Tests variant files for presence of variants.
		
		DESCRIPTION
		  Tests variant files for presence of variants. The output is a tab-delimited
		  file consisting of the columns of the input variants file, plus a column 
		  for each assembly results file that contains a character code for each 
		  allele. The character codes have meaning as follows:
			
		    0 This allele of this genome is consistent with the reference at this 
		      locus but inconsistent with the variant.
		    1 This allele of this genome has the input variant at this locus.
		    N This allele of this genome has no-calls but is consistent with the 
		      input variant.
		
		OPTIONS
		  -h [ --help ] 
		      Print this help message.
		
		  --beta 
		      This is a beta command. To run this command, you must pass the --beta 
		      flag.
		
		  --reference arg
		      The reference crr file.
		
		  --input arg (=STDIN)
		      The input variants to test for.
		
		  --output arg (=STDOUT)
		      The output file (may be omitted for stdout).
		
		  --variants arg
		      The input variant files (may be passed in as arguments at the end of 
		      the command).
		
		SUPPORTED FORMAT_VERSION
		  0.3 or later
  </help>
</tool>
