TASSEL 3.0 / 4.0 Pipeline Command Line Interface: Guide to using Tassel Pipeline¶
Terry Casstevens ( tmc46@cornell.edu )¶
Institute for Genomic Diversity, Cornell University, Ithaca, NY 14853-2703
March 28, 2014
| Prerequisites ............................................................................................................................................................ 1 |
|---|
| Source Code ............................................................................................................................................................ 1 |
| Install ....................................................................................................................................................................... 1 |
| Execute .................................................................................................................................................................... 1 |
| Increasing Heap Size ............................................................................................................................................... 2 |
| Examples ................................................................................................................................................................. 2 |
| Examples_(XML Configuration Files)_.................................................................................................................... 2 |
| Usage ....................................................................................................................................................................... 3 |
| Pipeline Controls ................................................................................................................................................. 3 |
| Data ..................................................................................................................................................................... 3 |
| Analysis............................................................................................................................................................... 8 |
| Results ............................................................................................................................................................... 10 |
Prerequisites¶
-
Java SDK 6.0 or later (http://java.sun.com/javase/downloads/index.jsp).
-
Tassel Standalone Build (http://www.maizegenetics.net/tassel/tassel3.0_standalone.zip)
-
Tassel Standalone Build (http://www.maizegenetics.net/tassel/tassel4.0_standalone.zip)
Source Code¶
- https://tassel.svn.sourceforge.net/svnroot/tassel/maizegenetics
Install¶
Unzip the Tassel Standalone Build onto your file system. Change into the root directory: . tassel3.0_standalone or tassel4.0_standalone
Execute¶
On Windows, use run_pipeline.bat to execute the pipeline.
In UNIX, use run_pipeline.pl to execute the pipeline. If you are using a Bash Shell on Windows, you may need to change the following line to use a ; instead of a :.
1
To launch the Tassel GUI that automatically executes a pipeline, use start_tassel.bat or start_tassel.pl instead of run_pipeline.bat or run_pipeline.pl respectively.
These scripts have a $top variable that can be changed to the absolute path of your installation. That way, you can execute them any directory.
Increasing Heap Size¶
To modify the initial or maximum heap size available to the Tassel Pipeline, either edit run_pipeline.pl or specify values via the command line.
Examples¶
./run_pipeline.pl -fork1 -h chr1_5000sites.txt -ld -ldd png -o
chr1_5000sites_ld.png -runfork1
./run_pipeline.pl -fork1 … -fork2 … -combine3 -input1 -input2 … -fork4 -
<flag> -input3 -runfork1 -runfork2
Examples (XML Configuration Files)¶
This command runs the Tassel Pipeline according to the specified configuration file... Configuration files are standard XML notation. The tags are the same as the below documented flags although no beginning dash is used. See the example_pipelines directory for some common XML configurations.
This command creates the XML configuration file from the original command line flags. Simply insert the - createXML and filename at the beginning. Only the XML is created. It does not run the pipeline...
This command translates the specified XML configuration file back into the original command line flags... It does not run the pipeline...
2
Usage¶
| Pipeline Controls | |
|---|---|
-fork<id> |
This flag identifies the start of a pipelinesegment that should be executed sequentially.<id> can be numbers or characters (no spaces).No space between -fork and <id> either. Otherflags can reference the <id>. |
-runfork<id> |
This flag identifies a pipeline segment toexecute. This will usually be the last argument.This explicitly executes the identified pipelinesegment. This should not be used to executepipeline segments that receive input from otherpipeline segments. Those will startautomatically when it receives the input. |
-input<id> |
This specifies a pipeline segment as input tothe plugin prior this flag. That plugin must bein the current pipeline segment. Multiple ofthese can be specified after plugins that acceptmultiple inputs../run_pipeline.pl -fork1 -h genotype.hmp.txt -fork2 -r phenotype.txt -combine3 -input1 -input2-intersect -runfork1 -runfork2./run_pipeline.pl -fork1 -h genotype.hmp.txt -fork2 -includeTaxaInFile taxaList1.txt -input1 -export file1 -fork3 -includeTaxaInFiletaxaList2.txt -input1 -export file2 -runfork1 |
-inputOnce<id> |
This specifies a pipeline segment as a one-timeinput to a CombineDataSetsPlugin. As such, thisflag should follow a CombineDataSetsPlugin inthe current pipeline segment. After theCombineDataSetsPlugin has received data fromthis input, it will use it for every iteration.Whereas CombineDataSetsPlugin waits for dataspecified by -input each iteration. Multiple ofthese can be specified. |
-combine<id> |
This flag starts a new pipeline segment with aCombineDataSetsPlugin at the beginning. TheCombineDataSetsPlugin is used to combine datasets from multiple pipeline segments. Followthis flag with -input<id> and/or -inputOnce<id>flags to specify which pipeline segments shouldbe combined. |
| Data | |
If the filename to be imported begins with“http”, it will be treated as an URL. |
|
-t <trait file> |
Loads trait file as numerical data. |
3
-s <SNP file> |
Loads SNP file as sequence alignment. |
|---|---|
-p <Poly file> |
Loads polymorphism file as polymorphismalignment. |
-a <Anno file> |
Loads annotated alignment file. |
-r <phenotype file> |
Loads file as Table Report. This is meant toreplace numerical, polymorphism, and annotatedalignment. |
-k <kinship file> |
Loads kinship file as square matrix. |
-q <populationstructure file> |
Loads population structure file as numericaldata. |
-h <hapmap file> |
Loads hapmap file(.hmp.txt or .hmp.txt.gz) |
-h5 <HDF5 file> |
Loads HDF5 Alignment file(.hmp.h5). |
-b <BLOB file> |
Loads BLOB file(.zip). Only Tassel 3. |
-g <BLOB file> |
Loads BLOB file(.gz). Only Tassel 3. |
-plink -ped <pedfilename> -map <mapfilename> |
Loads Plink format given ped and map files. |
-flapjack -geno <genofile> -map <map file> |
Loads Flapjack format given geno and map files. |
-fasta <filename> |
Loads FASTA file. |
-geneticMap <filename> |
Loads Genetic Map. |
-table |
Loads a Table(i.e. exported from LD, MLM). |
-vcf <filename> |
Loads VCF file. |
-importGuess <filename> |
Uses Tassel Guess function to load file. |
-maxAllelesToRetain<number> |
Sets the preference maximum number of alleles toretain. Initial default is 2. Notice this is apreference setting and remains true on a givenmachine for all import operations that follow,even in subsequent executions of the TasselPipeline or Tassel GUI. |
-retainRareAllelestrue| false |
Sets the preference whether to retain rarealleles. Notice this is a preference setting andremains true on a given machine for all importoperations that follow, even in subsequentexecutions of the Tassel Pipeline or Tassel GUI. |
-optimizeForTaxa |
This should follow a file import, whichinstructs the loader to optimize the data fortaxa based operations. By default, loaded datais optimized for site operations. |
-convertToSiteOpt |
Converts input Alignment to a Site OptimizedAlignment. May return same Alignment if alreadyoptimized for Sites. This is mainly for testingpurposes. |
-convertToTaxaOpt |
Converts input Alignment to a Taxa OptimizedAlignment. May return same Alignment if alreadyoptimized for Taxa. This is mainly for testingpurposes. |
4
-taxaJoinStrict <type> |
If type Strict (deprecated value true), taxanames are only considered the same if they matchexactly. If type NonStrict (deprecated valuefalse), taxa names match if all specified levelsmatch. For example… B73 matches B73:XXX matchesB73:XXX:YYY. But B73:XXX does not match B73:YYY.If type NumLevels, then taxa names match ifspecified number of levels (-taxaJoinNumLevels)match. For example… B73:XXX:YYY matchesB73:XXX:ZZZ for 1 or 2 number of levels. |
|---|---|
-taxaJoinNumLevels<num> |
Specifies number of levels to use when-taxaJoinStrict is NumLevels. |
-union |
This joins (union) input datasets based taxa.This should follow a -combine specification. |
-intersect |
This joins (intersect) input datasets basedtaxa. This should follow a -combinespecification. |
-separate<chromosomes…> |
This separates an input into its components ifpossible. For example, alignments separated bychromosome (locus). For alignments, optionallyspecify list of chromosomes (separated by commasand no spaces) to separate. Specifying nothingreturns all chromosomes. Example:run_pipeline.pl -fork1 -h file.hmp.txt -separate3,6 -export -runfork1 |
-mergeAlignments |
Merges multiple Alignments regardless of taxa orsite name overlap. Undefined taxa / sites areset to UNKNOWN. Duplicate taxon / site set tolast Alignment processed. Example:run_pipeline.pl -fork1 -h file1.hmp.txt -fork2 -h file2.hmp.txt -combine3 -input1 -input2 -mergeAlignments -export files_merged.hmp.txt -runfork1 -runfork2 |
-mergeAlignmentsSameSites-input <files> -output<filename> |
Merges Alignments assuming all sites are thesame in all Hapmap files. Input files separatedby commas without spaces. The resulting filemay have incorrect major/minor alleles, strand,center, etc. It uses values from firstspecified input file. Checks that Site Name,Chromosome, and Physical Position match for eachsite. Example: run_pipeline.pl -fork1 -mergeAlignmentsSameSites -inputfile1.hmp.txt,file2.hmp.txt -output temp -runfork1 |
-export<filename1,filename2,…> |
Exports input dataset to specified filename(s).If no -exportType follows this parameter, theexported format will be determined by the typeof input(i.e. Alignments will default to Hapmap |
5
format). Exportable datasets, other thatAlignment, only have one format option.Therefore, there is no need to specify -exportType. Specify none, one, or multiplefilenames matching the number of input datasets. If no filenames, the files will be namedthe same as the input data sets. If only onespecified for multiple data sets, a countstarting with 1 will be added to each resultingfile. If multiple filenames (separated withcommas but no spaces), there should be one foreach input. When exporting Hapmap files, if theextension is .hmp.txt.gz, the file will begzipped. |
|
|---|---|
-exportType <type> |
Defines format that previously specified -exportshould use. Type can be Hapmap, HapmapDiploid,HDF5, VCF, Plink, zipBLOB (only Tassel 3),gzipBLOB (only Tassel 3), Flapjack, Phylip_Seq,Phylip_Inter, Text. |
-impute |
Imputes Genotypic Data. |
-imputeMethod <method> |
Specifies the impute method to use. Method canbe Length (default), MajorAllele, SimilarWindow,or IBDProb. This should follow the -impute flag. |
-imputeMinLength <num> |
Specifies the minimum length for the imputeLength method (default value: 30). This shouldfollow the -impute flag. |
-imputeMaxMismatch<num> |
Specifies the maximum mismatch for the imputeLength method (default value: 1). This shouldfollow the -impute flag. |
-imputeMinProb <num> |
Specifies the minimum probability for the imputeIBDProb method (default value: 0.001). Thisshould follow the -impute flag. |
-filterAlign |
Filters an alignment by sites. |
-filterAlignMinCount<num> |
Specifies the minimum count (default: 1) for thepreviously specified -filterAlign. |
-filterAlignMinFreq<num> |
Specifies the minimum frequency (default: 0.0)for thepreviously specified -filterAlign. |
-filterAlignMaxFreq |
Specifies the maximum frequency (default 1.0)for thepreviously specified -filterAlign. |
-filterAlignStart <num> |
Specifies the starting site index (defaultvalue: 0) for the previously specified -filterAlign. |
-filterAlignEnd <num> |
Specifies the end site index (default value:last site in alignment) for the previouslyspecified -filterAlign. |
-filterAlignLocus<name> |
Specifies the Locus to be used with the startingand ending physical positions if defined.Defaults to first Locus in the Alignment. |
6
-filterAlignStartPos<num> |
Specifies the starting physical position(default is first site) for the previouslyspecified -filterAlign. |
|---|---|
-filterAlignEndPos<num> |
Specifies the end physical position (default islast site) for the previously specified -filterAlign. |
-filterAlignExtInd |
Indicates that the last specified -filterAlignshould extract indels. This is not done bydefault. |
-filterAlignRemMinor |
Indicates that the last specified -filterAlignshould remove minor SNP states. This is not doneby default. |
-filterAlignSliding |
Indicates that the last specified -filterAlignshould use sliding windows. This in not done bydefault. |
-filterAlignHapLen<num> |
Specifies the haplotype length (default value:3) if using sliding windows. |
-filterAlignStepLen<num> |
Specifies the step length (default value: 3) ifusing sliding windows. |
-includeTaxa<taxon1,taxon2,…> |
Filters input alignment to only includespecified taxa. The taxa should be separatedwith commas and no spaces. |
-includeTaxaInFile<filename> |
Filters input alignment to only include taxaspecified in file. The taxa cannot have spaces.Individual taxa should be separated by whitespace. |
-excludeTaxa<taxon1,taxon2,…> |
Filters input alignment to exclude specifiedtaxa. The taxa should be separated with commasand no spaces. |
-excludeTaxaInFile<filename> |
Filters input alignment to exclude taxaspecified in file. The taxa cannot have spaces.Individual taxa should be separated by whitespace. |
-includeSiteNames<siteName1,siteName2,…> |
Filters input alignment to only includespecified site names. The site names should beseparated with commas and no spaces. |
-includeSiteNamesInFile<filename> |
Filters input alignment to only include sitenames specified in file. The site names cannothave spaces. Individual site names should beseparated by white space. |
-excludeSiteNames<taxon1,taxon2,…> |
Filters input alignment to exclude specifiedsite names. The site names should be separatedwith commas and no spaces. |
-excludeSiteNamesInFile<filename> |
Filters input alignment to exclude site namesspecified in file. The site names cannot havespaces. Individual site names should beseparated by white space. |
7
-excludeLastTrait |
This removes last column of Phenotype data. Forexample… Can be used to remove last column ofpopulation structure for use with MLM or GLM. |
|---|---|
-subsetSites <num> |
This filters an alignment to include a randomsubset of sites. If <num> is >=1, it specifiesthe total number of sites to keep. If it is adecimal, it specifies the fraction of sites tokeep. Adding the flag "-step" immediately after<num> tells the plugin to space the selectedsites evenly instead of randomly. |
-subsetTaxa <num> |
This filters an alignment to include a randomsubset of taxa. If <num> is >=1, it specifiesthe total number of taxa to keep. If it is adecimal, it specifies the fraction of taxa tokeep. Adding flag "-step" immediately after<num> tells the plugin to space the selectedtaxa evenly instead of randomly. |
-step |
This tells the previously specified -subsetTaxaor -subsetSites plugin to select sites/taxaevenly across the alignment instead of randomly. |
-homozygous |
This function converts all heterozygous valuesto Unknown. Example: ./run_pipeline.pl -fork1 -h mdp_genotype.hmp.txt -homozygous -exporthomozygous.hmp.txt -runfork1 |
-numericalGenoTransform<type> |
Performs genotype to numerical transform. <type>can be collapse or separated. |
-newCoordinates <mapfilename> |
This converts alignment to new coordinatesspecified ingiven map file. |
-synonymizer |
Runs the Synonymizer using the input dataset. |
| Analysis | |
-glm |
This takes a Phenotype dataset as input that isusually the intersection of sequence data, traitdata, andpopulation structure(optional). |
-glmOutputFile<filename> |
This sends GLM results to specified filename. |
-glmMaxP <number> |
This restricts the output file to entries with Pvalues no larger than number specified. |
-glmPermutations<number> |
This sets the number of permutations. Default isto not do runpermutations. |
-mlm |
This takes a Phenotype dataset as input(usually |
8
the intersection of sequence data, trait data,and population structure (optional)) and aKinship matrix. |
|
|---|---|
-mlmVarCompEst <method> |
Defines the Variance Component Estimation forthe previously specified -mlm. Method can be P3D(default) or EachMarker. |
-mlmCompressionLevel<level> |
Defines the Compression Level for the previouslyspecified -mlm. Level can be Optimum (default),Custom, or None. |
-mlmCustomCompression<number> |
This specifies the compression when compressionlevel is Custom. Default value is 1.0. |
-mlmOutputFile<filename> |
This sends MLM results to specified filename. |
-mlmMaxP <number> |
This restricts the output file to entries with Pvalues no larger than number specified. |
-diversity |
Creates a Diversity Analysis step that uses anAlignment as input |
-diversityStartBase<number> |
This sets start base for the previouslyspecified -diversity. Default is 0. |
-diversityEndBase<number> |
This sets end base for the previously specified-diversity. Default is last site. |
-diversitySlidingWin |
This uses sliding window analysis for thepreviously specified -diversity. |
-diversitySlidingWinStep<number> |
This sets the sliding window step size for thepreviously specified -diversity. Default is 100. |
-diversitySlidingWinSize<number> |
This sets the sliding window size for thepreviously specified -diversity. Default is 500. |
-ld |
Creates LinkageDisequilibriumPlugin. UsesAlignment from previous step to analysis linkagedisequilibrium. |
-ldPermNum <number> |
This sets permutation number for the previouslyspecified -ld. Default is 1000. |
-ldRapidAnalysis true |false |
Sets whether to use rapid analysis for thepreviously specified -ld. Default is true. |
-ldWinSize <number> |
Sets the window size for the previouslyspecified -ld. Default is 50. |
-ldType <type> |
Sets the LD type for the previously specified -ld. Options are All, SlidingWindow (Default),and SiteByAll. |
-ldTestSite <number> |
Sets the test site for when LD type is set toSiteByAll. |
-ldHetTreatment <type> |
Sets the LD Heterzygous Treatment Method. Typecan be Haplotype (Default - For Inbred Lines),Homozygous (Uses only homozygous site -heterozygotes set to missing), or Genotype (NotImplemented Yet). |
9
-ck |
Calculates Kinship from Marker Data. |
|---|---|
-ckModelHets <type>-ckRescale true | false |
Sets how to model heterozygotes. Choose defaulttype RelateHomo (Related to Homozygotes) orIndepState(Independent allele state).Set whether to rescale results between 2 and 0.Default is true. |
-tree <clusteringmethod> |
This creates a tree using given clusteringmethod: Neighbor (default) or UPGMA. Whenexporting, use -exportType Text to get textversion. |
-treeSaveDistance true| false |
This saves the distance matrix of a tree.Default is true. |
-distanceMatrix |
Calculate the distance matrix of givenAlignment. |
-distMatrixRanges |
Calculates genetic distances for given taxon inspecifiedphysicalposition ranges. |
-distMatrixRangesLocus<locus> |
Locus that specified physical positionscorresponds. |
-distMatrixRangesTaxon<taxon> |
Taxon of interest. |
-distMatrixRangesPos<pos1,pos2,pos3,…> |
Specified physical positions that define ranges.A comma should separate each one with no spaces. |
-distMatrixRangesPosFile<filename> |
File with list of physical positions that defineranges. Individual positions should beseparated by white space. |
-gs |
Predicts phenotypes using ridge regression forgenomic selection. |
-genotypeSummary<types> |
This generates summaries for alignment datasets.Types should be a comma-separated list (with nospaces) of the following (overall, site, taxa,all). Example -genotypeSummary overall,site |
| Results | |
-td_csv <filename> |
Writes (comma delimited) TableReport fromprevious plugin in current pipeline to specifiedfilename. |
-td_tab <filename> |
Writes (tab delimited) TableReport from previousplugin in current pipeline to specifiedfilename. |
-td_gui |
Displays TableReport from previous plugin incurrentpipeline in GUI. |
-ldd <output type> |
Creates LinkageDiseqDisplayPlugin. If outputtype isgui, thisgraphically displays results |
10
from a LinkageDisequilibriumPlugin. If outputtype is png, gif, bmp, jpg, or svg, then animage of that type is written to the output filespecified with -o. |
|
|---|---|
-ldplotsize <num> |
Optionally specify LD plot size. Example: 1000will produce a 1000 x 1000 plot. Default: 500.This should follow the -ldd flag within thecurrentpipeline segment. |
-ldplotlabels true |false |
Optionally specify whether to show the LDPlot labels. DEFAULT: true. This should followthe -ldd flag within the current pipelinesegment. |
-o <output file> |
This should follow the -ldd flag within thecurrentpipeline segment. |
11