The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

TAIR::Blast - A module to gather automated BLAST result from TAIR (http://www.arabidopsis.org/Blast/index.jsp)

VERSION

Version 1.00

SYNOPSIS

This module simply automatically! BLAST any type of sequences (nucleotide, protein) with using different type of algorithm (blastp, blastn, tblastx etc.) by using TAIR Blast engine.

    #METHOD #1 for one sequence only
    use TAIR::Blast;

    my $TB = TAIR::Blast->new();
    
    #START OF PARAMETERS FOR BLAST#
        my $query = "estExt_fgenesh4_pm.C_1450005";
        my $query_seq = "ATGGGAGCTGTTGCTGCGATATGGTGGTTAACGGTGGTTGCTGCTGCATCTCGCCTTTCATTCCTGCACGCCT";
        my $algorithm = "blastn"; #other set : blastp, blastx, tblastx,tblastn
        my $maxscore; #http://www.arabidopsis.org/help/helppages/BLAST_help.jsp#alignments (OPTIONAL #default=250)
        my $blast_target_set; #http://www.arabidopsis.org/help/helppages/BLAST_help.jsp#datasets (OPTIONAL #default for blastn, tblastx, tblastn is At_transcripts and for blastp and blastx is ATH1_pep. You can alternatively select from the list according to algorithm)
        #At_transcripts = TAIR10 Transcripts (-introns, +UTRs) (DNA) 
        #ATH1_cds = TAIR10 CDS (-introns, -UTRs) (DNA) 
        #ATH1_seq = TAIR10 Genes (+introns, +UTRs) (DNA) 
        #ATH1_pep = TAIR10 Proteins (Protein) 
        #ATH1_bacs_con = TAIR10 Whole Genome (BAC clones) (DNA) 
        #At_upstream_500 = TAIR10 Loci Upstream Sequences -- 500 bp (DNA) 
        #At_upstream_1000 = TAIR10 Loci Upstream Sequences -- 1000 bp (DNA) 
        #At_upstream_3000 = TAIR10 Loci Upstream Sequences -- 3000 bp (DNA) 
        #At_downstream_1000 = TAIR10 Loci Downstream Sequences -- 1000 bp (DNA) 
        #At_downstream_3000 = TAIR10 Loci Downstream Sequences -- 3000 bp (DNA) 
        #At_intergenic = TAIR10 Intergenic (DNA) 
        #At_intron = TAIR10 Intron (DNA) 
        #ATH1_5_UTR = TAIR10 5' UTRs (DNA) 
        #ATH1_3_UTR = TAIR10 3' UTRs (DNA) 
        #At_flanks_DNA = A. thaliana Insertion Flanks (DNA) 
        #At_Uniprot_prot = A. thaliana UniProt (Protein) 
        #At_GB_exp_prot = A. thaliana GB derived from mRNA (Protein) 
        #At_GB_refseq_prot = A. thaliana GB refseq/tpa (Protein) 
        #At_GB_all_prot = A. thaliana GB all (Protein) 
        #At_GB_exp_tx_DNA = A. thaliana GB experimental cDNA/EST (DNA) 
        #At_GB_refseq_tx_DNA = A. thaliana GB refseq/tpa cDNA (DNA) 
        #At_GB_genomic_DNA = A. thaliana GB genomic (DNA) 
        #gp_GB_exp_prot = Green plant GB derived from mRNA (Protein) 
        #gp_GB_refseq_prot = Green plant GB refseq/tpa (Protein) 
        #gp_GB_all_prot = Green plant GB all (Protein) 
        #gp_GB_exp_tx_DNA = Green plant GB experimental cDNA/EST (DNA) 
        #gp_GB_refseq_tx_DNA = Green plant GB refseq/tpa cDNA (DNA) 
        #gp_GB_genomic_DNA = Green plant GB genomic (DNA) 
        #END OF PARAMETERS FOR BLAST#
        my $verbose = 1; #default (0, no info);
        
    my $result = $TB->connect($query,$query_seq,$algorithm,$maxscore,$blast_target_set,$verbose);
    
    #you would like to have the output recorded!
    my $output_file = "output_file.txt";
    $TB->write($output_file);
    
    
    #METHOD #2 for multiple sequences with the help of Bio::DB::Fasta 
    use TAIR::Blast;
        use Bio::DB::Fasta; #You may use different but it is good for parsing your fasta file!
        
        my $TB = TAIR::Blast->new();
        
        my $fasta_file = "seqs.fasta";
        
        my $algorithm = "blastn"; #other set : blastp, blastx, tblastx,tblastn
        my $maxscore; #http://www.arabidopsis.org/help/helppages/BLAST_help.jsp#alignments (OPTIONAL #default=250)
        my $blast_target_set;
        my $verbose = 1;
        
        my $stream  = Bio::DB::Fasta->new($fasta_file)->get_PrimarySeq_stream;
          while (my $query = $stream->next_seq) {
                my $query_seq = $query->seq;
                #OTHER PARAMETERS ARE SAME AS IN METHOD 2
                my $result = $TB->connect($query,$query_seq,$algorithm,$maxscore,$blast_target_set,$verbose);
          }
        my $output_file = "output_file.txt";
        $TB->write($output_file);
        
        
    ...

SUBROUTINES/METHODS

new

Object-oriented master-hash!

connect

Blast parameters, do not mess with them unless you know what you are doing.

write

This subroutine handles output of the program, it writes the blast results into a specified file name.

AUTHOR

Haktan Suren, << <hsuren at vt.edu> >>

BUGS

Please report any bugs or feature requests to bug-tair-blast at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=TAIR-Blast. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc TAIR::Blast

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

Copyright 2011 Haktan Suren.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.