Skip to content
Snippets Groups Projects
generate_transcripts.nf 1.07 KiB
#!/usr/bin/env nextflow

params.fasta = "/inputs/ref_genome.fa"
params.gtf = "/inputs/ref_annotation.gtf"
params.outdir = "/tests"
params.tail_length = "100"
params.weights = "1.0 0.0 0.0 0.0"

project_dir = projectDir

process getTranscriptGTF {

    input:
        path gtf from params.gtf
    
    output:
        file "transcripts.gtf" into transcripts_gtf

    """
    awk '\$3 == "transcript"' ${gtf} > transcripts.gtf
    """
}

process getTranscripts {

    input:
        path fasta from params.fasta
        file gtf from transcripts_gtf

    output:
        file "transcripts.fa" into transcripts_fa

    """
    bedtools getfasta -fi ${fasta} -bed ${gtf} -fo transcripts.fa
    """
}

process addPolyA {
publishDir params.outdir, mode: 'copy', pattern: 'transcripts_with_polyA.fa'

    input:
        file transcripts from transcripts_fa

    output:
        file "transcripts_with_polyA.fa" into transcripts_polyA

    script:
    """
    python3 $project_dir/poly_a.py -i ${transcripts} -o transcripts_with_polyA.fa --length ${params.tail_length} --weights ${params.weights}
    """
}