Mercurial > repos > fernando > protein_funcional_analysis_similarities
comparison interpro/paso1.pl @ 0:c342ebb50f0b draft default tip
Uploaded
author | fernando |
---|---|
date | Thu, 22 May 2014 05:09:07 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:c342ebb50f0b |
---|---|
1 #Remote-blast "factory object" creation and blast-parameter initialization | |
2 | |
3 use Bio::Tools::Run::RemoteBlast; | |
4 use strict; | |
5 my $prog = 'blastp'; | |
6 my $db = 'swissprot'; | |
7 my $e_val= '1e-10'; | |
8 my ($input,$output)=@ARGV; | |
9 my @params = ( '-prog' => $prog, | |
10 '-data' => $db, | |
11 '-expect' => $e_val, | |
12 '-readmethod' => 'SearchIO' ); | |
13 | |
14 my $factory = Bio::Tools::Run::RemoteBlast->new(@params); | |
15 | |
16 #change a paramter | |
17 # $Bio::Tools::Run::RemoteBlast::HEADER{'ENTREZ_QUERY'} = 'Homo sapiens [ORGN]'; | |
18 | |
19 #remove a parameter | |
20 # delete $Bio::Tools::Run::RemoteBlast::HEADER{'FILTER'}; | |
21 | |
22 my $v = 1; | |
23 #$v is just to turn on and off the messages | |
24 | |
25 my $str = Bio::SeqIO->new(-file=>$input , '-format' => 'fasta' ); | |
26 | |
27 while (my $input = $str->next_seq()){ | |
28 #Blast a sequence against a database: | |
29 | |
30 #Alternatively, you could pass in a file with many | |
31 #sequences rather than loop through sequence one at a time | |
32 #Remove the loop starting 'while (my $input = $str->next_seq())' | |
33 #and swap the two lines below for an example of that. | |
34 my $r = $factory->submit_blast($input); | |
35 #my $r = $factory->submit_blast('amino.fa'); | |
36 | |
37 print STDERR "waiting..." if( $v > 0 ); | |
38 while ( my @rids = $factory->each_rid ) { | |
39 foreach my $rid ( @rids ) { | |
40 my $rc = $factory->retrieve_blast($rid); | |
41 if( !ref($rc) ) { | |
42 if( $rc < 0 ) { | |
43 $factory->remove_rid($rid); | |
44 } | |
45 print STDERR "." if ( $v > 0 ); | |
46 sleep 5; | |
47 } else { | |
48 my $result = $rc->next_result(); | |
49 #save the output | |
50 # my $filename = $result->query_name()."\.out"; | |
51 my $filename=""; | |
52 $factory->save_output($output); | |
53 $factory->remove_rid($rid); | |
54 #print "\nQuery Name: ", $result->query_name(), "\n"; | |
55 #while ( my $hit = $result->next_hit ) { | |
56 # next unless ( $v > 0); | |
57 # print "\nhit name is ", $hit->name, "\n"; | |
58 # while( my $hsp = $hit->next_hsp ) { | |
59 # print "HSP Len is ", $hsp->length('total'), " ", | |
60 # " E-value is ", $hsp->evalue, " Bit score ", | |
61 # $hsp->score, " \t", | |
62 # " Query loc: ",$hsp->query->start, " ", | |
63 # $hsp->query->end," ", | |
64 # " Sbject loc: ",$hsp->hit->start, " ", | |
65 # $hsp->hit->end,"\n"; | |
66 # } | |
67 #} | |
68 } | |
69 } | |
70 } | |
71 } | |
72 | |
73 # This example shows how to change a CGI parameter: | |
74 # $Bio::Tools::Run::RemoteBlast::HEADER{'MATRIX_NAME'} = 'BLOSUM25'; | |
75 | |
76 # And this is how to delete a CGI parameter: | |
77 # delete $Bio::Tools::Run::RemoteBlast::HEADER{'FILTER'}; |