rochevin/RNA-seq-from-SRR-single

None

Overview

Topics:

Latest release: None, Last update: 2022-02-15

Linting: linting: failed, Formatting: formatting: failed

Deployment

Step 1: Install Snakemake and Snakedeploy

Snakemake and Snakedeploy are best installed via the Mamba package manager (a drop-in replacement for conda). If you have neither Conda nor Mamba, it is recommended to install Miniforge. More details regarding Mamba can be found here.

When using Mamba, run

mamba create -c conda-forge -c bioconda --name snakemake snakemake snakedeploy

to install both Snakemake and Snakedeploy in an isolated environment. For all following commands ensure that this environment is activated via

conda activate snakemake

Step 2: Deploy workflow

With Snakemake and Snakedeploy installed, the workflow can be deployed as follows. First, create an appropriate project working directory on your system and enter it:

mkdir -p path/to/project-workdir
cd path/to/project-workdir

In all following steps, we will assume that you are inside of that directory. Then run

snakedeploy deploy-workflow https://github.com/rochevin/RNA-seq-from-SRR-single . --tag None

Snakedeploy will create two folders, workflow and config. The former contains the deployment of the chosen workflow as a Snakemake module, the latter contains configuration files which will be modified in the next step in order to configure the workflow to your needs.

Step 3: Configure workflow

To configure the workflow, adapt config/config.yml to your needs following the instructions below.

Step 4: Run workflow

The deployment method is controlled using the --software-deployment-method (short --sdm) argument.

To run the workflow with automatic deployment of all required software via conda/mamba, use

snakemake --cores all --sdm conda

Snakemake will automatically detect the main Snakefile in the workflow subfolder and execute the workflow module that has been defined by the deployment in step 2.

For further options such as cluster and cloud execution, see the docs.

Step 5: Generate report

After finalizing your data analysis, you can automatically generate an interactive visual HTML report for inspection of results together with parameters and code inside of the browser using

snakemake --report report.zip

Configuration

The following section is imported from the workflow’s config/README.md.

Describe how to configure the workflow (using config.yaml and maybe additional files). All of them need to be present with example entries inside of the config folder.

Linting and formatting

Linting results

  1Lints for snakefile /tmp/tmp2dbexe33/workflow/Snakefile:
  2    * Absolute path "/mapping/bam/{sample}.sorted.bai" in line 40:
  3      Do not define absolute paths inside of the workflow, since this renders
  4      your workflow irreproducible on other machines. Use path relative to the
  5      working directory instead, or make the path configurable via a config
  6      file.
  7      Also see:
  8      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
  9    * Absolute path "/mapping/counts/STAR/{sample}_counts.tsv" in line 41:
 10      Do not define absolute paths inside of the workflow, since this renders
 11      your workflow irreproducible on other machines. Use path relative to the
 12      working directory instead, or make the path configurable via a config
 13      file.
 14      Also see:
 15      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
 16    * Path composition with '+' in line 40:
 17      This becomes quickly unreadable. Usually, it is better to endure some
 18      redundancy against having a more readable workflow. Hence, just repeat
 19      common prefixes. If path composition is unavoidable, use pathlib or
 20      (python >= 3.6) string formatting with f"...".
 21      Also see:
 22
 23    * Path composition with '+' in line 41:
 24      This becomes quickly unreadable. Usually, it is better to endure some
 25      redundancy against having a more readable workflow. Hence, just repeat
 26      common prefixes. If path composition is unavoidable, use pathlib or
 27      (python >= 3.6) string formatting with f"...".
 28      Also see:
 29
 30
 31Lints for snakefile /tmp/tmp2dbexe33/workflow/rules/SRR.smk:
 32    * Absolute path "/{prefix}_1" in line 14:
 33      Do not define absolute paths inside of the workflow, since this renders
 34      your workflow irreproducible on other machines. Use path relative to the
 35      working directory instead, or make the path configurable via a config
 36      file.
 37      Also see:
 38      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
 39    * Absolute path "/benchmarks/fastqdump/{prefix}.benchmark.txt" in line 15:
 40      Do not define absolute paths inside of the workflow, since this renders
 41      your workflow irreproducible on other machines. Use path relative to the
 42      working directory instead, or make the path configurable via a config
 43      file.
 44      Also see:
 45      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
 46    * Absolute path "/benchmarks/mergefastq/{sample}.benchmark.txt" in line 32:
 47      Do not define absolute paths inside of the workflow, since this renders
 48      your workflow irreproducible on other machines. Use path relative to the
 49      working directory instead, or make the path configurable via a config
 50      file.
 51      Also see:
 52      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
 53    * Mixed rules and functions in same snakefile.:
 54      Small one-liner functions used only once should be defined as lambda
 55      expressions. Other functions should be collected in a common module, e.g.
 56      'rules/common.smk'. This makes the workflow steps more readable.
 57      Also see:
 58      https://snakemake.readthedocs.io/en/latest/snakefiles/modularization.html#includes
 59    * Path composition with '+' in line 15:
 60      This becomes quickly unreadable. Usually, it is better to endure some
 61      redundancy against having a more readable workflow. Hence, just repeat
 62      common prefixes. If path composition is unavoidable, use pathlib or
 63      (python >= 3.6) string formatting with f"...".
 64      Also see:
 65
 66    * Path composition with '+' in line 32:
 67      This becomes quickly unreadable. Usually, it is better to endure some
 68      redundancy against having a more readable workflow. Hence, just repeat
 69      common prefixes. If path composition is unavoidable, use pathlib or
 70      (python >= 3.6) string formatting with f"...".
 71      Also see:
 72
 73    * Path composition with '+' in line 3:
 74      This becomes quickly unreadable. Usually, it is better to endure some
 75      redundancy against having a more readable workflow. Hence, just repeat
 76      common prefixes. If path composition is unavoidable, use pathlib or
 77      (python >= 3.6) string formatting with f"...".
 78      Also see:
 79
 80    * Path composition with '+' in line 9:
 81      This becomes quickly unreadable. Usually, it is better to endure some
 82      redundancy against having a more readable workflow. Hence, just repeat
 83      common prefixes. If path composition is unavoidable, use pathlib or
 84      (python >= 3.6) string formatting with f"...".
 85      Also see:
 86
 87    * Path composition with '+' in line 11:
 88      This becomes quickly unreadable. Usually, it is better to endure some
 89      redundancy against having a more readable workflow. Hence, just repeat
 90      common prefixes. If path composition is unavoidable, use pathlib or
 91      (python >= 3.6) string formatting with f"...".
 92      Also see:
 93
 94    * Path composition with '+' in line 15:
 95      This becomes quickly unreadable. Usually, it is better to endure some
 96      redundancy against having a more readable workflow. Hence, just repeat
 97      common prefixes. If path composition is unavoidable, use pathlib or
 98      (python >= 3.6) string formatting with f"...".
 99      Also see:
100
101
102Lints for snakefile /tmp/tmp2dbexe33/workflow/rules/STAR_quant.smk:
103    * Absolute path "/benchmarks/star_index_gtf/{input.fasta}.benchmark.txt" in line 14:
104      Do not define absolute paths inside of the workflow, since this renders
105      your workflow irreproducible on other machines. Use path relative to the
106      working directory instead, or make the path configurable via a config
107      file.
108      Also see:
109      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
110    * Absolute path "/mapping/sam/{sample}/{sample}_Aligned.out.sam" in line 30:
111      Do not define absolute paths inside of the workflow, since this renders
112      your workflow irreproducible on other machines. Use path relative to the
113      working directory instead, or make the path configurable via a config
114      file.
115      Also see:
116      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
117    * Absolute path "/mapping/sam/{sample}/{sample}_ReadsPerGene.out.tab" in line 31:
118      Do not define absolute paths inside of the workflow, since this renders
119      your workflow irreproducible on other machines. Use path relative to the
120      working directory instead, or make the path configurable via a config
121      file.
122      Also see:
123      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
124    * Absolute path "/mapping/sam/{sample}/{sample}_" in line 38:
125      Do not define absolute paths inside of the workflow, since this renders
126      your workflow irreproducible on other machines. Use path relative to the
127      working directory instead, or make the path configurable via a config
128      file.
129      Also see:
130      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
131    * Absolute path "/benchmarks/star_aln/{sample}.benchmark.txt" in line 44:
132      Do not define absolute paths inside of the workflow, since this renders
133      your workflow irreproducible on other machines. Use path relative to the
134      working directory instead, or make the path configurable via a config
135      file.
136      Also see:
137      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
138    * Absolute path "/mapping/sam/{sample}/{sample}_ReadsPerGene.out.tab" in line 60:
139      Do not define absolute paths inside of the workflow, since this renders
140      your workflow irreproducible on other machines. Use path relative to the
141      working directory instead, or make the path configurable via a config
142      file.
143      Also see:
144      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
145    * Absolute path "/mapping/counts/STAR/{sample}_counts.tsv" in line 61:
146      Do not define absolute paths inside of the workflow, since this renders
147      your workflow irreproducible on other machines. Use path relative to the
148      working directory instead, or make the path configurable via a config
149      file.
150      Also see:
151      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
152    * Absolute path "/benchmarks/cp_STAR_quant_to_counts/{sample}.benchmark.txt" in line 64:
153      Do not define absolute paths inside of the workflow, since this renders
154      your workflow irreproducible on other machines. Use path relative to the
155      working directory instead, or make the path configurable via a config
156      file.
157      Also see:
158      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
159    * Path composition with '+' in line 4:
160      This becomes quickly unreadable. Usually, it is better to endure some
161      redundancy against having a more readable workflow. Hence, just repeat
162      common prefixes. If path composition is unavoidable, use pathlib or
163      (python >= 3.6) string formatting with f"...".
164      Also see:
165
166    * Path composition with '+' in line 30:
167      This becomes quickly unreadable. Usually, it is better to endure some
168      redundancy against having a more readable workflow. Hence, just repeat
169      common prefixes. If path composition is unavoidable, use pathlib or
170      (python >= 3.6) string formatting with f"...".
171      Also see:
172
173    * Path composition with '+' in line 31:
174      This becomes quickly unreadable. Usually, it is better to endure some
175      redundancy against having a more readable workflow. Hence, just repeat
176      common prefixes. If path composition is unavoidable, use pathlib or
177      (python >= 3.6) string formatting with f"...".
178      Also see:
179
180    * Path composition with '+' in line 34:
181      This becomes quickly unreadable. Usually, it is better to endure some
182      redundancy against having a more readable workflow. Hence, just repeat
183      common prefixes. If path composition is unavoidable, use pathlib or
184      (python >= 3.6) string formatting with f"...".
185      Also see:
186
187    * Path composition with '+' in line 44:
188      This becomes quickly unreadable. Usually, it is better to endure some
189      redundancy against having a more readable workflow. Hence, just repeat
190      common prefixes. If path composition is unavoidable, use pathlib or
191      (python >= 3.6) string formatting with f"...".
192      Also see:
193
194    * Path composition with '+' in line 60:
195      This becomes quickly unreadable. Usually, it is better to endure some
196      redundancy against having a more readable workflow. Hence, just repeat
197      common prefixes. If path composition is unavoidable, use pathlib or
198      (python >= 3.6) string formatting with f"...".
199      Also see:
200
201
202... (truncated)

Formatting results

1TypeError: cannot unpack non-iterable PosixPath object
2
3snakefmt version: 0.5.0