From dd82756254f892caab105bbb1fc87dbab573b08c Mon Sep 17 00:00:00 2001 From: Yuk Kei Wan Date: Wed, 18 Sep 2024 18:25:04 +0800 Subject: [PATCH] tried replacing nanopolish with f5c, but will keep nanopolish bc idk who f5c got screwed here --- modules/local/f5c_index_eventalign.nf | 11 +++++-- modules/local/gtf2bed.nf | 2 +- modules/local/slow5tools_f2s_merge.nf | 30 ------------------- .../local/rna_modifications_xpore_m6anet.nf | 8 +++-- workflows/nanoseq.nf | 6 ++++ 5 files changed, 20 insertions(+), 37 deletions(-) delete mode 100644 modules/local/slow5tools_f2s_merge.nf diff --git a/modules/local/f5c_index_eventalign.nf b/modules/local/f5c_index_eventalign.nf index 717afbf7..dc241cc3 100644 --- a/modules/local/f5c_index_eventalign.nf +++ b/modules/local/f5c_index_eventalign.nf @@ -8,7 +8,7 @@ process F5C_INDEX_EVENTALIGN { 'quay.io/biocontainers/f5c:1.5--h56e2c18_1' }" input: - tuple val(meta), path(genome), path(gtf), path(fastq), path(bam), path(bai), path(blow5) + tuple val(meta), path(genome), path(gtf), path(fastqgz), path(bam), path(bai) output: tuple val(meta), path(genome), path(gtf), path("*eventalign.txt"), path("*summary.txt"), emit: f5c_outputs @@ -20,9 +20,14 @@ process F5C_INDEX_EVENTALIGN { script: sample_summary = "$meta.id" +"_summary.txt" sample_eventalign = "$meta.id" +"_eventalign.txt" + fastq="$meta.id"+".fastq" + fast5 = "$meta.fast5" + fastqi="$fastq"+"*" """ - f5c index --slow5 $blow5 $fastq - f5c eventalign --reads $fastq --bam $bam --genome $genome --slow5 $blow5 --scale-events --signal-index --summary $sample_summary --threads $task.cpus > $sample_eventalign + gunzip -c $fastqgz > $fastq + f5c index -d $fast5 $fastq + echo $fastqi + f5c eventalign --reads $fastq --bam $bam --genome $genome --scale-events --signal-index --rna --min-mapq 0 --min-recalib-events 1 --summary $sample_summary --threads $task.cpus > $sample_eventalign cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/local/gtf2bed.nf b/modules/local/gtf2bed.nf index 6ae37e61..7aa63e54 100644 --- a/modules/local/gtf2bed.nf +++ b/modules/local/gtf2bed.nf @@ -7,7 +7,7 @@ process GTF2BED { 'quay.io/biocontainers/perl:5.26.2' }" input: - tuple path(gtf), val(name) + tuple val(name), path(gtf) output: tuple path('*.bed'), val(name), emit: gtf_bed diff --git a/modules/local/slow5tools_f2s_merge.nf b/modules/local/slow5tools_f2s_merge.nf deleted file mode 100644 index 4d123a6e..00000000 --- a/modules/local/slow5tools_f2s_merge.nf +++ /dev/null @@ -1,30 +0,0 @@ -process SLOW5_F2S_MERGE { - tag "$meta.id" - label 'process_medium' - - conda "bioconda::slow5tools==1.2.0" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/slow5tools:1.2.0--h56e2c18_1' : - 'quay.io/biocontainers/slow5tools:1.2.0--h56e2c18_1' }" - - input: - tuple val(meta), path(genome), path(gtf), path(fastq), path(bam), path(bai) - - output: - tuple val(meta), path(genome), path(gtf), path("*eventalign.txt"), path("*summary.txt"), emit: nanopolish_outputs - path "versions.yml" , emit: versions - - when: - task.ext.when == null || task.ext.when - - script: - """ - slow5tools f2s fast5_dir -d blow5_dir - slow5tools merge blow5_dir -o file.blow5 - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - nanopolish: \$( slow5tools -V | head -n 1 | tail -c 6 ) - END_VERSIONS - """ -} diff --git a/subworkflows/local/rna_modifications_xpore_m6anet.nf b/subworkflows/local/rna_modifications_xpore_m6anet.nf index 5c35cc73..6ded8793 100644 --- a/subworkflows/local/rna_modifications_xpore_m6anet.nf +++ b/subworkflows/local/rna_modifications_xpore_m6anet.nf @@ -2,7 +2,9 @@ * RNA MODIFICATION DETECTION WITH XPORE AND M6ANET */ -include { NANOPOLISH_INDEX_EVENTALIGN } from '../../modules/local/nanopolish_index_eventalign' + +// include { F5C_INDEX_EVENTALIGN } from '../../modules/local/f5c_index_eventalign' // f5c works for my other pipeline, but idk how it got screwed here +include { NANOPOLISH_INDEX_EVENTALIGN } from '../../modules/local/nanopolish_index_eventalign' // nanopolish does the job include { XPORE_DATAPREP } from '../../modules/local/xpore_dataprep' include { XPORE_DIFFMOD } from '../../modules/local/xpore_diffmod' include { M6ANET_DATAPREP } from '../../modules/local/m6anet_dataprep' @@ -10,14 +12,14 @@ include { M6ANET_INFERENCE } from '../../modules/local/m6anet_inference' workflow RNA_MODIFICATION_XPORE_M6ANET { take: - ch_nanopolish_bam_fast5 + ch_bam_fast5 main: /* * Align current signals to reference with Nanopolish */ - NANOPOLISH_INDEX_EVENTALIGN { ch_nanopolish_bam_fast5 } + NANOPOLISH_INDEX_EVENTALIGN { ch_bam_fast5 } ch_nanopolish_outputs = NANOPOLISH_INDEX_EVENTALIGN.out.nanopolish_outputs nanopolish_version = NANOPOLISH_INDEX_EVENTALIGN.out.versions diff --git a/workflows/nanoseq.nf b/workflows/nanoseq.nf index bd72a84f..483096ef 100644 --- a/workflows/nanoseq.nf +++ b/workflows/nanoseq.nf @@ -126,6 +126,7 @@ include { GET_TEST_DATA } from '../modules/local/get_test_data' include { GET_NANOLYSE_FASTA } from '../modules/local/get_nanolyse_fasta' include { FAST5_TO_POD5 } from '../modules/local/fast5_to_pod5' include { DORADO } from '../modules/local/dorado' +include { GTF2BED } from '../modules/local/gtf2bed' include { BAM_RENAME } from '../modules/local/bam_rename' include { BAMBU } from '../modules/local/bambu' include { MULTIQC } from '../modules/local/multiqc' @@ -346,6 +347,11 @@ workflow NANOSEQ{ ch_fai = CUSTOM_GETCHROMSIZES.out.fai ch_software_versions = ch_software_versions.mix(CUSTOM_GETCHROMSIZES.out.versions.first().ifEmpty(null)) + // will add the following in when nf-core/modules/minimap2/align supports junction bed input + //GTF2BED ( ch_chr_sizes ) + //ch_gtf_bed = GTF2BED.out.gtf_bed + //gtf2bed_version = GTF2BED.out.versions + ch_samtools_multiqc = Channel.empty() if (!params.skip_alignment) {