Skip to content

Commit

Permalink
Merge pull request #7 from ICGC-TCGA-PanCancer/[email protected]
Browse files Browse the repository at this point in the history
[release]
  • Loading branch information
junjun-zhang authored Feb 10, 2021
2 parents 2f3b7df + f34257b commit bd32ef4
Show file tree
Hide file tree
Showing 19 changed files with 369 additions and 0 deletions.
69 changes: 69 additions & 0 deletions fastqc-wf3/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
*.py[cod]

# C extensions
*.so

# Packages
*.egg
*.egg-info
dist
build
eggs
.eggs
parts
bin
var
sdist
develop-eggs
.installed.cfg
lib
lib64
venv*/
pyvenv*/

# Installer logs
pip-log.txt

# Unit test / coverage reports
.coverage
.tox
.coverage.*
nosetests.xml
coverage.xml
htmlcov

# Translations
*.mo

# Mr Developer
.mr.developer.cfg
.project
.pydevproject
.idea
*.iml
*.komodoproject

# Complexity
output/*.html
output/*/index.html

# Sphinx
docs/_build

.DS_Store
*~
.*.sw[po]
.build
.ve
.env
.cache
.pytest
.bootstrap
.appveyor.token
*.bak
*.log
.vscode
.python-version
.nextflow*
work
outdir
42 changes: 42 additions & 0 deletions fastqc-wf3/fastqc-wf3.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/usr/bin/env nextflow

nextflow.enable.dsl = 2
version = '0.1.0' // package version

// universal params go here, change default value as needed
params.container_version = ""
params.cpus = 1
params.mem = 1 // GB
params.publish_dir = "" // set to empty string will disable publishDir

// tool specific parmas go here, add / change as needed
params.input_file = ""
params.output_pattern = "*.html" // fastqc output html report
params.another = ""


// include section starts
include { FastqcWf2 } from "./wfpr_modules/github.com/icgc-tcga-pancancer/awesome-wfpkgs2/[email protected]/fastqc-wf2"
include { cleanupWorkdir } from "./wfpr_modules/github.com/icgc-argo/demo-wfpkgs/[email protected]/main"

// include section ends


workflow FastqcWf3 {
take: // update as needed
// input section starts
input_file
// input section ends

main: // update as needed
// main section starts
FastqcWf2(input_file)

cleanupWorkdir(FastqcWf2.out, true)
// main section ends

emit: // update as needed
// output section starts
output_file = FastqcWf2.out.output_file
// output section ends
}
4 changes: 4 additions & 0 deletions fastqc-wf3/nextflow.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
docker {
enabled = true
runOptions = '-u \$(id -u):\$(id -g)'
}
33 changes: 33 additions & 0 deletions fastqc-wf3/pkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"name": "fastqc-wf3",
"version": "0.1.0",
"description": "FastQC workflow",
"main": "fastqc-wf3",
"scripts": {
"test": "wfpm test"
},
"deprecated": false,
"keywords": [
"bioinformatics",
"seq",
"qc metrics"
],
"repository": {
"type": "git",
"url": "https://github.com/icgc-tcga-pancancer/awesome-wfpkgs2.git"
},
"dependencies": [
"github.com/icgc-argo/demo-wfpkgs/[email protected]",
"github.com/icgc-tcga-pancancer/awesome-wfpkgs2/[email protected]"
],
"devDependencies": [],
"contributors": [
{
"name": "Junjun Zhang",
"email": "[email protected]"
}
],
"license": "MIT",
"bugReport": "https://github.com/icgc-tcga-pancancer/awesome-wfpkgs2/issues",
"homepage": "https://github.com/icgc-tcga-pancancer/awesome-wfpkgs2#readme"
}
68 changes: 68 additions & 0 deletions fastqc-wf3/tests/checker.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
#!/usr/bin/env nextflow

/*
This is an auto-generated checker workflow, please update as needed
*/

nextflow.enable.dsl = 2
version = '0.1.0' // package version

// universal params
params.publish_dir = ""
params.container_version = ""

// tool specific parmas go here, add / change as needed
params.input_file = ""
params.expected_output = ""

include { FastqcWf3 } from '../fastqc-wf3'
// include statements go here for dev dependencies

Channel
.fromPath(params.input_file, checkIfExists: true)
.set { input_file }


process file_diff {
input:
path output_file
path expected_gzip

output:
stdout()

script:
"""
# remove date field before comparison eg, <div id="header_filename">Tue 19 Jan 2021<br/>test_rg_3.bam</div>
# sed -e 's#"header_filename">.*<br/>test_rg_3.bam#"header_filename"><br/>test_rg_3.bam</div>#'
diff <( cat ${output_file} | sed -e 's#"header_filename">.*<br/>test_rg_3.bam#"header_filename"><br/>test_rg_3.bam</div>#' ) \
<( gunzip -c ${expected_gzip} | sed -e 's#"header_filename">.*<br/>test_rg_3.bam#"header_filename"><br/>test_rg_3.bam</div>#' ) \
&& ( echo "Test PASSED" && exit 0 ) || ( echo "Test FAILED, output file mismatch." && exit 1 )
"""
}


workflow checker {
take:
input_file
expected_output

main:
FastqcWf3(
input_file
)

file_diff(
FastqcWf3.out.output_file,
expected_output
)
}


workflow {
checker(
file(params.input_file),
file(params.expected_output)
)
}
1 change: 1 addition & 0 deletions fastqc-wf3/tests/expected/expected.input_file_name.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The input file name is README.md
Binary file not shown.
1 change: 1 addition & 0 deletions fastqc-wf3/tests/input/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This folder contains tiny data files for testing.
Binary file added fastqc-wf3/tests/input/test_rg_3.bam
Binary file not shown.
1 change: 1 addition & 0 deletions fastqc-wf3/tests/nextflow.config
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
includeConfig '../nextflow.config'
7 changes: 7 additions & 0 deletions fastqc-wf3/tests/test-job-1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"input_file": "input/test_rg_3.bam",
"expected_output": "expected/expected.test_rg_3_fastqc.out.gz",
"publish_dir": "outdir",
"cpus": 1,
"mem": 0.5
}
1 change: 1 addition & 0 deletions fastqc-wf3/tests/wfpr_modules
1 change: 1 addition & 0 deletions fastqc-wf3/wfpr_modules
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
*.py[cod]

# C extensions
*.so

# Packages
*.egg
*.egg-info
dist
build
eggs
.eggs
parts
bin
var
sdist
develop-eggs
.installed.cfg
lib
lib64
venv*/
pyvenv*/

# Installer logs
pip-log.txt

# Unit test / coverage reports
.coverage
.tox
.coverage.*
nosetests.xml
coverage.xml
htmlcov

# Translations
*.mo

# Mr Developer
.mr.developer.cfg
.project
.pydevproject
.idea
*.iml
*.komodoproject

# Complexity
output/*.html
output/*/index.html

# Sphinx
docs/_build

.DS_Store
*~
.*.sw[po]
.build
.ve
.env
.cache
.pytest
.bootstrap
.appveyor.token
*.bak
*.log
.vscode
.python-version
.nextflow*
work
outdir
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/usr/bin/env nextflow

nextflow.enable.dsl = 2
version = '0.1.2'

// universal params go here, change default value as needed
params.container_version = ""
params.cpus = 1
params.mem = 1 // GB
params.publish_dir = "" // set to empty string will disable publishDir

// tool specific parmas go here, add / change as needed
params.input_file = ""
params.output_pattern = "*.html" // fastqc output html report

include { fastqc } from "./wfpr_modules/github.com/icgc-tcga-pancancer/awesome-wfpkgs1/[email protected]/fastqc"
include { FastqcWf } from "./wfpr_modules/github.com/icgc-tcga-pancancer/awesome-wfpkgs2/[email protected]/fastqc-wf"
include { cleanupWorkdir } from "./wfpr_modules/github.com/icgc-argo/demo-wfpkgs/[email protected]/main"



workflow FastqcWf2 {
take: // input, make update as needed
input_file

main:
FastqcWf(input_file)

cleanupWorkdir(FastqcWf.out, true)

emit:
output_file = FastqcWf.out.output_file
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
docker {
enabled = true
runOptions = '-u \$(id -u):\$(id -g)'
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"name": "fastqc-wf2",
"version": "0.1.2",
"description": "FastQC workflow",
"main": "fastqc-wf2",
"scripts": {
"test": "wfpm test"
},
"deprecated": false,
"keywords": [
"bioinformatics",
"seq",
"qc metrics"
],
"repository": {
"type": "git",
"url": "https://github.com/icgc-tcga-pancancer/awesome-wfpkgs2.git"
},
"dependencies": [
"github.com/icgc-tcga-pancancer/awesome-wfpkgs2/[email protected]",
"github.com/icgc-argo/demo-wfpkgs/[email protected]"
],
"devDependencies": [],
"contributors": [
{
"name": "Junjun Zhang",
"email": "[email protected]"
}
],
"license": "MIT",
"bugReport": "https://github.com/icgc-tcga-pancancer/awesome-wfpkgs2/issues",
"homepage": "https://github.com/icgc-tcga-pancancer/awesome-wfpkgs2#readme"
}

0 comments on commit bd32ef4

Please sign in to comment.