The CSF2 has been replaced by the CSF3 - please use that system! This documentation may be out of date. Please read the CSF3 documentation instead. To display this old CSF2 page click here. |
STACKS
Overview
STACKS is a software pipeline for building loci from short-read sequences, such as those generated on the Illumina platform. Stacks was developed to work with restriction enzyme-based data, such as RAD-seq, for the purpose of building genetic maps and conducting population genomics and phylogeography.
Versions 1.48 and 2.0 Beta9 are installed on the CSF.
Restrictions on use
There are no restrictions on accessing this software on the CSF. It is released under the GNU GPLv3 license and all usage should fall within that license.
Please cite your usage of this software using the details provided in the STACKS citation section of their website.
Set up procedure
To access the software you must first load the modulefile:
module load apps/gcc/stacks/1.48 # Last release of the version 1 app module load apps/gcc/stacks/2.0Beta9 # Development release of the version 2 app
Note that some of the data file formats read and written by the applications have changed between version 1 and version 2. Hence you may have problems reading files in to tools in version 2 that were originally generated in version 1. You should consult the version 1 manual and the version 2 manual for the sections which describe the fields written to the output files by the various tools.
Running the application
Please do not run STACKS executables on the login node. Jobs should be submitted to the compute nodes via batch. The following executables are available:
# Executables (please check command-line flags to specify number of threads (cores)) clone_filter kmer_filter process_radtags stacks-dist-extract tsv2bam cstacks phasedstacks process_shortreads stacks-gdb ustacks gstacks populations sstacks stacks-integrate-alignments # Python scripts integrate_alignments.py count_fixed_catalog_snps.py # Perl scripts denovo_map.pl ref_map.pl
If you wish to determine the command-line flags accepted by an executable you may run it on the login node with the --help
flag added. For example:
ustacks --help
Note that you must check what flag is required to specify the number of threads (cores) to use.
Serial batch job submission
Make sure you have the modulefile loaded then create a batch submission script, for example:
#!/bin/bash #$ -cwd # Job will run from the current directory #$ -V # Job will inherit current environment settings # Example using the ustacks executable ustacks -f file_path -i id -o path -M max_dist -m min_cov # # Optional args
Submit the jobscript using:
qsub scriptname
where scriptname is the name of your jobscript.
Parallel batch job submission
Please note that some of the STACKS executables use -t numcores
to enable parallelism with the specified number of cores, and some of the apps use -p numcores
to enable the parallelism. You must check which flag is used and specify this correctly in your jobscript.
Make sure you have the modulefile loaded then create a batch submission script, for example:
#!/bin/bash #$ -cwd # Job will run from the current directory #$ -V # Job will inherit current environment settings #$ -pe smp.pe 8 # Number of cores (2-24 permitted) # Example using the ustacks executable. # $NSLOTS is automatically set to the number of cores requested above. # We use this to inform the application of the number of cores to use. # Example using the ustacks executable ustacks -f file_path -i id -o path -p $NSLOTS -M max_dist -m min_cov # # Optional args # Example using the populations executable populations -P dir -t $NSLOTS
Submit the jobscript using:
qsub scriptname
where scriptname is the name of your jobscript.
Further info
Updates
None.