33This workflow is a best-practice workflow for mapping of reads to reference genomes, minimalistic and simple.
44The workflow is built using [ snakemake] ( https://snakemake.readthedocs.io/en/stable/ ) and consists of the following steps:
55
6- 1 . Download genome reference from NCBI (` ncbi tools ` ), or use manual input (` fasta ` format)
6+ 1 . Download genome reference from NCBI (` ncbi tools ` ), or use manual input (` fasta ` , ` gff ` format)
772 . Check quality of input read data (` FastQC ` )
883 . Trim adapters and apply quality filtering (` fastp ` )
9- 4 . Determine experiment type (` rseqc ` )
10- 5 . Map reads to reference genome using:
11- 1 . Bowtie2 _ or_
12- 2 . BWA-MEM2 _ or_
13- 3 . STAR
14- 6 . Evaluate mapping quality, quantify variations
15- 7 . Collect statistics from tool output (` MultiQC ` )
9+ 4 . Map reads to reference genome using:
10+ 1 . (` Bowtie2 ` )[ http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml ] _ or_
11+ 2 . (` BWA-MEM2 ` )[ https://github.com/bwa-mem2/bwa-mem2 ] _ or_
12+ 3 . (` STAR ` )[ https://github.com/alexdobin/STAR ] (not implemented yet)
13+ 5 . Determine experiment type, get mapping stats (` rseqc ` )
14+ 6 . Generate ` bigwig ` or ` bedgaph ` coverage profiles (` deeptools ` )
15+ 7 . Quantify variations and SNPs (` bcftools ` )
16+ 8 . Collect statistics from tool output (` MultiQC ` )
1617
1718## Running the workflow
1819
@@ -23,17 +24,53 @@ The sample sheet listing read input files needs to have the following layout:
2324
2425| sample | description | read1 | read2 |
2526| ------- | ----------- | ------------------- | ------------------- |
26- | sample1 | strain XY | sample1.R1. fastq.gz | sample1.R2 .fastq.gz |
27+ | sample1 | strain XY | sample1_R1. fastq.gz | sample1_R2 .fastq.gz |
2728| ... | ... | ... | ... |
2829
2930### Parameters
3031
3132This table lists all parameters that can be used to run the workflow.
3233
33- | parameter | type | details | default |
34- | --------------- | ---- | ------------------------------ | -------------------- |
35- | ** samplesheet** | | | |
36- | path | str | path to samplesheet, mandatory | "config/samples.tsv" |
37- | ** get_genome** | | | |
38-
39- TODO: finalize parameters.
34+ | parameter | type | details | default |
35+ | ------------------------------ | ------- | -------------------------------------------------------- | ------- |
36+ | ** samplesheet** | string | path to the sample sheet in tsv format | |
37+ | ** get_genome** | object | genome retrieval options | |
38+ | database | string | database to use for genome retrieval, 'ncbi' or 'manual' | |
39+ | assembly | string | assembly version to use for genome retrieval | |
40+ | fasta | string | path to a custom FASTA file (optional) | |
41+ | gff | string | path to a custom GFF file (optional) | |
42+ | gff_source_type | array | mapping of GFF source types to feature types | |
43+ | ** fastp** | object | Fastp options | |
44+ | extra | string | additional arguments to Fastp | |
45+ | ** mapping** | object | mapping options | |
46+ | tool | string | mapping tool to use, one of 'bowtie2', 'bwa_mem2' | |
47+ | bowtie2 | object | Bowtie2 options | |
48+ | bowtie2.index | string | additional arguments to bowtie build | |
49+ | bowtie2.extra | string | additional arguments to bowtie align | |
50+ | bwa_mem2 | object | BWA-MEM2 options | |
51+ | bwa_mem2.extra | string | additional arguments to bwa-mem2 | |
52+ | bwa_mem2.sort | string | sorting tool to use, e.g. 'samtools' | |
53+ | bwa_mem2.sort_order | string | sorting order to use | |
54+ | bwa_mem2.sort_extra | string | additional arguments to the sorting tool | |
55+ | samtools_sort | object | Samtools sort options | |
56+ | samtools_sort.extra | string | additional arguments to Samtools sort | |
57+ | samtools_index | object | Samtools index options | |
58+ | samtools_index.extra | string | additional arguments to Samtools index | |
59+ | ** mapping_stats** | object | mapping statistics options | |
60+ | gffread | object | GFFread options | |
61+ | gffread.extra | string | additional arguments to GFFread | |
62+ | rseqc_infer_experiment | object | RSeQC infer_experiment.py options | |
63+ | rseqc_infer_experiment.extra | string | additional arguments to RSeQC infer_experiment.py | |
64+ | rseqc_bam_stat | object | RSeQC bam_stat.py options | |
65+ | rseqc_bam_stat.extra | string | additional arguments to RSeQC bam_stat.py | |
66+ | deeptools_coverage | object | DeepTools bamCoverage options | |
67+ | deeptools_coverage.genome_size | integer | genome size in base pairs | |
68+ | deeptools_coverage.extra | string | additional arguments to DeepTools bamCoverage | |
69+ | ** variant_calling** | object | variant calling options | |
70+ | bcftools_pileup | object | BCFtools pileup options | |
71+ | bcftools_pileup.uncompressed | boolean | whether to output uncompressed BCF files | |
72+ | bcftools_pileup.extra | string | additional arguments to BCFtools pileup | |
73+ | bcftools_call | object | BCFtools call options | |
74+ | bcftools_call.uncompressed | boolean | whether to output uncompressed VCF files | |
75+ | bcftools_call.caller | string | use '-c' for consensus or '-m' for multiallelic | |
76+ | bcftools_call.extra | string | additional arguments to BCFtools call | |
0 commit comments