Skip to content

Commit fe29bd5

Browse files
committed
Merge branch 'dev' of https://github.com/number-25/rich_directRNA into dev
2 parents 40634d3 + b9cf698 commit fe29bd5

4 files changed

Lines changed: 126 additions & 67 deletions

File tree

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
*.nf.test linguist-language=nextflow
33
modules/nf-core/** linguist-generated
44
subworkflows/nf-core/** linguist-generated
5+
*.html linguist-generated=true

modules/local/sqanti/qc/main.nf

Lines changed: 49 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,51 @@
1-
process QC_SQANTI {
1+
process SQANTI_QC {
22
tag "$meta.id"
33
label 'process_high'
44
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
5-
'anaconesalab/sqanti3:5.3.6-conda-fix'"
5+
'anaconesalab/sqanti3:v5.5.1"
66
77
input:
88
tuple val(meta), path(reconstructed_transcriptome)
99
path annotation_gtf
1010
tuple path(genome_fasta), path(genome_fasta_index)
11-
val program
11+
val reconstruction_program
1212
1313
output:
14-
// Substantial outputs list
15-
path "refAnnotation_*.genePred", optional: yes
16-
path "*.params.txt"
17-
path "*_classification.txt"
18-
path "*_corrected.faa"
19-
path "*_corrected.fasta"
20-
path "*_corrected.genePred", optional: yes
21-
path "*.corrected.gtf"
22-
path "*.corrected.gtf.cds.gff"
23-
path "*.html", optional: yes
24-
path "*.pdf", optional: yes
25-
path "*.junctions.txt", optional: yes
14+
path "isoforms_classification.txt"
15+
path "isoforms_corrected.cds.gff3"
16+
path "isoforms_corrected.faa"
17+
path "isoforms_corrected.fasta"
18+
path "isoforms_corrected.genePred"
19+
tuple val(meta), path "isoforms_corrected.gtf", emit: sqanti_qc_isoforms_gtf
20+
path "isoforms_junctions.txt"
21+
path "isoforms.qc_params.txt"
22+
path "refAnnotation_isoforms.genePred"
2623
path "unknown_strand.gtf"
27-
path "GMST"
28-
path "RTS"
29-
path "versions.yml" , emit: versions
24+
//path "logs/final_report.log"
25+
//path "logs/gtf2fasta.log
26+
//path "logs/GTF_to_genePred.log"
27+
//path "logs/normalize_gtf.log"
28+
//path "logs/sqanti3_qc.log"
29+
//path "logs/TD2_LongOrfs.log"
30+
//path "logs/TD2_Predict.log"
31+
path "RTS/sj.rts.results.tsv" , optional: yes
32+
path "TD2/isoforms_corrected.fasta.TD2.bed" , optional: yes
33+
path "TD2/isoforms_corrected.fasta.TD2.cds" , optional: yes
34+
path "TD2/isoforms_corrected.fasta.TD2.gff2" , optional: yes
35+
path "TD2/longest_orfs.cds" , optional: yes
36+
path "TD2/longest_orfs.gff2" , optional: yes
37+
path "TD2/longest_orfs.pep" , optional: yes
38+
path "TD2/psauron_score.csv" , optional: yes
39+
path "versions.yml" , emit: versions
3040
3141
when:
3242
task.ext.when == null || task.ext.when
3343
3444
script:
3545
def args = task.ext.args ?: ''
3646
def output_name = task.ext.out_name ?: "--output ${program}"
37-
def prefix = task.ext.prefix ?: "${meta.id}.${meta.replicate}_${program}_sqantiQC"
47+
def prefix = task.ext.prefix ?:
48+
"${meta.id}.${meta.replicate}_${reconstruction_ program}_sqantiQC"
3849
"""
3950
sqantiqc.py \\
4051
$reconstructed_transcriptome \\
@@ -55,25 +66,27 @@ process QC_SQANTI {
5566
def output_name = task.ext.out_name ?: "--output ${program}"
5667
def prefix = task.ext.prefix ?: "${meta.id}.${meta.replicate}_${program}_sqantiQC"
5768
"""
58-
mkdir GMST
59-
touch GMST/gms.log
60-
touch GMST/GMST_tmp
61-
touch GMST/GMST_tmp.faa
62-
touch GMST/GMST_tmp.fnn
69+
touch isoforms_classification.txt
70+
touch isoforms_corrected.cds.gff3
71+
touch isoforms_corrected.faa
72+
touch isoforms_corrected.fasta
73+
touch isoforms_corrected.genePred
74+
touch isoforms_corrected.gtf
75+
touch isoforms_junctions.txt
76+
touch isoforms.qc_params.txt
77+
touch refAnnotation_isoforms.genePred
78+
touch unknown_strand.gtf
79+
mkdir logs
6380
mkdir RTS
6481
touch RTS/sj.rts.results.tsv
65-
touch unknown_strand.gtf
66-
touch ${program}_SQANTI3_report.html
67-
touch ${program}_SQANTI3_report.pdf
68-
touch ${program}_junctions.txt
69-
touch ${program}_corrected.gtf.cds.gff
70-
touch ${program}_corrected.gtf
71-
touch ${program}_corrected.genePred
72-
touch ${program}_corrected.fasta
73-
touch ${program}_corrected.faa
74-
touch ${program}_classification.txt
75-
touch ${program}.params.txt
76-
touch refAnnotation_${program}.genePred
82+
mkdir TD2
83+
touch TD2/isoforms_corrected.fasta.TD2.bed
84+
touch TD2/isoforms_corrected.fasta.TD2.cds
85+
touch TD2/isoforms_corrected.fasta.TD2.gff2
86+
touch TD2/longest_orfs.cds
87+
touch TD2/longest_orfs.gff2
88+
touch TD2/longest_orfs.pep
89+
touch TD2/psauron_score.csv
7790
7891
cat <<-END_VERSIONS > versions.yml
7992
"${task.process}":

sqanti3_trial_run/run_sqanti3_qc.sh

Lines changed: 0 additions & 31 deletions
This file was deleted.

subworkflows/local/sqanti/main.nf

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
//****************************************************************************
2+
//* SUBWORKFLOW: SQANTI - ALL
3+
//* Run SQANTI modules
4+
//****************************************************************************
5+
6+
7+
include { SQANTI_QC } from '../../../modules/local/cramino/cramino'
8+
include { SQANTI_FILTER } from '../../../modules/local/alfred/qc'
9+
include { SQANTI_RESCUE } from '../../../modules/local/alfred/qc'
10+
11+
workflow BAM_QC {
12+
13+
take:
14+
skip_sqanti_qc
15+
skip_sqanti_filter
16+
skip_sqanti_rescue
17+
reconstruction_program
18+
19+
main:
20+
21+
ch_versions = Channel.empty()
22+
23+
// cramino
24+
if (skip_cramino != true) {
25+
CRAMINO( bam, cramino_min_length )
26+
ch_cramino = CRAMINO.out.cramino_stats
27+
ch_versions = ch_versions.mix(CRAMINO.out.versions.first())
28+
} else {
29+
ch_cramino = null
30+
}
31+
32+
// alfred
33+
if (skip_alfred != true) {
34+
ALFRED( bam, genome_fasta )
35+
ch_alfred_stats = ALFRED.out.alfred_stats
36+
TRANSPOSE( ch_alfred_stats )
37+
ch_alfred_stats_transposed = TRANSPOSE.out.alfred_stats_transposed
38+
ch_versions = ch_versions.mix(ALFRED.out.versions.first())
39+
ch_versions = ch_versions.mix(TRANSPOSE.out.versions)
40+
} else {
41+
ch_alfred_stats = null
42+
ch_alfred_stats_transposed = null
43+
}
44+
45+
// samtools flagstat
46+
if (skip_samtools_flagstat != true) {
47+
SAMTOOLS_FLAGSTAT( bam )
48+
ch_samtools_flagstat = SAMTOOLS_FLAGSTAT.out.flagstat
49+
ch_versions = ch_versions.mix(SAMTOOLS_FLAGSTAT.out.versions)
50+
} else {
51+
ch_samtools_flagstat = null
52+
}
53+
54+
if (skip_ngs_bits != true) {
55+
NGS_BITS(
56+
mixed_bam,
57+
genome_fasta,
58+
ngs_bits_build,
59+
ngs_bits_skip_contamination
60+
)
61+
ch_ngs_bits = NGS_BITS.out.qcML
62+
ch_versions = ch_versions.mix(NGS_BITS.out.versions.first())
63+
64+
} else {
65+
ch_ngs_bits = null
66+
}
67+
68+
emit:
69+
cramino_stats = ch_cramino // channel: [ val(meta), [ bam ] ]
70+
alfred_stats = ch_alfred_stats // channel: [ val(meta), [ bai ] ]
71+
alfred_stats_transpose = ch_alfred_stats_transposed // channel: [ val(meta), [ bai ] ]
72+
flagstat = ch_samtools_flagstat // channel: [ val(meta), [ csi ] ]
73+
ngs_bits_stats = ch_ngs_bits
74+
75+
versions = ch_versions // channel: [ versions.yml ]
76+
}

0 commit comments

Comments
 (0)