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

Leonardo Kenji Shikida kenji@vettatech.com
Wed, 11 Dec 2002 18:49:23 -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