You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+26Lines changed: 26 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,32 @@ All changed fall under either one of these types: `Added`, `Changed`, `Deprecate
8
8
9
9
## [Unreleased]
10
10
11
+
### Added
12
+
13
+
- added CLI functionality to the deseq2.R script (try it with `Rscript /path/to/deseq2.R --help`!)
14
+
- --force flag to seq2science init to automatically overwrite existing samples.tsv and config.yaml
15
+
- local fastqs with Illumina's '_100' are now recognized
16
+
- added the workflow explanation to the multiqc report
17
+
18
+
### Changed
19
+
20
+
- config checks: all keys converted to lower case & duplicate keys throw an exception
21
+
- MultiQC updated to v1.10
22
+
- Link to seq2science log instead of snakemake log in final message
23
+
24
+
### Fixed
25
+
26
+
- Issue when filtering a combination of single-end and paired-end reads on template length
27
+
- explain functionality testing
28
+
- scATAC can properly use SE fastqs
29
+
- scRNA can use fqexts other than R1/R2
30
+
- fastq renaming works again
31
+
- added missing schemas to extended docs
32
+
33
+
### Fixed
34
+
35
+
- Bug with edgeR.upperquartile normalization. Now makes everything NaN, so pipeline finishes succesfully.
36
+
11
37
## [0.5.0] - 2021-03-03
12
38
13
39
Version 0.5.0 brings many quality of life improvements, such as seq2science automatically inferring what needs to be re-run when changing the samples.tsv and/or the config.yaml, differential peak analysis for chip/atac workflows and tab-completion!
Copy file name to clipboardExpand all lines: docs/content/DESeq2.md
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,20 +2,21 @@
2
2
Seq2science outputs counts matrices for each assembly in any bulk-sequencing workflow, which can optionally can be used for differential gene/peak analysis with [DESeq2](https://genomebiology.biomedcentral.com/articles/10.1186/s13059-014-0550-8).
3
3
To do so, add one or more contrast design(s) in the `config.yaml` file, with matching identifiers in the `samples.tsv` file.
4
4
5
+
After completing the workflow, rerunning Seq2science with new contrasts will only perform the new analyses.
6
+
Alternatively, you can call the DESeq2 script from the command line.
7
+
To get started with the command line script, try out `Rscript /path/to/seq2science/scripts/deseq2.R --help`.
8
+
5
9
This section details how the contrast designs are created.
6
10
Examples are given [below](./DESeq2.html#deseq2-contrast-designs), and each `config.yaml` contains a commented-out example contrast design at the bottom.
7
11
8
-
Note: (additional) design contrasts can be added at any time.
9
-
After completing the workflow, rerunning Seq2science with new contrasts will only perform the new analyses.
10
-
11
12
##### Overview of the DESeq2 method
12
13
DESeq2 automatically performs library bias correction when loading your data, and batch correction is performed if it is included in the contrast design.
13
14
After calculating differentially expressed genes/peaks, a multiple testing procedure is applied, which is either the Benjamini-Hochberg procedure (the default) or Independent Hypothesis Weighing.
14
15
The False Discovery Rate cutoff is set by alpha, which is 0.1 by default.
15
16
Finally, count values are log transformed and shrunk (by default using the apeglm method).
16
17
These defaults can be changed in the [config.yaml](./schemas.html#deseq2), under the `deseq2` variables using the `multiple_testing_procedure`, `alpha_value` and `shrinkage_estimator` options respectively.
17
18
18
-
For more information, check out the steps in this [vignette](www.bioconductor.org/packages/release/bioc/vignettes/DESeq2/inst/doc/DESeq2.html), which Seq2science follows.
19
+
For more information, check out the steps in this [vignette](https://www.bioconductor.org/packages/release/bioc/vignettes/DESeq2/inst/doc/DESeq2.html), which Seq2science follows.
19
20
20
21
##### Output
21
22
For each contrast design, the list of *all* genes/peaks is saved to file, with analysis results for expressed genes. Briefly, these include:
Copy file name to clipboardExpand all lines: docs/content/workflows/alignment.md
+34-13Lines changed: 34 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,26 +8,28 @@ Aligning samples has never been easier!
8
8
9
9
#### Downloading of sample(s)
10
10
Depending on whether the samples you start seq2science with is your own data, public data, or a mix, the pipeline might start with downloading samples.
11
-
Take a look at the [downloading_fastq](./download_fastq.html) workflow for extensive documentation about downloading of public samples.
11
+
You control which samples are used in the [samples.tsv](#filling-out-the-samples-tsv).
12
+
Background on public data can be found [here](./download_fastq.html#download-sra-file).
12
13
13
14
#### Read trimming
14
-
The pipeline starts by trimming the reads with Trim galore or Fastp.
15
-
The trimmer will automatically trims the low quality 3' ends of reads, and removes short reads.
16
-
After the quality trimming it automatically detects which adapter was used, and trims it.
15
+
The pipeline starts by trimming the reads with Trim Galore! or Fastp (the default).
16
+
The trimmer will automatically trim the low quality 3' ends of reads, and removes short reads.
17
+
During the quality trimming it automatically detects which adapter was used, and trims this as well.
17
18
Trimming parameters for the pipeline can be set in the configuration.
18
19
19
20
#### Alignment & Sorting
20
21
After trimming the reads are aligned against an assembly. Currently we support *bowtie2*, *bwa*, *bwa-mem2*, *hisat2* and *STAR* as aligners. Choosing which aligner is as easy as setting the *aligner* variable in the `config.yaml`, for example: `aligner: bwa`. Sensible defaults have been set for every aligner, but can be overwritten for either (or both) the indexing and alignment by specifying them in the `config.yaml`:
21
22
```
22
23
aligner:
23
-
star:
24
-
index: '--limitGenomeGenerateRAM 55000000000` # give STAR 55 GB RAM during indexing (default is 31 GB)
25
-
align: '--readFilesCommand gunzip -c' # unzips fastqs before aligning
24
+
bwa-mem:
25
+
index: '-a bwtsw'
26
+
align: '-M'
26
27
```
27
28
28
-
The pipeline will check if the assembly you specified is present in the *genome_dir*, and otherwise will download it for you through [genomepy](https://github.com/vanheeringen-lab/genomepy). All these aligners require an index to be formed first for each assembly, but don't worry, the pipeline does this for you.
29
+
The pipeline will check if the assembly you specified is present in the *genome_dir*, and otherwise will download it for you through [genomepy](https://github.com/vanheeringen-lab/genomepy).
30
+
All these aligners require an index to be formed first for each assembly, but don't worry, the pipeline does this for you.
29
31
30
-
The outputted alignment.bam is immediately sorted by either samtools or sambamba (*bam_sorter*) either in *queryname* or *coordinate* (default) order. Take a look at our [Choosing an aligner](https://github.com/vanheeringen-lab/snakemake-workflows/wiki/3.-Alignment#choosing-an-appropriate-aligner) section for tips which aligner to use.
32
+
The outputted alignment.bam is immediately sorted by either samtools or sambamba (*bam_sorter*) either in *queryname* or *coordinate* (default) order.
31
33
32
34
#### Custom assembly extensions
33
35
The genome and/or gene annotation can be extended with custom files, such as ERCC spike-ins for scRNA-seq. To do so, add `custom_genome_extension: path/to/spike_in.fa` and `custom_annotation_extension: path/to/spike_in.gtf` to the config.
@@ -47,7 +49,9 @@ A UCSC compatible trackhub can be generated for this workflow.
47
49
See the [trackhub page](../results.html#trackhub)<!-- @IGNORE PREVIOUS: link --> for more information!
48
50
49
51
### Filling out the samples.tsv
50
-
Before running a workflow you will have to specify which samples you want to run the workflow on. Each workflow starts with a `samples.tsv` as an example, and you should adapt it to your specific needs. As an example, the `samples.tsv` could look something like this:
52
+
Before running a workflow you will have to specify which samples you want to run the workflow on.
53
+
Each workflow starts with a `samples.tsv` as an example, and you should adapt it to your specific needs.
54
+
As an example, the `samples.tsv` could look something like this:
This column is necessary for all workflows, not just the atac-seq workflow. If you use the pipeline on public data this should be the name of the accession (e.g. GSM2837484). If you use the pipeline on local data this should be the *basename* of the file without the *extension(s)*. For instance, `/home/user/myfastqs/sample1.fastq.gz` would be `sample1` (for single-ended data). For paired-ended data `/home/user/myfastqs/sample2_R1.fastq.gz` and `/home/user/myfastqs/sample2_R2.fastq.gz` would be `sample2`.
65
+
If you use the pipeline on **public data** this should be the name of the accession (e.g. GSM2837484).
66
+
Accepted formats start with "GSM", "SRR", "SRX", "DRR", "DRX", "ERR" or "ERX".
67
+
68
+
If you use the pipeline on **local data** this should be the *basename* of the file without the *extension(s)*.
69
+
For example:
70
+
-`/home/user/myfastqs/sample1.fastq.gz` -------> `sample1` for single-ended data
71
+
-`/home/user/myfastqs/sample2_R1.fastq.gz` ┬> `sample2` for paired-ended data <br> `/home/user/myfastqs/sample2_R2.fastq.gz` ┘
72
+
73
+
For **local data**, some fastq files may have slightly different naming formats.
74
+
For instance, Illumina may produce a sample named `sample3_S1_L001_R1_001.fastq.gz` (and the `R2` fastq).
75
+
Seq2science will attempt to recognize these files based on the sample name `sample3`.
76
+
77
+
For **both local and public data**, identifiers used to recognize fastq files are the fastq read extensions (`R1` and `R2` by default) and the fastq suffix (`fastq` by default).
78
+
The directory where seq2science will store (or look for) fastqs is determined by the `fastq_dir` config option.
79
+
In the example above, the `fastq_dir` should be set to `/home/user/myfastqs`.
80
+
These setting can be changed in the `config.yaml`.
62
81
63
82
#### Assembly column
64
-
This column is necessary for all workflows, except the *downloading samples* workflow. Here you simply add the name of the assembly you want your samples aligned against and the workflow will download it for you.
83
+
Here you simply add the name of the assembly you want your samples aligned against and the workflow will download it for you.
65
84
66
85
#### Descriptive_name column
67
-
The descriptive_name column is used for the trackhub and multiqc report. In the trackhub your tracks will be called after the descriptive name, and in the multiqc report there will be a button to rename your samples after this column. The descriptive name can not contain '-' characters, but underscores '_' are allowed.
86
+
The descriptive\_name column is used for the trackhub and multiqc report.
87
+
In the trackhub your tracks will be called after the descriptive name, and in the multiqc report there will be a button to rename your samples after this column.
88
+
The descriptive name can not contain '-' characters, but underscores '\_' are allowed.
68
89
69
90
#### Technical_replicate column
70
91
Technical replicates, or any fastq file you may wish to merge, are set using the `technical_replicate` column in the samples.tsv file.
Copy file name to clipboardExpand all lines: docs/content/workflows/atac_seq.md
+25-7Lines changed: 25 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,15 +8,16 @@ Running an ATAC-seq analysis has never been easier!
8
8
9
9
#### Downloading of sample(s)
10
10
Depending on whether the samples you start seq2science with is your own data, public data, or a mix, the pipeline might start with downloading samples.
11
-
Take a look at the [downloading_fastq](./download_fastq.html) workflow for extensive documentation about downloading of public samples.
11
+
You control which samples are used in the [samples.tsv](#filling-out-the-samples-tsv).
12
+
Background on public data can be found [here](./download_fastq.html#download-sra-file).
12
13
13
14
#### Downloading and indexing of assembly(s)
14
15
Depending on whether the assembly and its index you align your samples against already exist seq2science will start with downloading of the assembly through [genomepy](https://github.com/vanheeringen-lab/genomepy).
15
16
16
17
#### Read trimming
17
-
The pipeline starts by trimming the reads with Trim galore or Fastp.
18
-
The trimmer will automatically trims the low quality 3' ends of reads, and removes short reads.
19
-
After the quality trimming it automatically detects which adapter was used, and trims it.
18
+
The pipeline starts by trimming the reads with Trim Galore! or Fastp (the default).
19
+
The trimmer will automatically trim the low quality 3' ends of reads, and removes short reads.
20
+
During the quality trimming it automatically detects which adapter was used, and trims this as well.
20
21
Trimming parameters for the pipeline can be set in the configuration.
This column is necessary for all workflows, not just the ATAC-seq workflow. If you use the pipeline on public data this should be the name of the accession (e.g. GSM2837484), if you use the pipeline on local data this should be the *basename* of the file without the *extension*. For instance `/home/user/myfastqs/sample1.fastq.gz` would be `sample1`.
91
+
If you use the pipeline on **public data** this should be the name of the accession (e.g. GSM2837484).
92
+
Accepted formats start with "GSM", "SRR", "SRX", "DRR", "DRX", "ERR" or "ERX".
93
+
94
+
If you use the pipeline on **local data** this should be the *basename* of the file without the *extension(s)*.
95
+
For example:
96
+
-`/home/user/myfastqs/sample1.fastq.gz` -------> `sample1` for single-ended data
97
+
-`/home/user/myfastqs/sample2_R1.fastq.gz` ┬> `sample2` for paired-ended data <br> `/home/user/myfastqs/sample2_R2.fastq.gz` ┘
98
+
99
+
For **local data**, some fastq files may have slightly different naming formats.
100
+
For instance, Illumina may produce a sample named `sample3_S1_L001_R1_001.fastq.gz` (and the `R2` fastq).
101
+
Seq2science will attempt to recognize these files based on the sample name `sample3`.
102
+
103
+
For **both local and public data**, identifiers used to recognize fastq files are the fastq read extensions (`R1` and `R2` by default) and the fastq suffix (`fastq` by default).
104
+
The directory where seq2science will store (or look for) fastqs is determined by the `fastq_dir` config option.
105
+
In the example above, the `fastq_dir` should be set to `/home/user/myfastqs`.
106
+
These setting can be changed in the `config.yaml`.
91
107
92
108
#### Assembly column
93
-
This column is necessary for all workflows, except the *downloading samples* workflow. Here you simply add the name of the assembly you want your samples aligned against and the workflow will download it for you.
109
+
Here you simply add the name of the assembly you want your samples aligned against and the workflow will download it for you.
94
110
95
111
#### Control column
96
112
In the `control` column you can (optionally) add the "sample name" of the input control, although it is not common to generate this for ATAC-seq.
97
113
98
114
#### Descriptive_name column
99
-
The descriptive_name column is used for the trackhub and multiqc report. In the trackhub your tracks will be called after the descriptive name, and in the multiqc report there will be a button to rename your samples after this column. The descriptive name can not contain '-' characters, but underscores '_' are allowed.
115
+
The descriptive\_name column is used for the trackhub and multiqc report.
116
+
In the trackhub your tracks will be called after the descriptive name, and in the multiqc report there will be a button to rename your samples after this column.
117
+
The descriptive name can not contain '-' characters, but underscores '\_' are allowed.
100
118
101
119
#### Technical_replicate column
102
120
Technical replicates, or any fastq file you may wish to merge, are set using the `technical_replicate` column in the samples.tsv file.
0 commit comments