-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generate reports per run, per project and per lane #13
Changes from 25 commits
a31040e
0da5870
d233d8f
307e43c
627cf94
c9ba028
2cfc91d
fbfb02d
8a19929
eba628e
23f69d1
1ebf3f1
b0bf471
9e0eca3
98e60bf
d95c660
e0527cc
42159a1
ef61f9f
51b01e9
7c7f31f
1c4f6e0
211bfaf
acc82d0
df4e9cb
2303db9
1ea8ac0
048765f
4329bb9
3ff8503
8ac4d76
84c9b3d
aaf17b6
e6dfea9
02affeb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,3 +6,4 @@ results/ | |
testing/ | ||
testing* | ||
*.pyc | ||
.nf-test |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
sample,lane,project,fastq_1,fastq_2,rundir | ||
sample,lane,group,fastq_1,fastq_2,rundir | ||
SAMPLE_PAIRED_END,1,P001,/path/to/fastq/files/AEG588A1_S1_L002_R1_001.fastq.gz,/path/to/fastq/files/AEG588A1_S1_L002_R2_001.fastq.gz,/path/to/rundir | ||
SAMPLE_SINGLE_END,2,P002,/path/to/fastq/files/AEG588A4_S4_L003_R1_001.fastq.gz,,/path/to/rundir |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
config { | ||
|
||
testsDir "tests" | ||
workDir ".nf-test" | ||
configFile "tests/nextflow.config" | ||
profile "test,docker" | ||
|
||
} |
kedhammar marked this conversation as resolved.
Show resolved
Hide resolved
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -84,7 +84,7 @@ workflow PIPELINE_INITIALISATION { | |
.fromSamplesheet("input") // Validates samplesheet against $projectDir/assets/schema_input.json. Path to validation schema is defined by $projectDir/nextflow_schema.json | ||
.map { | ||
meta, fastq_1, fastq_2 -> | ||
def id_string = "${meta.sample}_${meta.project ?: "ungrouped"}_${meta.lane}" | ||
def id_string = "${meta.sample}_${meta.group ?: "ungrouped"}_${meta.lane}" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Doesn't
This comment was marked as resolved.
Sorry, something went wrong. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's been removed from required. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 😳 Have I then been reviewing the wrong/outdated version of this PR all the time? Because I ran There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I removed it so we would be able to run on sequencing platforms without lanes, e.g. ONT. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sure, but what about the other paths, e.g. channel where There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could you point out where this would be an issue? I'll note that I don't mind re-working this code into something more explicit, I simply lack the know-how as of now 😆 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I guess the question is, is
and then the id string should be: There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks for clarifying! From what I remember of the initial meeting, the Intuitively I think having a consistent way to generate the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Wouldn't it be easier to use the user-provided sample column? Could be potentially combined with a short |
||
def updated_meta = meta + [ id: id_string ] | ||
if (!fastq_2) { | ||
return [ updated_meta.id, updated_meta + [ single_end:true ], [ fastq_1 ] ] | ||
|
@@ -101,7 +101,6 @@ workflow PIPELINE_INITIALISATION { | |
// meta, fastqs -> | ||
// return [ meta, fastqs.flatten() ] | ||
// } | ||
.view() | ||
.set { ch_samplesheet } | ||
|
||
emit: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
nextflow_pipeline { | ||
|
||
name "Test Workflow main.nf on MiSeq data" | ||
script "../main.nf" | ||
tag "seqinspector" | ||
tag "PIPELINE" | ||
|
||
test("MiSeq data test") { | ||
|
||
when { | ||
params { | ||
outdir = "$outputDir" | ||
input = "https://raw.githubusercontent.com/nf-core/test-datasets/seqinspector/testdata/MiSeq/samplesheet.csv" | ||
kedhammar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
} | ||
} | ||
|
||
then { | ||
assertAll( | ||
{ assert workflow.success }, | ||
{ assert snapshot( | ||
path("$outputDir/multiqc/lanes/L1/multiqc_data/multiqc_citations.txt"), | ||
path("$outputDir/multiqc/lanes/L1/multiqc_data/multiqc_fastqc.txt"), | ||
path("$outputDir/multiqc/lanes/L1/multiqc_data/multiqc_general_stats.txt"), | ||
path("$outputDir/multiqc/lanes/L1/multiqc_data/multiqc_software_versions.txt"), | ||
|
||
path("$outputDir/multiqc/groups/P001/multiqc_data/multiqc_citations.txt"), | ||
path("$outputDir/multiqc/groups/P001/multiqc_data/multiqc_fastqc.txt"), | ||
path("$outputDir/multiqc/groups/P001/multiqc_data/multiqc_general_stats.txt"), | ||
path("$outputDir/multiqc/groups/P001/multiqc_data/multiqc_software_versions.txt"), | ||
|
||
path("$outputDir/multiqc/multiqc_data/multiqc_citations.txt"), | ||
path("$outputDir/multiqc/multiqc_data/multiqc_fastqc.txt"), | ||
path("$outputDir/multiqc/multiqc_data/multiqc_general_stats.txt"), | ||
path("$outputDir/multiqc/multiqc_data/multiqc_software_versions.txt"), | ||
).match() | ||
} | ||
) | ||
} | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
{ | ||
"MiSeq data test": { | ||
"content": [ | ||
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f", | ||
"multiqc_fastqc.txt:md5,692b8aed0614ed1655f2c1cbea1ba312", | ||
"multiqc_general_stats.txt:md5,630167d67d3f92408cd1a04422c7196f", | ||
"multiqc_software_versions.txt:md5,7452f1f7aae2a8a4066c2ef6cd5ceb95", | ||
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f", | ||
"multiqc_fastqc.txt:md5,692b8aed0614ed1655f2c1cbea1ba312", | ||
"multiqc_general_stats.txt:md5,630167d67d3f92408cd1a04422c7196f", | ||
"multiqc_software_versions.txt:md5,7452f1f7aae2a8a4066c2ef6cd5ceb95", | ||
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f", | ||
"multiqc_fastqc.txt:md5,692b8aed0614ed1655f2c1cbea1ba312", | ||
"multiqc_general_stats.txt:md5,630167d67d3f92408cd1a04422c7196f", | ||
"multiqc_software_versions.txt:md5,7452f1f7aae2a8a4066c2ef6cd5ceb95" | ||
], | ||
"timestamp": "2024-05-08T16:29:33.284003" | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
nextflow_pipeline { | ||
|
||
name "Test Workflow main.nf on NovaSeq6000 data" | ||
script "../main.nf" | ||
tag "seqinspector" | ||
tag "PIPELINE" | ||
|
||
test("NovaSeq6000 data test") { | ||
|
||
when { | ||
params { | ||
outdir = "$outputDir" | ||
input = "https://raw.githubusercontent.com/nf-core/test-datasets/seqinspector/testdata/NovaSeq6000/samplesheet.csv" | ||
kedhammar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
} | ||
} | ||
|
||
then { | ||
assertAll( | ||
{ assert workflow.success }, | ||
{ assert snapshot( | ||
path("$outputDir/multiqc/lanes/L1/multiqc_data/multiqc_citations.txt"), | ||
path("$outputDir/multiqc/lanes/L1/multiqc_data/multiqc_fastqc.txt"), | ||
path("$outputDir/multiqc/lanes/L1/multiqc_data/multiqc_general_stats.txt"), | ||
path("$outputDir/multiqc/lanes/L1/multiqc_data/multiqc_software_versions.txt"), | ||
|
||
path("$outputDir/multiqc/groups/S1/multiqc_data/multiqc_citations.txt"), | ||
path("$outputDir/multiqc/groups/S1/multiqc_data/multiqc_fastqc.txt"), | ||
path("$outputDir/multiqc/groups/S1/multiqc_data/multiqc_general_stats.txt"), | ||
path("$outputDir/multiqc/groups/S1/multiqc_data/multiqc_software_versions.txt"), | ||
|
||
path("$outputDir/multiqc/groups/S2/multiqc_data/multiqc_citations.txt"), | ||
path("$outputDir/multiqc/groups/S2/multiqc_data/multiqc_fastqc.txt"), | ||
path("$outputDir/multiqc/groups/S2/multiqc_data/multiqc_general_stats.txt"), | ||
path("$outputDir/multiqc/groups/S2/multiqc_data/multiqc_software_versions.txt"), | ||
|
||
path("$outputDir/multiqc/groups/S3/multiqc_data/multiqc_citations.txt"), | ||
path("$outputDir/multiqc/groups/S3/multiqc_data/multiqc_fastqc.txt"), | ||
path("$outputDir/multiqc/groups/S3/multiqc_data/multiqc_general_stats.txt"), | ||
path("$outputDir/multiqc/groups/S3/multiqc_data/multiqc_software_versions.txt"), | ||
|
||
path("$outputDir/multiqc/groups/S4/multiqc_data/multiqc_citations.txt"), | ||
path("$outputDir/multiqc/groups/S4/multiqc_data/multiqc_fastqc.txt"), | ||
path("$outputDir/multiqc/groups/S4/multiqc_data/multiqc_general_stats.txt"), | ||
path("$outputDir/multiqc/groups/S4/multiqc_data/multiqc_software_versions.txt"), | ||
|
||
path("$outputDir/multiqc/multiqc_data/multiqc_citations.txt"), | ||
path("$outputDir/multiqc/multiqc_data/multiqc_fastqc.txt"), | ||
path("$outputDir/multiqc/multiqc_data/multiqc_general_stats.txt"), | ||
path("$outputDir/multiqc/multiqc_data/multiqc_software_versions.txt"), | ||
).match() | ||
}, | ||
) | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what about an extra "individual" field for when you have multiple samples from the same patient (thinking cancer sample sarek style)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or is this what you mean by group?