Analysis and results for the haptools manuscript
Execute the following command.
git clone https://github.com/CAST-genomics/haptools-paper
Example data for reproducing our results is available for download, as well.
cd haptools-paper
unzip resources-*.zip
The pipeline is written as a Snakefile which can be executed via Snakemake. For reproduciblity, we recommend installing version 7.14.0:
conda create -n snakemake -c conda-forge --no-channel-priority 'bioconda::snakemake==7.14.0'
We highly recommend you install Snakemake via conda like this so that you can use the --use-conda
flag when calling snakemake
to let it automatically handle all dependencies of the pipeline. Otherwise, you must manually install the dependencies listed in the env files.
-
Activate snakemake via
conda
:conda activate snakemake
-
Execute the pipeline on the example data
Locally:
./run.bash &
or on the SDSC TSCC HPC:
qsub run.bash
Log files describing the output of the pipeline will be created within the results directory. The qlog
file contains a basic description of the progress of each rule. More detailed log information can be found in the logs/
directory.
You must modify the config.yaml file to specify paths to your data before you perform step 2 above. Currently, the pipeline is configured to run on our example data, which reproduces the figures in our manuscript.
We recommend that you run snakemake --help
to learn about Snakemake's options. For example, to check that the pipeline will be executed correctly before you run it, you can call Snakemake with the -n -p -r
flags. This is also a good way to familiarize yourself with the steps of the pipeline and their inputs and outputs (the latter of which are inputs to the first rule in each workflow -- ie the all
rule).
Note that Snakemake will not recreate output that it has already generated, unless you request it. If a job fails or is interrupted, subsequent executions of Snakemake will just pick up where it left off. This can also apply to files that you create and provide in place of the files it would have generated.
By default, the pipeline will automatically delete some files it deems unnecessary (ex: unsorted copies of a file). You can opt to keep these files instead by providing the --notemp
flag to Snakemake when executing the pipeline.
Our directory layout follows Snakemake's recommended structure.