CBIbigA/hicstuff_pipeline

hicstuff_pipeline

Overview

Topics:

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

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/CBIbigA/hicstuff_pipeline . --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/tmp27xhe6tc/workflow/Snakefile:
  2    * Path composition with '+' in line 21:
  3      This becomes quickly unreadable. Usually, it is better to endure some
  4      redundancy against having a more readable workflow. Hence, just repeat
  5      common prefixes. If path composition is unavoidable, use pathlib or
  6      (python >= 3.6) string formatting with f"...".
  7      Also see:
  8
  9
 10Lints for snakefile /tmp/tmp27xhe6tc/workflow/rules/cooler.smk:
 11    * Path composition with '+' in line 3:
 12      This becomes quickly unreadable. Usually, it is better to endure some
 13      redundancy against having a more readable workflow. Hence, just repeat
 14      common prefixes. If path composition is unavoidable, use pathlib or
 15      (python >= 3.6) string formatting with f"...".
 16      Also see:
 17
 18    * Path composition with '+' in line 6:
 19      This becomes quickly unreadable. Usually, it is better to endure some
 20      redundancy against having a more readable workflow. Hence, just repeat
 21      common prefixes. If path composition is unavoidable, use pathlib or
 22      (python >= 3.6) string formatting with f"...".
 23      Also see:
 24
 25    * Path composition with '+' in line 8:
 26      This becomes quickly unreadable. Usually, it is better to endure some
 27      redundancy against having a more readable workflow. Hence, just repeat
 28      common prefixes. If path composition is unavoidable, use pathlib or
 29      (python >= 3.6) string formatting with f"...".
 30      Also see:
 31
 32    * Path composition with '+' in line 10:
 33      This becomes quickly unreadable. Usually, it is better to endure some
 34      redundancy against having a more readable workflow. Hence, just repeat
 35      common prefixes. If path composition is unavoidable, use pathlib or
 36      (python >= 3.6) string formatting with f"...".
 37      Also see:
 38
 39    * Path composition with '+' in line 20:
 40      This becomes quickly unreadable. Usually, it is better to endure some
 41      redundancy against having a more readable workflow. Hence, just repeat
 42      common prefixes. If path composition is unavoidable, use pathlib or
 43      (python >= 3.6) string formatting with f"...".
 44      Also see:
 45
 46    * Path composition with '+' in line 22:
 47      This becomes quickly unreadable. Usually, it is better to endure some
 48      redundancy against having a more readable workflow. Hence, just repeat
 49      common prefixes. If path composition is unavoidable, use pathlib or
 50      (python >= 3.6) string formatting with f"...".
 51      Also see:
 52
 53    * Path composition with '+' in line 24:
 54      This becomes quickly unreadable. Usually, it is better to endure some
 55      redundancy against having a more readable workflow. Hence, just repeat
 56      common prefixes. If path composition is unavoidable, use pathlib or
 57      (python >= 3.6) string formatting with f"...".
 58      Also see:
 59
 60    * Path composition with '+' in line 26:
 61      This becomes quickly unreadable. Usually, it is better to endure some
 62      redundancy against having a more readable workflow. Hence, just repeat
 63      common prefixes. If path composition is unavoidable, use pathlib or
 64      (python >= 3.6) string formatting with f"...".
 65      Also see:
 66
 67
 68Lints for snakefile /tmp/tmp27xhe6tc/workflow/rules/cutadapt.smk:
 69    * Path composition with '+' in line 8:
 70      This becomes quickly unreadable. Usually, it is better to endure some
 71      redundancy against having a more readable workflow. Hence, just repeat
 72      common prefixes. If path composition is unavoidable, use pathlib or
 73      (python >= 3.6) string formatting with f"...".
 74      Also see:
 75
 76    * Path composition with '+' in line 15:
 77      This becomes quickly unreadable. Usually, it is better to endure some
 78      redundancy against having a more readable workflow. Hence, just repeat
 79      common prefixes. If path composition is unavoidable, use pathlib or
 80      (python >= 3.6) string formatting with f"...".
 81      Also see:
 82
 83
 84Lints for snakefile /tmp/tmp27xhe6tc/workflow/rules/hicstuff.smk:
 85    * Path composition with '+' in line 21:
 86      This becomes quickly unreadable. Usually, it is better to endure some
 87      redundancy against having a more readable workflow. Hence, just repeat
 88      common prefixes. If path composition is unavoidable, use pathlib or
 89      (python >= 3.6) string formatting with f"...".
 90      Also see:
 91
 92    * Path composition with '+' in line 25:
 93      This becomes quickly unreadable. Usually, it is better to endure some
 94      redundancy against having a more readable workflow. Hence, just repeat
 95      common prefixes. If path composition is unavoidable, use pathlib or
 96      (python >= 3.6) string formatting with f"...".
 97      Also see:
 98
 99    * Path composition with '+' in line 27:
100      This becomes quickly unreadable. Usually, it is better to endure some
101      redundancy against having a more readable workflow. Hence, just repeat
102      common prefixes. If path composition is unavoidable, use pathlib or
103      (python >= 3.6) string formatting with f"...".
104      Also see:
105
106    * Path composition with '+' in line 37:
107      This becomes quickly unreadable. Usually, it is better to endure some
108      redundancy against having a more readable workflow. Hence, just repeat
109      common prefixes. If path composition is unavoidable, use pathlib or
110      (python >= 3.6) string formatting with f"...".
111      Also see:
112
113    * Path composition with '+' in line 2:
114      This becomes quickly unreadable. Usually, it is better to endure some
115      redundancy against having a more readable workflow. Hence, just repeat
116      common prefixes. If path composition is unavoidable, use pathlib or
117      (python >= 3.6) string formatting with f"...".
118      Also see:
119
120    * Path composition with '+' in line 25:
121      This becomes quickly unreadable. Usually, it is better to endure some
122      redundancy against having a more readable workflow. Hence, just repeat
123      common prefixes. If path composition is unavoidable, use pathlib or
124      (python >= 3.6) string formatting with f"...".
125      Also see:
126
127
128Lints for snakefile /tmp/tmp27xhe6tc/workflow/rules/juicertools.smk:
129    * Path composition with '+' in line 25:
130      This becomes quickly unreadable. Usually, it is better to endure some
131      redundancy against having a more readable workflow. Hence, just repeat
132      common prefixes. If path composition is unavoidable, use pathlib or
133      (python >= 3.6) string formatting with f"...".
134      Also see:
135
136    * Path composition with '+' in line 29:
137      This becomes quickly unreadable. Usually, it is better to endure some
138      redundancy against having a more readable workflow. Hence, just repeat
139      common prefixes. If path composition is unavoidable, use pathlib or
140      (python >= 3.6) string formatting with f"...".
141      Also see:
142
143    * Path composition with '+' in line 31:
144      This becomes quickly unreadable. Usually, it is better to endure some
145      redundancy against having a more readable workflow. Hence, just repeat
146      common prefixes. If path composition is unavoidable, use pathlib or
147      (python >= 3.6) string formatting with f"...".
148      Also see:
149
150    * Path composition with '+' in line 33:
151      This becomes quickly unreadable. Usually, it is better to endure some
152      redundancy against having a more readable workflow. Hence, just repeat
153      common prefixes. If path composition is unavoidable, use pathlib or
154      (python >= 3.6) string formatting with f"...".
155      Also see:
156
157    * Path composition with '+' in line 6:
158      This becomes quickly unreadable. Usually, it is better to endure some
159      redundancy against having a more readable workflow. Hence, just repeat
160      common prefixes. If path composition is unavoidable, use pathlib or
161      (python >= 3.6) string formatting with f"...".
162      Also see:
163
164
165Lints for snakefile /tmp/tmp27xhe6tc/workflow/rules/makeChromSize.smk:
166    * Path composition with '+' in line 7:
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
174Lints for snakefile /tmp/tmp27xhe6tc/workflow/rules/pairtools.smk:
175    * Path composition with '+' in line 3:
176      This becomes quickly unreadable. Usually, it is better to endure some
177      redundancy against having a more readable workflow. Hence, just repeat
178      common prefixes. If path composition is unavoidable, use pathlib or
179      (python >= 3.6) string formatting with f"...".
180      Also see:
181
182    * Path composition with '+' in line 5:
183      This becomes quickly unreadable. Usually, it is better to endure some
184      redundancy against having a more readable workflow. Hence, just repeat
185      common prefixes. If path composition is unavoidable, use pathlib or
186      (python >= 3.6) string formatting with f"...".
187      Also see:
188
189    * Path composition with '+' in line 7:
190      This becomes quickly unreadable. Usually, it is better to endure some
191      redundancy against having a more readable workflow. Hence, just repeat
192      common prefixes. If path composition is unavoidable, use pathlib or
193      (python >= 3.6) string formatting with f"...".
194      Also see:
195
196    * Path composition with '+' in line 9:
197      This becomes quickly unreadable. Usually, it is better to endure some
198      redundancy against having a more readable workflow. Hence, just repeat
199      common prefixes. If path composition is unavoidable, use pathlib or
200      (python >= 3.6) string formatting with f"...".
201
202... (truncated)

Formatting results

 1[DEBUG] 
 2[DEBUG] In file "/tmp/tmp27xhe6tc/workflow/rules/pairtools.smk":  Formatted content is different from original
 3[DEBUG] 
 4[DEBUG] In file "/tmp/tmp27xhe6tc/workflow/rules/hicstuff.smk":  Formatted content is different from original
 5[DEBUG] 
 6[DEBUG] In file "/tmp/tmp27xhe6tc/workflow/Snakefile":  Formatted content is different from original
 7[DEBUG] 
 8[DEBUG] In file "/tmp/tmp27xhe6tc/workflow/rules/juicertools.smk":  Formatted content is different from original
 9[DEBUG] 
10[DEBUG] In file "/tmp/tmp27xhe6tc/workflow/rules/makeChromSize.smk":  Formatted content is different from original
11[DEBUG] 
12[DEBUG] In file "/tmp/tmp27xhe6tc/workflow/rules/cutadapt.smk":  Formatted content is different from original
13[DEBUG] 
14[DEBUG] In file "/tmp/tmp27xhe6tc/workflow/rules/cooler.smk":  Formatted content is different from original
15[INFO] 7 file(s) would be changed 😬
16
17snakefmt version: 0.5.0