[Bioperl-l] Re: sample code for Bio::Phenotype::OMIM::OMIMparser

Leonardo Kenji Shikida shikida@terra.com.br
Wed, 11 Dec 2002 18:50:02 -0200


> I am trying to use this class, so I just cut and paste it the example. I 
> would like to transform into a tabular representation to put inside my 
> local DB. It works great for all the $main[x] below, but doesn't for the 
> $mini_mim array. Probably I am referencing something wrong here.
> 
> any help is welcome.
> 
>> use Bio::Phenotype::OMIM::OMIMparser;
>>
>>   # The OMIM database is available as textfile at:
>>   # ftp://ncbi.nlm.nih.gov/repository/OMIM/omim.txt.Z
>>   # The genemap is available as textfile at:
>>   # ftp://ncbi.nlm.nih.gov/repository/OMIM/genemap
>>
>>   $omim_parser = Bio::Phenotype::OMIM::OMIMparser->new( -genemap  => 
>> "genemap.txt",
>>                                                         -omimtext => 
>> "omim.txt" );
>>
> 
>> while ( my $omim_entry = $omim_parser->next_phenotype() ) {
>>     # This prints everything.
>>     # print( $omim_entry->to_string() );
>>     # print "\n\n";
>>
>>     # This gets individual data (some of them object-arrays)
>>     # (and illustrates the relevant methods of OMIMentry).
>>     $main[0]  = $omim_entry->MIM_number();                     # 
>> *FIELD* NO
>>     $main[1] = $omim_entry->title();                          # 
>> *FIELD* TI - first line
>>     $main[2]   = $omim_entry->alternative_titles_and_symbols(); # 
>> *FIELD* TI - additional lines
>>     $main[3]   = $omim_entry->more_than_two_genes();            # "#" 
>> before title
>>     $main[4]   = $omim_entry->is_separate();                    # "*" 
>> before title
>>     $main[5]  = $omim_entry->description();                    # 
>> *FIELD* TX
>>     $main[6]    = $omim_entry->mapping_method();                 # 
>> from genemap
>>     $main[7]    = $omim_entry->gene_status();                    # 
>> from genemap
>>     $main[8]    = $omim_entry->created();                        # 
>> *FIELD* CD
>>     $main[9]  = $omim_entry->contributors();                   # 
>> *FIELD* CN
>>     $main[10]    = $omim_entry->edited();                         # 
>> *FIELD* ED
>>     $main[11]    = $omim_entry->additional_references();          # 
>> *FIELD* SA
>>     $main[12]    = $omim_entry->clinical_symptoms();              # 
>> *FIELD* CS
>>     $main[13]  = $omim_entry->comment();                        # from 
>> genemap
>>
>>     $numb = $main[0];
>>
>>     foreach $x (@main){
>>
>>     $x =~ s/\t//g;
>>         $x =~ s/\n//g;
>>         $x =~ s/'/`/g;
>>
>>     }
>>
> 
> 
> WORKS HERE
> 
> 
> 
>>     print MAIN join("\t",@main);
>>
>>
>>     my $mini_mim   = $omim_entry->miniMIM();                   # 
>> *FIELD* MN
>>       # Array of Bio::Phenotype::OMIM::MiniMIMentry objects.
>>       # class Bio::Phenotype::OMIM::MiniMIMentry
>>       # provides the following:
>>       # - description()
>>       # - created()
>>       # - contributors()
>>       # - edited()
> 
> 
> 
> BUT NOT HERE. neither $x nor $mini_min
> 
>>
>>     foreach my $x ($mini_mim){
>>
>>         print MIM 
>> "$numb\t$x->description()\t$mini_mim->created()\t$mini_min->contributors()\t$mini_mim->edited()\n"; 
>>
>>
>>     }
> 
> 
> thanks in advance
> 
> Kenji
>