INSTALL INSTRUCTIONS perl Build.PL ./Build ./Build test ./Build install If you are on a windows box you should use 'nmake' rather than 'make'. IMPLEMENTATION NOTES The primary module provided with this distribution, Bio::GMOD::GenericGenePage, is an abstract perl class that provides a render_xml method to create the gene page XML, but does not fetch the data. In order to effectively use this module, you need to subclass it and implement all of the methods that are listed under ABSTRACT CLASSES below for your database. These abstract methods are responsible for providing Bio::GMOD::GenericGenePage with the data to create the XML. There are two example impmentations included with this module. Bio::GMOD::GenericGenePage::Chado is a simple implementation for a Chado database populated with S. cerevisiae data obtained from SGD as GFF3. Currently, the output of this implementation can be seen at http://gmod.org/cgi-bin/gbrowse/chado_yeast/ and by clicking on any of the genes (red arrows). The other implementation, CXGN::Phenome::GenericGenePage, is from SGN, the SOL Genomics Network. The XML they provide can be seen by clicking on the "Download GMOD XML" link on any of there locus pages; for example, this one: http://sgn.cornell.edu/phenome/locus_display.pl?locus_id=1238 For more information see (GMOD WEB PAGE) or contact Scott Cain, scain@cpan.org. PROVIDED METHODS new Usage: my $genepage = MyGenePage->new( -id => $gene_identifier ); Desc : create a new gene page object. should be overridden Args : not specified Ret : a new gene page object Side Effects: none as implemented here, but subclass implementations may have side effects Example: render_xml Usage: my $xml = $page->render_xml(); Desc : render the XML for this generic gene page Args : none Ret : string of xml Side Effects: none render_html NOT IMPLEMENTED! Usage: my $html = $page->render_html(); Desc : render HTML for this generic gene page. you may want to override this method for your implementation Args : none Ret : string of html Side Effects: none ABSTRACT METHODS Methods below should be overridden by each GenericGenePage implementation. name Usage: my $name = $genepage->name(); Desc : get the string name of this gene Args : none Ret : string gene name, e.g. 'Pax6' Side Effects: none synonyms Usage: my @syn = $genepage->synonyms(); Desc : get a list of synonyms for this gene Args : none Ret : list of strings, with the canonical/official/approved gene name first. e.g. ( 'Pax6', '1500038E17Rik', 'AEY11', 'Dey', "Dickie's small eye", 'Gsfaey11', 'Pax-6', ) Side Effects: none map_locations Usage: my @locs = $genepage->map_locations() Desc : get a list of known map locations for this gene Args : none Ret : list of map locations, each a hashref as: { map_name => string map name, chromosome => string chromosome name, marker => (optional) associated marker name, position => numerical position on the map, units => map units, either 'cm', for centimorgans, or 'b', for bases } Side Effects: none ontology_terms Usage: my @terms = $genepage->ontology_terms(); Desc : get a list of ontology terms Args : none Ret : hash-style list as: termname => human-readable description, Side Effects: none Example: my %terms = $genepage->ontology_terms() # and %terms is now ( GO:0016711 => 'F:flavonoid 3'-monooxygenase activity', ... ) dbxrefs Usage: my @dbxrefs = $genepage->dbxrefs(); Desc : get a list of database cross-references for info related to this gene Args : none Ret : list of strings, like type:id e.g. ('PFAM:00012') Side Effects: none literature_references Usage: my @refs = $genepage->lit_refs(); Desc : get a list of literature references for this gene Args : none Ret : list of literature reference identifers, as type:id, like ('PMID:0023423',...) Side Effects: none summary_text Usage: my $summary = $page->summary_text(); Desc : get a text string of plain-English summary text for this gene Args : none Ret : string of summary text Side Effects: none organism Usage: my $species_info = $genepage->organism Desc : get a handful of species-related information Args : none Ret : hashref as: { ncbi_taxon_id => ncbi taxon id, (e.g. 3702), binomial => e.g. 'Arabidopsis thaliana', common => e.g. 'Mouse-ear cress', } Side Effects: none ABSTRACT METHODS Methods below should be overridden by each GenericGenePage implementa‐ tion. name Usage: my $name = $genepage->name(); Desc : get the string name of this gene Args : none Ret : string gene name, e.g. 'Pax6' Side Effects: none accessions Usage: my @accessions = $genepage->accessions(); Desc : get a list of local accession values Args : none Ret : a list of local accessions Side Effects: none Note that these are the accession the is used by the MOD providing the information. data_provider Usage: my $data_provider = $genepage->data_provider(); Desc : The name of the data providing authority (ie, WormBase, SGD, etc) Args : none Ret : string, name of the data provider Side Effects: none synonyms Usage: my @syn = $genepage->synonyms(); Desc : get a list of synonyms for this gene Args : none Ret : list of strings, e.g. ( '1500038E17Rik', 'AEY11', 'Dey', "Dickie's small eye", 'Gsfaey11', 'Pax-6', ) Side Effects: none map_locations Usage: my @locs = $genepage->map_locations() Desc : get a list of known map locations for this gene Args : none Ret : list of map locations, each a hashref as: { map_name => string map name, chromosome => string chromosome name, marker => (optional) associated marker name, position => numerical position on the map, units => map units, either 'cm', for centimorgans, or 'b', for bases } Side Effects: none ontology_terms Usage: my @terms = $genepage->ontology_terms(); Desc : get a list of ontology terms Args : none Ret : hash-style list as: termname => human-readable description, Side Effects: none Example: my %terms = $genepage->ontology_terms() # and %terms is now ( GO:0016711 => 'F:flavonoid 3'-monooxygenase activity', ... ) Note that the value in that has is the the concatenation of F:, B: or C: for molecular_function, biological_process, or cellular_component GO terms respectively. If the term does not belong to GO, there is no prepended identifier. dbxrefs Usage: my @dbxrefs = $genepage->dbxrefs(); Desc : get a list of database cross-references for info related to this gene Args : none Ret : list of strings, like type:id e.g. ('PFAM:00012') Side Effects: none comments Usage: my @comments = $genepage->comments(); Desc : get a list of comments with types Args : none Ret : a hash of comment=>type, where type is optional (empty string) Side Effects: none literature_references Usage: my @refs = $genepage->lit_refs(); Desc : get a list of literature references for this gene Args : none Ret : list of literature reference identifers, as type:id, like ('PMID:0023423',...) Side Effects: none summary_text Usage: my $summary = $page->summary_text(); Desc : get a text string of plain-English summary text for this gene Args : none Ret : string of summary text Side Effects: none organism Usage: my $species_info = $genepage->organism Desc : get a handful of species-related information Args : none Ret : hashref as: { ncbi_taxon_id => ncbi taxon id, (e.g. 3702), binomial => e.g. 'Arabidopsis thaliana', common => e.g. 'Mouse-ear cress', } Side Effects: none