Hi all,
If there are IDs missing, and we have a reliable location for the definition of the IDs, we can look into the right way to get them loaded. As I pointed out in the original note, the CDM has two primary mechanisms for these mappings, and Tom's design for the translation service is probably the place where solutions other than the CDM ones would be based.
--bob
----- Original Message -----
> Really nice work Bob, and great explanation.
>
> So I'd like the science users to kick the tires on this.
> Sam, does it have the plant gene IDs we need?
> Janaka, does it have gene IDs you need for all your template genomes
> used for your core model work?
> Jose, does it have blatner numbers? bsu loci for B. subtilis?
> Ben Bowen, does it have your shewenella genes?
> Gavin, how about all the gene IDs in the datasets you're loading?
> Liz, I know you in particular are an alias finatic. Do you see missing
> content?
>
> Someone should probably make a tutorial on ID querying?? The text Bob
> has below is pretty darn close.
>
> Bob, if we discover that there are important IDs we're missing, how do
> we go about getting them in? Do we do something crazy like setting up
> a git repo where poeple check in new ID sets for loading?? Or is there
> a more sane solution?
>
> On Oct 22, 2012, at 3:48 PM, Robert Olson wrote:
>
> > Since these questions come up a lot, and since we now have some
> > additional data loaded, I wanted to give some examples of doing ID
> > lookups using the KBase Central Store.
> >
> > There are two forms of external IDs loaded into the CDM.
> >
> > The first is a set of aliases that may be associated with features.
> > These are data like gene names and locus tags that for instance come
> > along with the Genbank files that originally sourced the genomes.
> >
> > These may be searched with the new script (and API function)
> > aliases_to_fids:
> >
> > $ echo b0010 | aliases_to_fids
> > b0010 kb|g.1870.peg.4458
> > $ echo dnaK | aliases_to_fids | head
> > dnaK kb|g.5.peg.1109
> > dnaK kb|g.11.peg.1619
> > dnaK kb|g.22.peg.3037
> > dnaK kb|g.27.peg.3820
> > dnaK kb|g.34.peg.1696
> > dnaK kb|g.35.peg.966
> > dnaK kb|g.37.peg.1437
> > dnaK kb|g.39.peg.2253
> > dnaK kb|g.39.peg.2487
> > dnaK kb|g.42.peg.766
> > $ echo dnaK | aliases_to_fids | wc -l
> > 1658
> >
> > (this is also available in Iris).
> >
> > The second source of external IDs is the external protein database
> > data that are loaded in the HasAssertedFunctionFrom relationship.
> > The relevant part of the schema is here:
> >
> > <PastedGraphic-1.png>
> >
> > What this tells us is if you have a feature, you can find the
> > protein sequence for that feature, and map it to the set of
> > assertions from some external database:
> >
> > $ echo 'kb|g.3785.peg.1578' | get_relationship_Produces -rel to_link
> > | get_relationship_HasAssertedFunctionFrom -rel
> > function,external_id,to_link
> > kb|g.3785.peg.1578 feb01774b3c5bb6e84ca9ae888514c5f multidrug
> > resistance protein A ref|ZP_05465429.1 NCBI
> > kb|g.3785.peg.1578 feb01774b3c5bb6e84ca9ae888514c5f multidrug
> > resistance protein A gb|EEZ16943.1 NCBI
> > kb|g.3785.peg.1578 feb01774b3c5bb6e84ca9ae888514c5f secretion
> > protein HlyD family protein gb|ADZ67367.1 NCBI
> > kb|g.3785.peg.1578 feb01774b3c5bb6e84ca9ae888514c5f secretion
> > protein HlyD family protein gb|ADZ88235.1 NCBI
> > kb|g.3785.peg.1578 feb01774b3c5bb6e84ca9ae888514c5f Multidrug
> > resistance protein gb|AEQ09823.1 NCBI
> > kb|g.3785.peg.1578 feb01774b3c5bb6e84ca9ae888514c5f Multidrug
> > resistance protein A tr|D0GC62|D0GC62_BRUML TrEMBL
> > kb|g.3785.peg.1578 feb01774b3c5bb6e84ca9ae888514c5f Multidrug
> > resistance protein tr|G4PJZ8|G4PJZ8_BRUML TrEMBL
> > kb|g.3785.peg.1578 feb01774b3c5bb6e84ca9ae888514c5f Secretion
> > protein HlyD family protein tr|F2GWN2|F2GWN2_BRUM5 TrEMBL
> > kb|g.3785.peg.1578 feb01774b3c5bb6e84ca9ae888514c5f Secretion
> > protein HlyD family protein tr|F2HWT4|F2HWT4_BRUMM TrEMBL
> >
> > Since going in the other direction requires querying on a
> > relationship field, and we may want to do prefix matches there, you
> > will need the new external_ids_to_fids script (or API routine):
> >
> > $ echo 'gb|ADZ88235.1' | external_ids_to_fids
> > gb|ADZ88235.1 kb|g.1940.peg.347
> > gb|ADZ88235.1 kb|g.2192.peg.1337
> > gb|ADZ88235.1 kb|g.29.peg.2088
> > gb|ADZ88235.1 kb|g.30.peg.1725
> > gb|ADZ88235.1 kb|g.31.peg.2171
> > gb|ADZ88235.1 kb|g.3785.peg.1578
> >
> > Or for a prefix match:
> >
> > $ echo 'gb|ADZ88235' | external_ids_to_fids -prefix
> > gb|ADZ88235 kb|g.1940.peg.347
> > gb|ADZ88235 kb|g.2192.peg.1337
> > gb|ADZ88235 kb|g.29.peg.2088
> > gb|ADZ88235 kb|g.30.peg.1725
> > gb|ADZ88235 kb|g.31.peg.2171
> > gb|ADZ88235 kb|g.3785.peg.1578
> >
> > --bob
> >
> > _______________________________________________
> > Kbase-devel mailing list
> > Kbase-devel@lists.kbase.us
> > https://lists.kbase.us/mailman/listinfo/kbase-devel