private static DbReferenceType[] CreateDbReferenceTypeList()
        {
            List <DbReferenceType> ft = new List <DbReferenceType> {
                go, kegg, pfam, pdb, wormBase, reactome, mgi, sgd, mim, prosite, interPro, prints, smart, flyBase, wormPep,
                ncbiTaxonomy, doi, pubMed, embl, refSeq, geneId, protClustDb, medLine, proteinModelPortal, smr, gene3D, panther,
                pirsf, supfam, uniGene, dip, intAct, pride, ensemblPlants, gramene, eggNog, oma, phylomeDb, string1, ctd, xenbase,
                hogenom, hovergen, orthoDb, ipi, geneTree, patric, arrayExpress, brenda, ec, germOnline, ensemblMetazoa, bioCyc,
                genomeReviews, pir, ensembl, bgee, ko, inParanoid, nextBio, hamap, tigrfams, ensemblBacteria, dmdm, geneCards, hgnc,
                nextProt, cleanEx, genevestigator, mint, uniProt, peptideAtlas, ensemblFungi, cygd, tair, ucsc, proMex, proDom,
                pdbSum, phosphoSite, hssp, tigr, ensemblProtists, dictyBase, hinvDb, pharmGkb, rgd, zfin, merops, cazy, dnasu, hpa,
                pseudoCap, tcdb, vectorBase, drugBank, swiss2Dpage, dosacCobs2Dpage, ucd2Dpage, legioList, orphanet, genoList,
                pomBase, phosSite, echoBase, ecoGene, world2Dpage, cornea2Dpage, tubercuList, reproduction2Dpage, agricola, agd,
                leproma, allergome, geneFarm, peroxiBase, eco2Dbase, cgd, glycoSuiteDb, siena2Dpage, pmapCutDb, bindingDb,
                pathwayInteractionDb, twoDBaseEcoli, ogp, maizeGdb, conoServer, disProt, aarhusGhent2Dpage, euPathDb, phci2Dpage,
                compluyeast2Dpage, reBase, arachnoServer, euHcvDb, pmma2Dpage, pptaseDb, ratHeart2Dpage, anu2Dpage, ruleBase, saas,
                pirsr, pirnr, genpept, evolutionaryTrace, uniPathway, genomeRnai, paxDb, signaLink, hamapRule, chiTars, chEmbl,
                sabioRk, mycoClap, geneWiki, uniCarbKb
            };

            allDbReferenceTypeStrings = new string[ft.Count];
            allDbReferenceTypeStrings = new string[ft.Count];
            for (int i = 0; i < allDbReferenceTypeStrings.Length; i++)
            {
                allDbReferenceTypeStrings[i] = ft[i].UniprotName;
            }
            int[] o = ArrayUtils.Order(allDbReferenceTypeStrings);
            allDbReferenceTypeStrings = ArrayUtils.SubArray(allDbReferenceTypeStrings, o);
            DbReferenceType[] result = new DbReferenceType[ft.Count];
            for (int i = 0; i < result.Length; i++)
            {
                result[i]       = ft[o[i]];
                result[i].Index = i;
            }
            return(result);
        }
 public string[] GetNames(DbReferenceType key)
 {
     if (!dbEntries.ContainsKey(key))
     {
         return(new string[0]);
     }
     UniprotDbReference[] x      = ArrayUtils.GetValues(dbEntries[key]);
     string[]             result = new string[x.Length];
     for (int i = 0; i < x.Length; i++)
     {
         result[i] = x[i].GetPropertyValues("entry name")[0];
     }
     return(result);
 }
        public void AddDbEntry(string dbReferenceType, string dbReferenceId)
        {
            if (dbEntries == null)
            {
                dbEntries = new Dictionary <DbReferenceType, Dictionary <string, UniprotDbReference> >();
            }
            DbReferenceType type = DbReferenceType.GetDbReferenceType(dbReferenceType);

            if (!dbEntries.ContainsKey(type))
            {
                dbEntries.Add(type, new Dictionary <string, UniprotDbReference>());
            }
            if (!dbEntries[type].ContainsKey(dbReferenceId))
            {
                dbEntries[type].Add(dbReferenceId, new UniprotDbReference());
            }
        }
 public string[] GetNames(DbReferenceType key)
 {
     if (!dbEntries.ContainsKey(key)){
         return new string[0];
     }
     UniprotDbReference[] x = ArrayUtils.GetValues(dbEntries[key]);
     string[] result = new string[x.Length];
     for (int i = 0; i < x.Length; i++){
         result[i] = x[i].GetPropertyValues("entry name")[0];
     }
     return result;
 }
 public UniprotDbReference[] GetDbEntries(DbReferenceType key)
 {
     return !dbEntries.ContainsKey(key) ? new UniprotDbReference[0] : ArrayUtils.GetValues(dbEntries[key]);
 }
 public UniprotDbReference[] GetDbEntries(DbReferenceType[] keys)
 {
     List<UniprotDbReference> result = new List<UniprotDbReference>();
     foreach (DbReferenceType key in keys){
         result.AddRange(GetDbEntries(key));
     }
     return result.ToArray();
 }
 public string[] Get(DbReferenceType[] keys)
 {
     List<string> result = new List<string>();
     foreach (DbReferenceType key in keys){
         result.AddRange(Get(key));
     }
     return result.ToArray();
 }
 public string[] Get(DbReferenceType key)
 {
     return !dbEntries.ContainsKey(key) ? new string[0] : ArrayUtils.GetKeys(dbEntries[key]);
 }
        public void AddDbEntryProperty(string dbReferenceType, string dbReferenceId, string protertyType, string protertyValue)
        {
            DbReferenceType type = DbReferenceType.GetDbReferenceType(dbReferenceType);

            dbEntries[type][dbReferenceId].AddProperty(protertyType, protertyValue);
        }
 public UniprotDbReference[] GetDbEntries(DbReferenceType key)
 {
     return(!dbEntries.ContainsKey(key) ? new UniprotDbReference[0] : ArrayUtils.GetValues(dbEntries[key]));
 }
 public string[] Get(DbReferenceType key)
 {
     return(!dbEntries.ContainsKey(key) ? new string[0] : ArrayUtils.GetKeys(dbEntries[key]));
 }
 private static DbReferenceType[] CreateDbReferenceTypeList()
 {
     List<DbReferenceType> ft = new List<DbReferenceType>{
         go, kegg, pfam, pdb, wormBase, reactome, mgi, sgd, mim, prosite, interPro, prints, smart, flyBase, wormPep,
         ncbiTaxonomy, doi, pubMed, embl, refSeq, geneId, protClustDb, medLine, proteinModelPortal, smr, gene3D, panther,
         pirsf, supfam, uniGene, dip, intAct, pride, ensemblPlants, gramene, eggNog, oma, phylomeDb, string1, ctd, xenbase,
         hogenom, hovergen, orthoDb, ipi, geneTree, patric, arrayExpress, brenda, ec, germOnline, ensemblMetazoa, bioCyc,
         genomeReviews, pir, ensembl, bgee, ko, inParanoid, nextBio, hamap, tigrfams, ensemblBacteria, dmdm, geneCards, hgnc,
         nextProt, cleanEx, genevestigator, mint, uniProt, peptideAtlas, ensemblFungi, cygd, tair, ucsc, proMex, proDom,
         pdbSum, phosphoSite, hssp, tigr, ensemblProtists, dictyBase, hinvDb, pharmGkb, rgd, zfin, merops, cazy, dnasu, hpa,
         pseudoCap, tcdb, vectorBase, drugBank, swiss2Dpage, dosacCobs2Dpage, ucd2Dpage, legioList, orphanet, genoList,
         pomBase, phosSite, echoBase, ecoGene, world2Dpage, cornea2Dpage, tubercuList, reproduction2Dpage, agricola, agd,
         leproma, allergome, geneFarm, peroxiBase, eco2Dbase, cgd, glycoSuiteDb, siena2Dpage, pmapCutDb, bindingDb,
         pathwayInteractionDb, twoDBaseEcoli, ogp, maizeGdb, conoServer, disProt, aarhusGhent2Dpage, euPathDb, phci2Dpage,
         compluyeast2Dpage, reBase, arachnoServer, euHcvDb, pmma2Dpage, pptaseDb, ratHeart2Dpage, anu2Dpage, ruleBase, saas,
         pirsr, pirnr, genpept, evolutionaryTrace, uniPathway, genomeRnai, paxDb, signaLink, hamapRule, chiTars, chEmbl,
         sabioRk, mycoClap, geneWiki, uniCarbKb
     };
     allDbReferenceTypeStrings = new string[ft.Count];
     allDbReferenceTypeStrings = new string[ft.Count];
     for (int i = 0; i < allDbReferenceTypeStrings.Length; i++){
         allDbReferenceTypeStrings[i] = ft[i].UniprotName;
     }
     int[] o = ArrayUtils.Order(allDbReferenceTypeStrings);
     allDbReferenceTypeStrings = ArrayUtils.SubArray(allDbReferenceTypeStrings, o);
     DbReferenceType[] result = new DbReferenceType[ft.Count];
     for (int i = 0; i < result.Length; i++){
         result[i] = ft[o[i]];
         result[i].Index = i;
     }
     return result;
 }