Giter VIP home page Giter VIP logo

bpipe-trinotate's Introduction

A bpipe script to run the Trinotate transcriptome annotation pipeline

Files Required

  • A Trinity assembly file, Trinity.fasta

  • A prepared pfam database

     wget http://sourceforge.net/projects/trinotate/files/TRINOTATE_RESOURCES/Pfam-A.hmm.gz/download -O Pfam-A.hmm.gz
     gunzip Pfam-A.hmm.gz
     hmmpress Pfam-A.hmm

To Run

module load bpipe
bpipe trinotate.groovy Trinity.fasta

bpipe-trinotate's People

Contributors

iracooke avatar

Stargazers

Andreas Sjödin avatar

Watchers

 avatar Juan Nunez-Iglesias avatar James Cloos avatar Simon Gladman avatar  avatar Matthew Wakefield avatar Harriet Dashnow avatar Jessica Chung avatar Khalid Mahmood avatar  avatar Anna Syme avatar

bpipe-trinotate's Issues

Confirm that use of BLAST's `-max_target_seqs` is intentional

Hi there,

This is a semi-automated message from a fellow bioinformatician. Through a GitHub search, I found that the following source files make use of BLAST's -max_target_seqs parameter:

Based on the recently published report, Misunderstood parameter of NCBI BLAST impacts the correctness of bioinformatics workflows, there is a strong chance that this parameter is misused in your repository.

If the use of this parameter was intentional, please feel free to ignore and close this issue but I would highly recommend to add a comment to your source code to notify others about this use case. If this is a duplicate issue, please accept my apologies for the redundancy as this simple automation is not smart enough to identify such issues.

Thank you!
-- Arman (armish/blast-patrol)

ERROR: Job runner bpipe.executor.SlurmCommandExecutor failed

Hi,
I removed all module commands from it because I want to run it on one server only but for some reason, I got with bpipe run trinotate.groovy assembly27_85_remove0_final.fasta the following error :

==================================================================================================== 
|                              Starting Pipeline at 2017-08-02 10:02                               | 
==================================================================================================== 

======================================== Stage transdecoder ======================================== 
ERROR: Job runner bpipe.executor.SlurmCommandExecutor failed to return a job id for job 2 (transdecoder) despite reporting success exit code for command: 

bash /lustre/work-lustre/waterhouse_team/miniconda2/opt/bpipe-0.9.9.2/bin/../bin/bpipe-slurm.sh start 

Raw output was:[ 
] 

========================================= Pipeline Failed ========================================== 

Job runner bpipe.executor.SlurmCommandExecutor failed to return a job id for job 2 (transdecoder) despite reporting success exit code for command: 

bash /lustre/work-lustre/waterhouse_team/miniconda2/opt/bpipe-0.9.9.2/bin/../bin/bpipe-slurm.sh start 

Raw output was:[ 
] 

Use 'bpipe errors' to see output from failed commands.

This is the modified version:

//load 'bpipe.config' 
NCPU="10" 
SWISSPROTDB="/work/lorencm/bpipe-trinotate/db/uniprot_sprot" 
RNAMMER_PATH="/work/lorencm/apps/rnammer-1.2.src/rnammer" 
PFAM_DB="/work/lorencm/bpipe-trinotate/db/Pfam-A.hmm" 

transdecoder = { 
        transform("fasta.transdecoder.pep","fasta.transdecoder.cds","fasta.transdecoder.bed","fasta.transdecoder.gff3"){ 
                exec """ 
                TransDecoder -t $input.fasta -m 100 --search_pfam $PFAM_DB --CPU $NCPU 
                """ 
        } 
} 

blastx = { 
        exec """ 
        blastx -query $input.fasta -db $SWISSPROTDB -num_threads $NCPU -max_target_seqs 1 -outfmt 6 > $output 
        """ 
} 

blastp = { 
        exec """ 
        blastp -query $input.pep -db $SWISSPROTDB -num_threads $NCPU -max_target_seqs 1 -outfmt 6 > $output 
        """ 
} 

hmmscan = { 
        produce("hmmscan.out"){ 
        exec """ 
        hmmscan --cpu $NCPU --domtblout hmmscan.out  $PFAM_DB $input.pep > pfam.log 
        """ 
        }         
} 

signalp = { 
        produce("signalp.out"){ 
                exec """ 
                signalp -f short -n signalp.out $input.pep 
                """ 
        } 
} 
         
tmhmm = { 
        produce("tmhmm.out"){ 
                exec """ 
                tmhmm --short < $input.pep > tmhmm.out 
                """ 
        } 
} 


// This stage invariably fails with exit code 999 
rnammmer = { 
        produce(input.prefix+".rnammer.gff"){ 
                exec """ 
                RnammerTranscriptome.pl --transcriptome $input.fasta --path_to_rnammer $RNAMMER_PATH 
                """ 
        } 
} 

download_sqlite_template = { 
        exec """ 
        cp \$TRINOTATE_DB . 
        """ 
} 

create_transmap = { 
        exec """ 
        get_Trinity_gene_to_trans_map.pl $input.fasta >  Trinity.fasta.gene_trans_map 
        """ 
} 

load_data = { 
        exec """ 
        Trinotate Trinotate.sqlite init --gene_trans_map Trinity.fasta.gene_trans_map --transcript_fasta Trinity.fasta --transdecoder_pep Trinity.fasta.transdecoder.pep 

        Trinotate Trinotate.sqlite LOAD_swissprot_blastp Trinity.fasta.transdecoder.pep.blastp 

        Trinotate Trinotate.sqlite LOAD_swissprot_blastx Trinity.fasta.blastx 

        Trinotate Trinotate.sqlite LOAD_pfam hmmscan.out 

        Trinotate Trinotate.sqlite LOAD_tmhmm tmhmm.out 

        Trinotate Trinotate.sqlite LOAD_signalp signalp.out 
        """ 
} 

load_rnammer = { 
        exec """ 
        Trinotate Trinotate.sqlite LOAD_rnammer Trinity.fasta.rnammmer.gff 
        """ 
} 

//run { transdecoder+[blastx,blastp,hmmscan,signalp,tmhmm] } 
run { transdecoder+[blastx,blastp,hmmscan,signalp,tmhmm]+download_sqlite_template+create_transmap+load_data+rnammmer+load_rnammer} 

Any Idea what I miss?

Thank you in advance.

Michal

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.