aargh :o) i was hoping there was a simple answer to this. the object im
investigating do apparantly inherets stuff :/

im not into OO perl at all, and i guess this is the reason why.

ok, so the problem is rather complex, but thats just another perl problem then.
and this one must have been solved by others. i have been looking at the
Class::Inspector module on CPAN, which can track the inheritance i think.

ill add my code snippet here to elaborate on the specific problem. and attach a
test file for the parser.

the problem is that the objects $hit and $hsp gives access to a lot of usefull
functions, but what are they???

################################################################

#!/usr/bin/perl -w

use strict;
use Data::Dumper;
use Bio::SearchIO;

my ( $script, $usage, @files, $file );

my ( $searchio, $result, $blast_report, $algorithm_type, $hit, $hit_name, $hsp, 
$bit_score,
     $query_beg, $query_end, $query_name, $subject_beg, $subject_end, $strand, $eval, 
$frame );

$script = ( split "/", $0 )[ -1 ];

$usage = qq(
$script by Martin A. Hansen, July 2003.

$script parses blast repport files and writes GFF to STDOUT

Usage: $script <blast> <blast> <blast>
            <blast> - blast report files

);

print $usage and exit if not @ARGV;

@files = @ARGV;

foreach $file ( @files )
{
    $searchio   = new Bio::SearchIO ( -format => 'blast', -file => $file );
    $result     = $searchio->next_result;
    $query_name = $result->query_name;

    $result->database_name;
    $algorithm_type = $result->algorithm;

    while ( $hit = $result->next_hit )
    {
        $hit_name    = $hit->name;
        $hsp         = $hit->next_hsp;
        
        $eval        = $hsp->evalue;
        $bit_score   = $hsp->bits;
        $strand      = $hsp->strand( "subject" );
        $frame       = $hsp->frame;
        $query_beg   = $hsp->query->start;
        $query_end   = $hsp->query->end;
        $subject_beg = $hsp->subject->start;
        $subject_end = $hsp->subject->end;

        if ( $strand eq "1" ) {
            $strand = "+";
        } elsif ( $strand eq "-1" ) {
            $strand = "-";
        } else {
            $strand = ".";
        }

        print join( "\t",
                    $hit_name,
                    $algorithm_type,
                    "similarity",
                    $subject_beg,
                    $subject_end,
                    $bit_score,
                    $strand,
                    $frame,
                    "Target \"$query_name\" $query_beg $query_end ; E_value $eval"
              );

        print "\n";
    }
}

################################################################

On Tue, Aug 05, 2003 at 05:48:04AM -0700, Ovid wrote:
> --- "Martin A. Hansen" <[EMAIL PROTECTED]> wrote:
> > hi
> > 
> > i wonder how i can list all the methods availible from a given object?
> > 
> > martin
> 
> Hi Martin,
> 
> The simple answer:  You can't.  Welcome to Perl.
> 
> The long answer:  there are a variety of strategies you can use to try and figure 
> this out, but
> all of them fall short.  For example, here's a snippet that prints out defined 
> subroutines (or
> methods) in a given package:
> 
>   {
>     no strict 'refs';
>     my $namespace = sprintf "%s::", $CLASS;
>     foreach (keys %{$namespace}) {
>       my $test_sub = sprintf "%s%s", $namespace, $_;
>       print "$test_sub\n" unless defined &$test_sub;
>     }
>   }
> 
> The problem here is that it will not print inherited or AUTOLOADed methods.  It 
> might be
> sufficient for your needs now, but it's fragile.  You can also test whether or not a 
> particular
> method *is* implemented:
> 
>   if ($object->can('method_name_to_test')) {
>     # this works if $object can have methods called on it.  It will find
>     # inherited methods.  It can also find AUTOLOADed methods if they've
>     # already been called and installed in the symbol table
>   }
> 
> A slightly more robust version of that syntax:
> 
>   if (UNIVERSAL::can($object, $method_name) {
>     # almost the same thing, but doesn't die a horrible death if, for example,
>     # $object is undef
>   }
> 
> If you explain the problem you're trying to solve, we might be able to come up with 
> a better
> solution.
> 
> Cheers,
> Ovid
> 
> =====
> Silence is Evil            
> http://users.easystreet.com/ovid/philosophy/indexdecency.htm
> Ovid                       http://www.perlmonks.org/index.pl?node_id=17000
> Web Programming with Perl  http://users.easystreet.com/ovid/cgi_course/
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! SiteBuilder - Free, easy-to-use web site design software
> http://sitebuilder.yahoo.com
BLASTN 2.2.5 [Nov-16-2002]


Reference: Altschul, Stephen F., Thomas L. Madden, Alejandro A. Schaffer, 
Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997), 
"Gapped BLAST and PSI-BLAST: a new generation of protein database search
programs",  Nucleic Acids Res. 25:3389-3402.

Query= mt0001-av25gc10k167_AV25_01
         (110 letters)

Database: gbgene 
           2,966,325 sequences; 8,818,290,589 total letters

Searching..................................................done

                                                                 Score    E
Sequences producing significant alignments:                      (bits) Value

emb|AL772308|AL772308 Mouse DNA sequence from clone RP23-451I21 ...   218   1e-54
emb|AF303827|AF303827 Mus musculus structural maintenance of chr...   218   1e-54
emb|AX552873|AX552873 Sequence 165 from Patent WO02074953.            212   8e-53
emb|AX524135|AX524135 Sequence 165 from Patent EP1236798.             212   8e-53
emb|AC068278|AC068278 Homo sapiens BAC clone RP11-131G20 from 2,...    44   0.042
gb|U00040|U00040 Caenorhabditis elegans cosmid C18H2, complete s...    42   0.16 
emb|AL033510|CEY40H7A Caenorhabditis elegans YAC Y40H7A, complet...    42   0.16 
emb|AL139175|AL139175 Human DNA sequence from clone RP4-615P17 o...    42   0.16 
emb|AJ313035|STO313035 Sorbus torminalis microsatelitte DNA, clo...    40   0.65 
emb|AC007894|F21H2 Arabidopsis thaliana chromosome 1 BAC F21H2 s...    40   0.65 
emb|AE003465|AE003465 Drosophila melanogaster chromosome 2R, sec...    40   0.65 
emb|AC007884|AC007884 Drosophila melanogaster, chromosome 2R, re...    40   0.65 
emb|AC007582|AC007582 Drosophila melanogaster, chromosome 2R, re...    40   0.65 
emb|AE010893|AE010893 Methanosarcina acetivorans str. C2A, secti...    40   0.65 
emb|AC083806|AC083806 Homo sapiens 12q BAC RP11-240G22 (Roswell ...    40   0.65 
emb|AC055764|AC055764 Homo sapiens 3 BAC RP11-803P9 (Roswell Par...    40   0.65 
emb|AC023456|AC023456 Homo sapiens chromosome 15, clone RP11-162...    40   0.65 
emb|AC021851|AC021851 Homo sapiens BAC clone RP11-438L19 from 2,...    40   0.65 
emb|AC015798|AC015798 Homo sapiens chromosome 15, clone RP11-341...    40   0.65 
emb|AL161713|CNS01RHE Human chromosome 14 DNA sequence BAC R-22K...    40   0.65 

>emb|AL772308|AL772308 Mouse DNA sequence from clone RP23-451I21 on chromosome 15, 
>complete
             sequence.
          Length = 148496

 Score =  218 bits (110), Expect = 1e-54
 Identities = 110/110 (100%)
 Strand = Plus / Plus

                                                                         
Query: 1     cagaattcaaaattttataaccaatttgtttcaaaacaaaagcccttaaaagcaaaagaa 60
             ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct: 63001 cagaattcaaaattttataaccaatttgtttcaaaacaaaagcccttaaaagcaaaagaa 63060

                                                               
Query: 61    aaccatatacctcattcattgatgccataggaacctccattggaatgaca 110
             ||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct: 63061 aaccatatacctcattcattgatgccataggaacctccattggaatgaca 63110


>emb|AF303827|AF303827 Mus musculus structural maintenance of chromosomes 1beta mRNA,
            complete cds.
          Length = 4056

 Score =  218 bits (110), Expect = 1e-54
 Identities = 110/110 (100%)
 Strand = Plus / Minus

                                                                        
Query: 1    cagaattcaaaattttataaccaatttgtttcaaaacaaaagcccttaaaagcaaaagaa 60
            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct: 4037 cagaattcaaaattttataaccaatttgtttcaaaacaaaagcccttaaaagcaaaagaa 3978

                                                              
Query: 61   aaccatatacctcattcattgatgccataggaacctccattggaatgaca 110
            ||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct: 3977 aaccatatacctcattcattgatgccataggaacctccattggaatgaca 3928


>emb|AX552873|AX552873 Sequence 165 from Patent WO02074953.
          Length = 343

 Score =  212 bits (107), Expect = 8e-53
 Identities = 107/107 (100%)
 Strand = Plus / Plus

                                                                       
Query: 1   cagaattcaaaattttataaccaatttgtttcaaaacaaaagcccttaaaagcaaaagaa 60
           ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct: 6   cagaattcaaaattttataaccaatttgtttcaaaacaaaagcccttaaaagcaaaagaa 65

                                                          
Query: 61  aaccatatacctcattcattgatgccataggaacctccattggaatg 107
           |||||||||||||||||||||||||||||||||||||||||||||||
Sbjct: 66  aaccatatacctcattcattgatgccataggaacctccattggaatg 112


>emb|AX524135|AX524135 Sequence 165 from Patent EP1236798.
          Length = 343

 Score =  212 bits (107), Expect = 8e-53
 Identities = 107/107 (100%)
 Strand = Plus / Plus

                                                                       
Query: 1   cagaattcaaaattttataaccaatttgtttcaaaacaaaagcccttaaaagcaaaagaa 60
           ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct: 6   cagaattcaaaattttataaccaatttgtttcaaaacaaaagcccttaaaagcaaaagaa 65

                                                          
Query: 61  aaccatatacctcattcattgatgccataggaacctccattggaatg 107
           |||||||||||||||||||||||||||||||||||||||||||||||
Sbjct: 66  aaccatatacctcattcattgatgccataggaacctccattggaatg 112


>emb|AC068278|AC068278 Homo sapiens BAC clone RP11-131G20 from 2, complete sequence.
          Length = 156916

 Score = 44.1 bits (22), Expect = 0.042
 Identities = 25/26 (96%)
 Strand = Plus / Plus

                                       
Query: 45    cttaaaagcaaaagaaaaccatatac 70
             |||||||| |||||||||||||||||
Sbjct: 67792 cttaaaagaaaaagaaaaccatatac 67817


>gb|U00040|U00040 Caenorhabditis elegans cosmid C18H2, complete sequence.
          Length = 41762

 Score = 42.1 bits (21), Expect = 0.16
 Identities = 21/21 (100%)
 Strand = Plus / Plus

                                  
Query: 21    ccaatttgtttcaaaacaaaa 41
             |||||||||||||||||||||
Sbjct: 13313 ccaatttgtttcaaaacaaaa 13333


>emb|AL033510|CEY40H7A Caenorhabditis elegans YAC Y40H7A, complete sequence.
          Length = 86086

 Score = 42.1 bits (21), Expect = 0.16
 Identities = 21/21 (100%)
 Strand = Plus / Plus

                                  
Query: 21    ccaatttgtttcaaaacaaaa 41
             |||||||||||||||||||||
Sbjct: 58619 ccaatttgtttcaaaacaaaa 58639


>emb|AL139175|AL139175 Human DNA sequence from clone RP4-615P17 on chromosome 
>1p13-14.3,
             complete sequence.
          Length = 103718

 Score = 42.1 bits (21), Expect = 0.16
 Identities = 21/21 (100%)
 Strand = Plus / Minus

                                  
Query: 72    tcattcattgatgccatagga 92
             |||||||||||||||||||||
Sbjct: 50163 tcattcattgatgccatagga 50143


>emb|AJ313035|STO313035 Sorbus torminalis microsatelitte DNA, clone 3.
          Length = 587

 Score = 40.1 bits (20), Expect = 0.65
 Identities = 20/20 (100%)
 Strand = Plus / Minus

                               
Query: 6   ttcaaaattttataaccaat 25
           ||||||||||||||||||||
Sbjct: 430 ttcaaaattttataaccaat 411


>emb|AC007894|F21H2 Arabidopsis thaliana chromosome 1 BAC F21H2 sequence, complete
             sequence.
          Length = 88512

 Score = 40.1 bits (20), Expect = 0.65
 Identities = 20/20 (100%)
 Strand = Plus / Plus

                                 
Query: 11    aattttataaccaatttgtt 30
             ||||||||||||||||||||
Sbjct: 55582 aattttataaccaatttgtt 55601


>emb|AE003465|AE003465 Drosophila melanogaster chromosome 2R, section 73 of 74 of the 
>complete
              sequence.
          Length = 343835

 Score = 40.1 bits (20), Expect = 0.65
 Identities = 20/20 (100%)
 Strand = Plus / Minus

                                  
Query: 46     ttaaaagcaaaagaaaacca 65
              ||||||||||||||||||||
Sbjct: 342713 ttaaaagcaaaagaaaacca 342694


>emb|AC007884|AC007884 Drosophila melanogaster, chromosome 2R, region 60F-60F, BAC 
>clone
              BACR08I14, complete sequence.
          Length = 190616

 Score = 40.1 bits (20), Expect = 0.65
 Identities = 20/20 (100%)
 Strand = Plus / Minus

                                  
Query: 46     ttaaaagcaaaagaaaacca 65
              ||||||||||||||||||||
Sbjct: 190407 ttaaaagcaaaagaaaacca 190388


>emb|AC007582|AC007582 Drosophila melanogaster, chromosome 2R, region 60F-60F, BAC 
>clone
              BACR17E16, complete sequence.
          Length = 180162

 Score = 40.1 bits (20), Expect = 0.65
 Identities = 20/20 (100%)
 Strand = Plus / Plus

                                  
Query: 46     ttaaaagcaaaagaaaacca 65
              ||||||||||||||||||||
Sbjct: 162536 ttaaaagcaaaagaaaacca 162555


>emb|AE010893|AE010893 Methanosarcina acetivorans str. C2A, section 238 of 534 of the
            complete genome.
          Length = 10486

 Score = 40.1 bits (20), Expect = 0.65
 Identities = 23/24 (95%)
 Strand = Plus / Plus

                                    
Query: 29   tttcaaaacaaaagcccttaaaag 52
            ||||||||||||||||||| ||||
Sbjct: 9833 tttcaaaacaaaagcccttcaaag 9856


>emb|AC083806|AC083806 Homo sapiens 12q BAC RP11-240G22 (Roswell Park Cancer Institute 
>Human BAC
              Library) complete sequence.
          Length = 164461

 Score = 40.1 bits (20), Expect = 0.65
 Identities = 26/28 (92%)
 Strand = Plus / Plus

                                          
Query: 34     aaacaaaagcccttaaaagcaaaagaaa 61
              |||||| | |||||||||||||||||||
Sbjct: 142022 aaacaatatcccttaaaagcaaaagaaa 142049


>emb|AC055764|AC055764 Homo sapiens 3 BAC RP11-803P9 (Roswell Park Cancer Institute 
>Human
            BAC Library) complete sequence.
          Length = 74486

 Score = 40.1 bits (20), Expect = 0.65
 Identities = 20/20 (100%)
 Strand = Plus / Plus

                                
Query: 41   agcccttaaaagcaaaagaa 60
            ||||||||||||||||||||
Sbjct: 2018 agcccttaaaagcaaaagaa 2037


>emb|AC023456|AC023456 Homo sapiens chromosome 15, clone RP11-162P24, complete 
>sequence.
          Length = 163502

 Score = 40.1 bits (20), Expect = 0.65
 Identities = 20/20 (100%)
 Strand = Plus / Plus

                                  
Query: 43     cccttaaaagcaaaagaaaa 62
              ||||||||||||||||||||
Sbjct: 142105 cccttaaaagcaaaagaaaa 142124


>emb|AC021851|AC021851 Homo sapiens BAC clone RP11-438L19 from 2, complete sequence.
          Length = 202078

 Score = 40.1 bits (20), Expect = 0.65
 Identities = 20/20 (100%)
 Strand = Plus / Plus

                                  
Query: 41     agcccttaaaagcaaaagaa 60
              ||||||||||||||||||||
Sbjct: 114308 agcccttaaaagcaaaagaa 114327


>emb|AC015798|AC015798 Homo sapiens chromosome 15, clone RP11-341E5, complete sequence.
          Length = 182107

 Score = 40.1 bits (20), Expect = 0.65
 Identities = 20/20 (100%)
 Strand = Plus / Plus

                                 
Query: 43    cccttaaaagcaaaagaaaa 62
             ||||||||||||||||||||
Sbjct: 84710 cccttaaaagcaaaagaaaa 84729


>emb|AL161713|CNS01RHE Human chromosome 14 DNA sequence BAC R-22K10 of library RPCI-11 
>from
             chromosome 14 of Homo sapiens (Human), complete sequence.
          Length = 157383

 Score = 40.1 bits (20), Expect = 0.65
 Identities = 20/20 (100%)
 Strand = Plus / Plus

                                 
Query: 41    agcccttaaaagcaaaagaa 60
             ||||||||||||||||||||
Sbjct: 45265 agcccttaaaagcaaaagaa 45284


  Database: gbgene
    Posted date:  Jun 30, 2003  9:45 PM
  Number of letters in database: 4,294,902,594
  Number of sequences in database:  310,819
  
  Database: /usr/cbs/databases/blastdb/gbgene.01
    Posted date:  Jun 30, 2003 10:11 PM
  Number of letters in database: 4,294,967,166
  Number of sequences in database:  2,583,428
  
  Database: /usr/cbs/databases/blastdb/gbgene.02
    Posted date:  Jun 30, 2003 10:16 PM
  Number of letters in database: 228,420,829
  Number of sequences in database:  72,078
  
Lambda     K      H
    1.37    0.711     1.31 

Gapped
Lambda     K      H
    1.37    0.711     1.31 


Matrix: blastn matrix:1 -3
Gap Penalties: Existence: 5, Extension: 2
Number of Hits to DB: 1,132,852
Number of Sequences: 2966325
Number of extensions: 1132852
Number of successful extensions: 100759
Number of sequences better than  1.0: 20
Number of HSP's better than  1.0 without gapping: 20
Number of HSP's successfully gapped in prelim test: 0
Number of HSP's that attempted gapping in prelim test: 100714
Number of HSP's gapped (non-prelim): 45
length of query: 110
length of database: 8,818,290,589
effective HSP length: 20
effective length of query: 90
effective length of database: 8,758,964,089
effective search space: 788306768010
effective search space used: 788306768010
T: 0
A: 0
X1: 6 (11.9 bits)
X2: 15 (29.7 bits)
S1: 12 (24.3 bits)
S2: 20 (40.1 bits)

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to