You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The KEGG list operation will be implemented as a set of methods on our various KeggDb classes. We are moving away from the static operation class pattern because it makes a lot more sense to have operations be actions that a KeggDb instance can perform. Compare:
KeggList.InDatabase(PathwayDb.Instance)
vs
PathwayDb.Instance.ListPathways()
The second form is a bit more clean/fluent, and allows us to have very descriptive method names on each KeggDb class (ListModules(), ListCompounds(), etc.). Of course, this will require a little more dev effort, as we must implement the methods in each class, not some base abstract class.
Some notes on the List() methods:
They will return a ListResults<ID> of all KeggIds in the KeggDb instance, where ID derives from KeggId.
For each List() method, there should be one that returns all entries in a single massive list (very time- and memory-intensive), and one that returns them in a ListResults<T> data structure (faster and easier to get results a couple at a time
ListResults<T> will need to either inherit from Stream, or wrap a Stream
EnzymeDb is the only composite databases that will have a List() method, returning a ListResults<TNumber> of all ECNumbers
GenomeDb will have the following methods:
ListGenomeIds(): returns a ListResults<TNumber> of all genomes
ListOrganismCodes(): returns a ListResults<OrganismCode> of all organisms
ListGenesInGenome(TNumber): returns a ListResults<GeneId> of all genes in the provided genome
ListGenesInOrganism(OrganismCode): returns a ListResults<GeneId> of all genes belonging to the provided organism
PathwayDb will have the following methods:
ListPathways: Returns a ListResults<MapNumber> of all KEGG Pathways
ListPathwaysInOrganism(OrganismCode): Returns a ListResults<MapNumber> of all pathways belonging to the provided organism
ListPathwaysInGenome(TNumber): Returns a ListResults<MapNumber> of all pathways belonging to the provided genome
ModuleDb will have the following methods:
ListPathways: Returns a ListResults<MNumber> of all KEGG Modules
ListPathwaysInOrganism(OrganismCode): Returns a ListResults<MNumber> of all modules belonging to the provided organism
ListPathwaysInGenome(TNumber): Returns a ListResults<MNumber> of all modules belonging to the provided genome
The text was updated successfully, but these errors were encountered:
The KEGG list operation will be implemented as a set of methods on our various
KeggDb
classes. We are moving away from the static operation class pattern because it makes a lot more sense to have operations be actions that aKeggDb
instance can perform. Compare:KeggList.InDatabase(PathwayDb.Instance)
vs
PathwayDb.Instance.ListPathways()
The second form is a bit more clean/fluent, and allows us to have very descriptive method names on each
KeggDb
class (ListModules()
,ListCompounds()
, etc.). Of course, this will require a little more dev effort, as we must implement the methods in each class, not some base abstract class.Some notes on the List() methods:
ID
derives from KeggId.ListResults<T>
data structure (faster and easier to get results a couple at a timeListGenomeIds()
: returns a ListResults<TNumber> of all genomesListOrganismCodes()
: returns a ListResults<OrganismCode> of all organismsListGenesInGenome(TNumber)
: returns a ListResults<GeneId> of all genes in the provided genomeListGenesInOrganism(OrganismCode)
: returns a ListResults<GeneId> of all genes belonging to the provided organismListPathways
: Returns a ListResults<MapNumber> of all KEGG PathwaysListPathwaysInOrganism(OrganismCode)
: Returns a ListResults<MapNumber> of all pathways belonging to the provided organismListPathwaysInGenome(TNumber)
: Returns a ListResults<MapNumber> of all pathways belonging to the provided genomeListPathways
: Returns a ListResults<MNumber> of all KEGG ModulesListPathwaysInOrganism(OrganismCode)
: Returns a ListResults<MNumber> of all modules belonging to the provided organismListPathwaysInGenome(TNumber)
: Returns a ListResults<MNumber> of all modules belonging to the provided genomeThe text was updated successfully, but these errors were encountered: