Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -339,11 +339,15 @@ Please check [NANOME report](https://github.com/LabShengLi/nanome/blob/master/do
Please check [phasing usage](https://github.com/LabShengLi/nanome/blob/master/docs/Phasing.md).
![PhasingDemo](https://github.com/LabShengLi/nanome/blob/master/docs/resources/nanome3t_5mc_phasing2.png)

### Lifebit CloudOS report
We now support running NANOME on cloud computing platform. [Lifebit](https://lifebit.ai/lifebit-cloudos/) is a web-based cloud computing platform, and below is the running reports:
* Ecoli test report: https://cloudos.lifebit.ai/public/jobs/6430509445941801546e5f8f
* Human test report: https://cloudos.lifebit.ai/public/jobs/6430639045941801546e627f
* NA12878 chr22 report: https://cloudos.lifebit.ai/public/jobs/6430b64645941801546e7400
[//]: # (### Lifebit CloudOS report)

[//]: # (We now support running NANOME on cloud computing platform. [Lifebit](https://lifebit.ai/lifebit-cloudos/) is a web-based cloud computing platform, and below is the running reports:)

[//]: # (* Ecoli test report: https://cloudos.lifebit.ai/public/jobs/6430509445941801546e5f8f)

[//]: # (* Human test report: https://cloudos.lifebit.ai/public/jobs/6430639045941801546e627f)

[//]: # (* NA12878 chr22 report: https://cloudos.lifebit.ai/public/jobs/6430b64645941801546e7400)


## Revision History
Expand Down
6 changes: 3 additions & 3 deletions conf/examples/test_dorado.config
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/*
* -------------------------------------------------
* Nextflow config file for CI human test case
* Nextflow config file for CI human test case for Dorado
* -------------------------------------------------
* Defines bundled input files and everything required
* to run a fast and simple test. Use as follows:
* nextflow run LabShengLi/nanome -profile test,<docker/singularity>
* nextflow run LabShengLi/nanome -profile test_dorado,<docker/singularity>
*/

params{
Expand All @@ -28,7 +28,7 @@ process {
maxRetries = params.maxRetries

withName: 'ENVCHECK' {
// allow retry if download Rerio model failed
// allow retry if download files failed
errorStrategy = {task.attempt >= process.maxRetries ? params.errorStrategy : 'retry' }
}
}
53 changes: 53 additions & 0 deletions conf/executors/usc.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
* -------------------------------------------------
* Nextflow default input from USC CARC HPC
* -------------------------------------------------
* Defines bundled specific input data from USC CARC HPC
*
*/
params{
max_cpus = 16
max_memory = 128.GB

gpu_queue = 'gpu'
// gpu_qos = null
gpu_processors = 4
gpu_memory = '64.GB'
gpu_time = '2.d'
gpu_gresOptions = 'gpu:a100:1'

cpu_queue = 'main'
// cpu_qos = null
cpu_processors = 8
cpu_memory = '128.GB'
cpu_time = '2.d'

queueSize = 24
// used for singularity identify both file systems
containerOptions = '--nv -B /project/sli68423_1316 -B /scratch1/yliu8962'
}

process{
executor = "slurm"
// module = "slurm:singularity"
containerOptions = params.containerOptions

withName: 'ENVCHECK|UNTAR|ALIGNMENT|QCEXPORT|RESQUIGGLE|NANOPOLISH|Tombo|Guppy6Comb|METEORE|CLAIR3|PHASING|CONSENSUS|EVAL|REPORT|NPLSHCOMB|MGLDNCOMB|DPSIGCOMB|DEEPSIGNAL2COMB|GuppyComb|TomboComb|DpmodComb|Guppy6Comb|DORADO_DEMUX' {
queue = params.cpu_queue
cpus = params.cpu_processors
memory = params.cpu_memory
time = params.cpu_time
}

withName: 'BASECALL|MEGALODON|Guppy6|Guppy|DEEPSIGNAL|DEEPSIGNAL2|DeepMod|METEORE|DORADO_CALL' {
queue = params.gpu_queue
cpus = params.gpu_processors
memory = params.gpu_memory
time = params.gpu_time
clusterOptions = " ${params.gpu_gresOptions ? '--gres=' + params.gpu_gresOptions : ' '}"
}
}

executor {
queueSize = params.queueSize
}
41 changes: 28 additions & 13 deletions main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ include { EVAL } from './modules/EVAL'

include { REPORT } from './modules/REPORT'

include { DORADO_UNTAR; DORADO_CALL; DORADO_QC; DORADO_CALL_EXTRACT; UNIFY } from './modules/DORADO'
include { DORADO_UNTAR; DORADO_CALL; DORADO_DEMUX; DORADO_QC; DORADO_CALL_EXTRACT; UNIFY; CLAIR3_dorado } from './modules/DORADO'

// place holder channel, used for empty file of a channel
null1 = Channel.fromPath("${projectDir}/utils/null1")
Expand Down Expand Up @@ -333,23 +333,38 @@ workflow {
// environment check
ENVCHECK(ch_genome, ch_utils, ch_rerio_dir, ch_deepsignal_dir)


if (params.dorado) { // Dorado ecosystems
// ch_inputs.collect().view()
if (!params.input_bam) {
DORADO_UNTAR(ch_inputs.collect())
DORADO_CALL(DORADO_UNTAR.out.untar, ENVCHECK.out.reference_genome)
dorado_call = DORADO_CALL.out.dorado_call
} else {
dorado_call = ch_inputs.collect()
}

if (params.demux) {
DORADO_DEMUX(dorado_call)
} else { // demux will not run QC
DORADO_QC(dorado_call, ENVCHECK.out.reference_genome)

DORADO_UNTAR(ch_inputs.collect())
DORADO_CALL(DORADO_UNTAR.out.untar, ENVCHECK.out.reference_genome)
DORADO_QC(DORADO_CALL.out.dorado_call, ENVCHECK.out.reference_genome)
// bam_fn = "${params.dsname}.dorado_call/${params.dsname}.dorado_call.bam"
// extract per read
DORADO_CALL_EXTRACT("per_read",
dorado_call, ENVCHECK.out.reference_genome,
ch_src, ch_utils)

// convert to per site
UNIFY("Dorado","NANOME", "all",
DORADO_CALL_EXTRACT.out.dorado_call_extract,
ENVCHECK.out.reference_genome,
ch_src, ch_utils)

bam_fn = "${params.dsname}.dorado_call/${params.dsname}.dorado_call.bam"
DORADO_CALL_EXTRACT("per_read", bam_fn,
DORADO_CALL.out.dorado_call, ENVCHECK.out.reference_genome,
ch_src, ch_utils)
if (params.phasing) {
CLAIR3_dorado(dorado_call, ENVCHECK.out.reference_genome)
}
}

UNIFY("Dorado","NANOME", "all",
DORADO_CALL_EXTRACT.out.dorado_call_extract,
ENVCHECK.out.reference_genome,
ch_src, ch_utils)
} else { // Guppy ecosystems
if (params.runBasecall) {
UNTAR(ch_inputs)
Expand Down
Loading