From 7e5c19b031a37ba522fe7448474113d18e3b4371 Mon Sep 17 00:00:00 2001 From: Charles Tapley Hoyt Date: Fri, 12 Aug 2022 00:13:36 +0200 Subject: [PATCH 1/5] Add CURIE parse benchmark --- exports/benchmarks/README.md | 2 + exports/benchmarks/curie_parsing/data.tsv | 2149 ++++++++++++++++++ exports/benchmarks/curie_parsing/results.svg | 1908 ++++++++++++++++ src/bioregistry/benchmarks/curie_parsing.py | 76 + src/bioregistry/constants.py | 6 + src/bioregistry/schema/struct.py | 9 + 6 files changed, 4150 insertions(+) create mode 100644 exports/benchmarks/curie_parsing/data.tsv create mode 100644 exports/benchmarks/curie_parsing/results.svg create mode 100644 src/bioregistry/benchmarks/curie_parsing.py diff --git a/exports/benchmarks/README.md b/exports/benchmarks/README.md index 0bc635ed7..ce319e9c2 100644 --- a/exports/benchmarks/README.md +++ b/exports/benchmarks/README.md @@ -2,3 +2,5 @@ 1. The [`uri_parsing`](uri_parsing) benchmark checks the `bioregistry.parse_iri` function. See also https://github.com/biopragmatics/bioregistry/pull/481. +2. The [`curie_parsing`](curie_parsing) benchmark checks the `bioregistry.parse_curie` + function. diff --git a/exports/benchmarks/curie_parsing/data.tsv b/exports/benchmarks/curie_parsing/data.tsv new file mode 100644 index 000000000..db17b162c --- /dev/null +++ b/exports/benchmarks/curie_parsing/data.tsv @@ -0,0 +1,2149 @@ +3dmet B00162 3dmet 3dmet:B00162 +4dn.biosource 4DNSR73BT2A2 4DN 4DN:4DNSR73BT2A2 +4dn.biosource 4DNSR73BT2A2 4dn.biosource 4dn.biosource:4DNSR73BT2A2 +4dn.replicate 4DNESWX1J3QU 4dn.replicate 4dn.replicate:4DNESWX1J3QU +abcd AD834 abcd abcd:AD834 +abm T0599 abm abm:T0599 +abs A0014 abs abs:A0014 +ac Add ac ac:Add +aceview.worm aap-1 aceview.worm aceview.worm:aap-1 +addexbio C0020004/4992 addexbio addexbio:C0020004/4992 +addgene 50943 addgene addgene:50943 +ado 0000001 ADO ADO:0000001 +ado 0000001 ado ado:0000001 +adw Lycalopex_vetulus ADW ADW:Lycalopex_vetulus +adw Lycalopex_vetulus adw adw:Lycalopex_vetulus +aeo 0001017 AEO AEO:0001017 +aeo 0001017 AEO_RETIRED AEO_RETIRED:0001017 +aeo 0001017 aeo aeo:0001017 +aero 0000125 AERO AERO:0000125 +aero 0000125 aero aero:0000125 +affy.probeset 243002_at affy.probeset affy.probeset:243002_at +aftol.taxonomy 959 aftol.taxonomy aftol.taxonomy:959 +agilent.probe A_24_P98555 agilent.probe agilent.probe:A_24_P98555 +agricola 50018 AGR AGR:50018 +agricola 50018 AGRICOLA_ID AGRICOLA_ID:50018 +agricola 50018 agricola agricola:50018 +agrkb 100000000000001 agrkb agrkb:100000000000001 +agro 00020007 AGRO AGRO:00020007 +agro 00020007 agro agro:00020007 +agrovoc 2842 agrovoc agrovoc:2842 +aism 0000027 AISM AISM:0000027 +aism 0000027 aism aism:0000027 +allergome 1948 allergome allergome:1948 +alzforum.mutation app-d678n-tottori Alzforum_mut Alzforum_mut:app-d678n-tottori +alzforum.mutation app-d678n-tottori alzforum.mutation alzforum.mutation:app-d678n-tottori +amoebadb EDI_244000 amoebadb amoebadb:EDI_244000 +amphx 1000160 AMPHX AMPHX:1000160 +amphx 1000160 amphx amphx:1000160 +antibodyregistry 493771 antibodyregistry antibodyregistry:493771 +antweb casent0106247 antweb antweb:casent0106247 +aop 98 aop aop:98 +aop.events 3 aop.events aop.events:3 +aop.relationships 5 aop.relationships aop.relationships:5 +aop.stressor 9 aop.stressor aop.stressor:9 +apaonto Abdomen apaonto apaonto:Abdomen +apd 01001 apd apd:01001 +aphidbase.transcript ACYPI000159 aphidbase.transcript aphidbase.transcript:ACYPI000159 +apid.interactions P01116 apid.interactions apid.interactions:P01116 +apo 0000184 APO APO:0000184 +apo 0000184 apo apo:0000184 +apollosv 00000443 APOLLO_SV APOLLO_SV:00000443 +apollosv 00000443 apollosv apollosv:00000443 +arachnoserver AS000060 arachnoserver arachnoserver:AS000060 +araport AT1G01010 araport araport:AT1G01010 +ardb CAE46076 ardb ardb:CAE46076 +ark /12345/fk1234 ark ark:/12345/fk1234 +ark /12345/fk1234 ark ark: ark:ark:/12345/fk1234 +aro 1000001 ARO ARO:1000001 +aro 1000001 aro aro:1000001 +arrayexpress E-MEXP-1712 arrayexpress arrayexpress:E-MEXP-1712 +arrayexpress.platform A-GEOD-50 arrayexpress.platform arrayexpress.platform:A-GEOD-50 +arraymap icdom:8500_3 arraymap arraymap:icdom:8500_3 +arxiv 0807.4956v1 arxiv arxiv:0807.4956v1 +asap ABE-0009634 asap asap:ABE-0009634 +ascl 1801.012 ascl ascl:1801.012 +asin 0471491039 asin asin:0471491039 +aspgd.locus ASPL0000349247 aspgd.locus aspgd.locus:ASPL0000349247 +aspgd.protein ASPL0000349247 aspgd.protein aspgd.protein:ASPL0000349247 +asrp ASRP1423 asrp asrp:ASRP1423 +atc A10BA02 ATC_code ATC_code:A10BA02 +atc A10BA02 ATTC ATTC:A10BA02 +atc A10BA02 atc atc:A10BA02 +atcc 11303 ATCC ATCC:11303 +atcc 11303 ATCC(dna) ATCC(dna):11303 +atcc 11303 atcc atcc:11303 +atcvet QJ51RV02 atcvet atcvet:QJ51RV02 +atfdb.family CUT atfdb.family atfdb.family:CUT +ato 0000000 ATO ATO:0000000 +ato 0000000 ato ato:0000000 +atol 0002233 atol atol:0002233 +autdb ADA autdb autdb:ADA +bacdive 131392 bacdive bacdive:131392 +bacmap.biog 1050 bacmap.biog bacmap.biog:1050 +bacmap.map AP011135 bacmap.map bacmap.map:AP011135 +bactibase BAC045 bactibase bactibase:BAC045 +bao 0002989 BAO BAO:0002989 +bao 0002989 bao bao:0002989 +bbkg topological-sampling/studios/f0ba2f3e-aa6f-4264-8d18-8ee65cf6f61a bbkg bbkg:topological-sampling/studios/f0ba2f3e-aa6f-4264-8d18-8ee65cf6f61a +bbtp f0ba2f3e-aa6f-4264-8d18-8ee65cf6f61a bbtp bbtp:f0ba2f3e-aa6f-4264-8d18-8ee65cf6f61a +bcgo 0000015 BCGO BCGO:0000015 +bcgo 0000015 bcgo bcgo:0000015 +bcio 040000 bcio bcio:040000 +bco 0000081 BCO BCO:0000081 +bco 0000081 bco bco:0000081 +bcrc 60316 bcrc bcrc:60316 +bcrj 0278 bcrj bcrj:0278 +bdgp.est EY223054.1 bdgp.est bdgp.est:EY223054.1 +bdgp.insertion KG09531 bdgp.insertion bdgp.insertion:KG09531 +bdsc 33607 bdsc bdsc:33607 +beetlebase TC010103 beetlebase beetlebase:TC010103 +begdb 4214 begdb begdb:4214 +beiresources MRA-253 BEI_Resources BEI_Resources:MRA-253 +beiresources MRA-253 beiresources beiresources:MRA-253 +bel 9-1-1 Complex bel bel:9-1-1 Complex +bfo 0000001 BFO BFO:0000001 +bfo 0000001 bfo bfo:0000001 +bgee.family ENSFM00500000270089 bgee.family bgee.family:ENSFM00500000270089 +bgee.gene FBgn0000015 bgee.gene bgee.gene:FBgn0000015 +bgee.organ EHDAA:2185 bgee.organ bgee.organ:EHDAA:2185 +bgee.stage HsapDO:0000004 bgee.stage bgee.stage:HsapDO:0000004 +bido CategorialBibliometricData BiDO BiDO:CategorialBibliometricData +bido CategorialBibliometricData bido bido:CategorialBibliometricData +bigg.compartment c bigg.compartment bigg.compartment:c +bigg.metabolite 12dgr161 bigg.metabolite bigg.metabolite:12dgr161 +bigg.model iECABU_c1320 bigg.model bigg.model:iECABU_c1320 +bigg.reaction 13GS bigg.reaction bigg.reaction:13GS +bila 0000000 BILA BILA:0000000 +bila 0000000 bila bila:0000000 +bindingdb e999 bindingdb bindingdb:e999 +biocarta.pathway h_aktPathway biocarta.pathway biocarta.pathway:h_aktPathway +biocatalogue.service 614 biocatalogue.service biocatalogue.service:614 +biocyc ECOLI:CYT-D-UBIOX-CPLX biocyc biocyc:ECOLI:CYT-D-UBIOX-CPLX +biogrid 31623 biogrid biogrid:31623 +biogrid.interaction 2649230 biogrid.interaction biogrid.interaction:2649230 +biolegend 3403 biolegend biolegend:3403 +biolink Gene biolink biolink:Gene +biominder aef4c195-9cf9-46db-a12a-7cfd1ff3eec3 biominder biominder:aef4c195-9cf9-46db-a12a-7cfd1ff3eec3 +biomodels.db BIOMD0000000048 BIOMD BIOMD:BIOMD0000000048 +biomodels.db BIOMD0000000048 biomodels.db biomodels.db:BIOMD0000000048 +biomodels.kisao 0000057 biomodels.kisao biomodels.kisao:0000057 +biomodels.kisao 0000057 biomodels.kisao KISAO_ biomodels.kisao:KISAO_0000057 +biomodels.kisao 0000057 kisao kisao:0000057 +biomodels.kisao 0000057 kisao KISAO_ kisao:KISAO_0000057 +biomodels.teddy 0000066 biomodels.teddy biomodels.teddy:0000066 +biomodels.teddy 0000066 biomodels.teddy TEDDY_ biomodels.teddy:TEDDY_0000066 +biomodels.teddy 0000066 teddy teddy:0000066 +biomodels.teddy 0000066 teddy TEDDY_ teddy:TEDDY_0000066 +biomodels.vocabulary rateRule biomodels.vocabulary biomodels.vocabulary:rateRule +bionumbers 104674 bionumbers bionumbers:104674 +bioportal 1046 bioportal bioportal:1046 +bioproject PRJDB3 bioproject bioproject:PRJDB3 +bioregistry bioregistry bioregistry bioregistry:bioregistry +bioregistry.collection 0000001 bioregistry.collection bioregistry.collection:0000001 +bioregistry.registry miriam bioregistry.registry bioregistry.registry:miriam +bioregistry.schema 0000001 bioregistry.schema bioregistry.schema:0000001 +biorxiv 000091 biorxiv biorxiv:000091 +biorxiv 000091v1 biorxiv biorxiv:000091v1 +biorxiv 2022.07.08.499378 biorxiv biorxiv:2022.07.08.499378 +biorxiv 2022.07.08.499378v2 biorxiv biorxiv:2022.07.08.499378v2 +biosample SAMEA2397676 biosample biosample:SAMEA2397676 +biosample SAMEA2397676 biosamples biosamples:SAMEA2397676 +biosimulations Yeast-cell-cycle-Irons-J-Theor-Biol-2009 biosimulations biosimulations:Yeast-cell-cycle-Irons-J-Theor-Biol-2009 +biosimulators vcell biosimulators biosimulators:vcell +biostudies S-EPMC6266652 biostudies biostudies:S-EPMC6266652 +biosystems 001 biosystems biosystems:001 +biotools bioregistry biotools biotools:bioregistry +biozil ls-c35719-120 biozil biozil:ls-c35719-120 +birnlex 2023 birnlex birnlex:2023 +biro BibliographicRecord BiRO BiRO:BibliographicRecord +biro BibliographicRecord biro biro:BibliographicRecord +bitbucket andreadega/systems-biology-compiler bitbucket bitbucket:andreadega/systems-biology-compiler +bitterdb.cpd 46 bitterdb.cpd bitterdb.cpd:46 +bitterdb.rec 1 bitterdb.rec bitterdb.rec:1 +bko 0000204 bko bko:0000204 +bmrb 15000 bmrb bmrb:15000 +bmrb.restraint 28789 bmrb.restraint bmrb.restraint:28789 +bold.taxonomy 27267 bold.taxonomy bold.taxonomy:27267 +bpdb 2404 bpdb bpdb:2404 +brenda 1.1.1.1 brenda brenda:1.1.1.1 +brenda.ligand 278 brenda.ligand brenda.ligand:278 +brenda.ligandgroup 18030 brenda.ligandgroup brenda.ligandgroup:18030 +broad S7000002168151102 broad broad:S7000002168151102 +bs 00042 bs bs:00042 +bspo 0000029 BSPO BSPO:0000029 +bspo 0000029 bspo bspo:0000029 +bto 0000590 BTO BTO:0000590 +bto 0000590 BTO BTO: BTO:BTO:0000590 +bto 0000590 bto bto:0000590 +bto 0000590 bto BTO: bto:BTO:0000590 +bugbase.expt 288 bugbase.expt bugbase.expt:288 +bugbase.protocol 67 bugbase.protocol bugbase.protocol:67 +bykdb A0A009E7X8 bykdb bykdb:A0A009E7X8 +c4o InTextReferencePointer C4O C4O:InTextReferencePointer +c4o InTextReferencePointer c4o c4o:InTextReferencePointer +cabri dsmz_mutz-id:ACC 291 cabri cabri:dsmz_mutz-id:ACC 291 +cadsr 3771992 cadsr cadsr:3771992 +caloha TS-0001 caloha caloha:TS-0001 +cameo 2019-08-03_00000089_1 cameo cameo:2019-08-03_00000089_1 +caps 434 caps caps:434 +caro 0000000 CARO CARO:0000000 +caro 0000000 caro caro:0000000 +cas 50-00-0 CASID CASID:50-00-0 +cas 50-00-0 CAS_RN CAS_RN:50-00-0 +cas 50-00-0 SECONDARY_CAS_RN SECONDARY_CAS_RN:50-00-0 +cas 50-00-0 cas cas:50-00-0 +cas 50-00-0 cas_id cas_id:50-00-0 +casspc 5359 casspc casspc:5359 +cath 1.10.8.10 cath cath:1.10.8.10 +cath.domain 1cukA01 cath.domain cath.domain:1cukA01 +cath.superfamily 1.10.10.200 cath.superfamily cath.superfamily:1.10.10.200 +cattleqtldb 4685 cattleqtldb cattleqtldb:4685 +cazy GT10 cazy cazy:GT10 +cba 375364 cba cba:375364 +cbioportal laml_tcga_pub cbioportal cbioportal:laml_tcga_pub +ccdc 1829126 ccdc ccdc:1829126 +ccds CCDS13573.1 ccds ccds:CCDS13573.1 +ccle BT20_BREAST ccle ccle:BT20_BREAST +ccle BT20_BREAST ccle.cell ccle.cell:BT20_BREAST +cco 0000003 cco cco:0000003 +cco 0000003 cco CCO: cco:CCO:0000003 +ccrid 4201PAT-CCTCC00348 ccrid ccrid:4201PAT-CCTCC00348 +cdao 0000072 CDAO CDAO:0000072 +cdao 0000072 cdao cdao:0000072 +cdd cd00400 cdd cdd:cd00400 +cdno 0000013 CDNO CDNO:0000013 +cdno 0000013 cdno cdno:0000013 +cdpd 63250 cdpd cdpd:63250 +cdt 1000001 cdt cdt:1000001 +cell_biolabs AKR-270 cell_biolabs cell_biolabs:AKR-270 +cell_model_passport SIDM01262 cell_model_passport cell_model_passport:SIDM01262 +cellbank.australia ab-1-ha cellbank.australia cellbank.australia:ab-1-ha +cellimage 24801 cellimage cellimage:24801 +cellopub CLPUB00496 cellopub cellopub:CLPUB00496 +cellosaurus 0440 CVCL CVCL:0440 +cellosaurus 0440 CVCL CVCL_ CVCL:CVCL_0440 +cellosaurus 0440 cellosaurus cellosaurus:0440 +cellosaurus 0440 cellosaurus CVCL_ cellosaurus:CVCL_0440 +cellosaurus.resource 4DN cellosaurus.resource cellosaurus.resource:4DN +cellrepo 82 cellrepo cellrepo:82 +ceph 0000109 CEPH CEPH:0000109 +ceph 0000109 ceph ceph:0000109 +cgd CAL0003079 cgd cgd:CAL0003079 +cghdb 300165/p13898_2106T cghdb cghdb:300165/p13898_2106T +cgnc 10087 BirdBase BirdBase:10087 +cgnc 10087 CGNC CGNC:10087 +cgnc 10087 cgnc cgnc:10087 +cgsc 74 cgsc cgsc:74 +charprot CH_001923 charprot charprot:CH_001923 +chebi 24867 CHEBI CHEBI:24867 +chebi 24867 CHEBI CHEBI: CHEBI:CHEBI:24867 +chebi 24867 CHEBIID CHEBIID:24867 +chebi 24867 CHEBIID CHEBI: CHEBIID:CHEBI:24867 +chebi 24867 ChEBI ChEBI:24867 +chebi 24867 ChEBI CHEBI: ChEBI:CHEBI:24867 +chebi 24867 chebi chebi:24867 +chebi 24867 chebi CHEBI: chebi:CHEBI:24867 +chembl CHEMBL4303805 ChEMBL ChEMBL:CHEMBL4303805 +chembl CHEMBL4303805 ChEMBL_ID ChEMBL_ID:CHEMBL4303805 +chembl CHEMBL4303805 chembl chembl:CHEMBL4303805 +chembl.cell CHEMBL3307800 ChEMBL-Cells ChEMBL-Cells:CHEMBL3307800 +chembl.cell CHEMBL3307800 chembl.cell chembl.cell:CHEMBL3307800 +chembl.compound CHEMBL465070 chembl.compound chembl.compound:CHEMBL465070 +chembl.target CHEMBL3467 ChEMBL-Targets ChEMBL-Targets:CHEMBL3467 +chembl.target CHEMBL3467 chembl.target chembl.target:CHEMBL3467 +chemdb 3966782 chemdb chemdb:3966782 +chemidplus 57-27-2 ChemIDplus ChemIDplus:57-27-2 +chemidplus 57-27-2 chemidplus chemidplus:57-27-2 +cheminf 000410 CHEMINF CHEMINF:000410 +cheminf 000410 cheminf cheminf:000410 +chemspider 56586 ChemSpiderID ChemSpiderID:56586 +chemspider 56586 Chemspider Chemspider:56586 +chemspider 56586 chemspider chemspider:56586 +chickenqtldb 14362 chickenqtldb chickenqtldb:14362 +chmo 0002902 CHMO CHMO:0002902 +chmo 0002902 chmo chmo:0002902 +cido 0000005 CIDO CIDO:0000005 +cido 0000005 cido cido:0000005 +cio 0000040 CIO CIO:0000040 +cio 0000040 cio cio:0000040 +citexplore C6155 CTX CTX:C6155 +citexplore C6155 citexplore citexplore:C6155 +cito sharesAuthorInstitutionWith CiTO CiTO:sharesAuthorInstitutionWith +cito sharesAuthorInstitutionWith cito cito:sharesAuthorInstitutionWith +civic.aid 3 civic.aid civic.aid:3 +civic.eid 1199 civic.eid civic.eid:1199 +cl 0000062 CL CL:0000062 +cl 0000062 CL CL: CL:CL:0000062 +cl 0000062 cl cl:0000062 +cl 0000062 cl CL: cl:CL:0000062 +clao 0000088 CLAO CLAO:0000088 +clao 0000088 clao clao:0000088 +classyfire 0004828 CHEMONTID CHEMONTID:0004828 +classyfire 0004828 CHEMONTID C CHEMONTID:C0004828 +classyfire 0004828 classyfire classyfire:0004828 +classyfire 0004828 classyfire C classyfire:C0004828 +cldb cl3603 cldb cldb:cl3603 +clingene CA981206459 clingene clingene:CA981206459 +clinicaltrials NCT00222573 clinicaltrials clinicaltrials:NCT00222573 +clinvar 12345 clinvar clinvar:12345 +clinvar.record RCV000033555.3 clinvar.record clinvar.record:RCV000033555.3 +clinvar.submission SCV000151292 clinvar.submission clinvar.submission:SCV000151292 +clinvar.submitter 26957 clinvar.submitter clinvar.submitter:26957 +clo 0000091 CLO CLO:0000091 +clo 0000091 clo clo:0000091 +cls 300108/p3934_A-172 cls cls:300108/p3934_A-172 +clyh 1000100 CLYH CLYH:1000100 +clyh 1000100 clyh clyh:1000100 +cmecs 595 cmecs cmecs:595 +cmo 0001350 CMO CMO:0001350 +cmo 0001350 cmo cmo:0001350 +cmpo 0000435 cmpo cmpo:0000435 +co_320 0000618 co_320 co_320:0000618 +co_321 0000449 co_321 co_321:0000449 +co_322 0000773 co_322 co_322:0000773 +co_323 0000252 co_323 co_323:0000252 +co_324 0000111 co_324 co_324:0000111 +co_325 0000519 co_325 co_325:0000519 +co_326 0000254 co_326 co_326:0000254 +co_327 0000095 co_327 co_327:0000095 +co_330 0000106 co_330 co_330:0000106 +co_331 0000088 co_331 co_331:0000088 +co_333 3000045 co_333 co_333:3000045 +co_334 0000070 co_334 co_334:0000070 +co_335 0000189 co_335 co_335:0000189 +co_336 0000339 co_336 co_336:0000339 +co_337 0000054 co_337 co_337:0000054 +co_338 0000138 co_338 co_338:0000138 +co_339 0000032 co_339 co_339:0000032 +co_340 0000639 co_340 co_340:0000639 +co_341 0000140 co_341 co_341:0000140 +co_343 0100010 co_343 co_343:0100010 +co_345 0000127 co_345 co_345:0000127 +co_346 0000199 co_346 co_346:0000199 +co_347 0000108 co_347 co_347:0000108 +co_348 1100107 co_348 co_348:1100107 +co_350 0000215 co_350 co_350:0000215 +co_356 4000027 co_356 co_356:4000027 +co_357 1000290 co_357 co_357:1000290 +co_358 0000139 co_358 co_358:0000139 +co_359 0000947 co_359 co_359:0000947 +co_360 0000071 co_360 co_360:0000071 +co_365 0000205 co_365 co_365:0000205 +co_366 0000072 co_366 co_366:0000072 +cob 0000080 COB COB:0000080 +cob 0000080 cob cob:0000080 +coconut CNP0171505 coconut coconut:CNP0171505 +codelink GE86325 codelink codelink:GE86325 +cog COG0001 COG_Cluster COG_Cluster:COG0001 +cog COG0001 cog cog:COG0001 +cog.category K cog.category cog.category:K +cog.pathway NAD%20biosynthesis cog.pathway cog.pathway:NAD%20biosynthesis +col.taiwan 431472 col.taiwan col.taiwan:431472 +colao 0000000 COLAO COLAO:0000000 +colao 0000000 colao colao:0000000 +colonatlas ALA colonatlas colonatlas:ALA +combine.specifications sbgn.er.level-1.version-1.2 combine.specifications combine.specifications:sbgn.er.level-1.version-1.2 +come MOL000160 come come:MOL000160 +complexportal CPX-263 ComplexPortal ComplexPortal:CPX-263 +complexportal CPX-263 complexportal complexportal:CPX-263 +comptox DTXSID2021028 comptox comptox:DTXSID2021028 +compulyeast O08709 compulyeast compulyeast:O08709 +conoserver 2639 conoserver conoserver:2639 +conso CONSO00010 conso conso:CONSO00010 +cordis.article 436605 cordis.article cordis.article:436605 +cordis.project 817732 cordis.project cordis.project:817732 +coriell GM17027 coriell coriell:GM17027 +corrdb 37232 corrdb corrdb:37232 +corum 100 corum corum:100 +cosmic BRAF cosmic cosmic:BRAF +cosmic.cell 906801 cosmic.cell cosmic.cell:906801 +covid19 SFB_COVID19_MW286762 covid19 covid19:SFB_COVID19_MW286762 +covoc 0010034 covoc covoc:0010034 +cpc A01M1/026 cpc cpc:A01M1/026 +cpt 00103 cpt cpt:00103 +credit Software credit credit:Software +crisprdb 551115 crisprdb crisprdb:551115 +cro 0000038 CRO CRO:0000038 +cro 0000038 cro cro:0000038 +cryoem 0000052 cryoem cryoem:0000052 +cryptodb cgd7_230 cryptodb cryptodb:cgd7_230 +csa 1a05 csa csa:1a05 +csd PELNAW csd csd:PELNAW +csp 2004-2820 CRISP CRISP:2004-2820 +csp 2004-2820 CSP2005 CSP2005:2004-2820 +csp 2004-2820 csp csp:2004-2820 +cst Akt_PKB cst cst:Akt_PKB +cst.ab 3305 cst.ab cst.ab:3305 +ctd.chemical D001151 ctd.chemical ctd.chemical:D001151 +ctd.disease D053716 ctd.disease ctd.disease:D053716 +ctd.gene 101 ctd.gene ctd.gene:101 +cteno 0000047 CTENO CTENO:0000047 +cteno 0000047 cteno cteno:0000047 +cto 0000022 CTO CTO:0000022 +cto 0000022 cto cto:0000022 +cubedb AKR cubedb cubedb:AKR +cvdo 0000546 CVDO CVDO:0000546 +cvdo 0000546 cvdo cvdo:0000546 +d1id 00030692-0FE1-4A1B-955E-A2E55D659267 d1id d1id:00030692-0FE1-4A1B-955E-A2E55D659267 +dailymed 973a9333-fec7-46dd-8eb5-25738f06ee54 dailymed dailymed:973a9333-fec7-46dd-8eb5-25738f06ee54 +dandi 000017 dandi dandi:000017 +darc 1250 darc darc:1250 +dashr hsa-mir-200a dashr dashr:hsa-mir-200a +dashr.expression hsa-mir-200a dashr.expression dashr.expression:hsa-mir-200a +datacite AgentIdentifierScheme DataCite DataCite:AgentIdentifierScheme +datacite AgentIdentifierScheme datacite datacite:AgentIdentifierScheme +datanator.gene K00973 datanator.gene datanator.gene:K00973 +datanator.metabolite OUYCCCASQSFEME-MRVPVSSYSA-N datanator.metabolite datanator.metabolite:OUYCCCASQSFEME-MRVPVSSYSA-N +datanator.reaction XLYOFNOQVPJJNP-UHFFFAOYSA-N,NBSCHQHZLSJFNQ-GASJEMHNSA-N--%3ENBIIXXVUZAFLBC-UHFFFAOYSA-N,WQZGKKKJIJFFOK-GASJEMHNSA-N datanator.reaction datanator.reaction:XLYOFNOQVPJJNP-UHFFFAOYSA-N,NBSCHQHZLSJFNQ-GASJEMHNSA-N--%3ENBIIXXVUZAFLBC-UHFFFAOYSA-N,WQZGKKKJIJFFOK-GASJEMHNSA-N +datf AT1G01030.1 datf datf:AT1G01030.1 +dbd 0045310 dbd dbd:0045310 +dbest BP100000 dbest dbest:BP100000 +dbg2introns Cu.me.I1 dbg2introns dbg2introns:Cu.me.I1 +dbgap phs000768.v2.p1 dbgap dbgap:phs000768.v2.p1 +dbmhc 48439 dbmhc dbmhc:48439 +dbprobe 1000000 dbprobe dbprobe:1000000 +dbsnp rs121909098 dbsnp dbsnp:rs121909098 +dbvar.study nstd102 dbvar.studies dbvar.studies:nstd102 +dbvar.study nstd102 dbvar.study dbvar.study:nstd102 +dbvar.variant nsv3875336 dbvar.variant dbvar.variant:nsv3875336 +dbvar.variant nsv3875336 dbvar.variants dbvar.variants:nsv3875336 +dc contributor dc dc:contributor +dc_cl 0000003 DC_CL DC_CL:0000003 +dc_cl 0000003 dc_cl dc_cl:0000003 +dcat Dataset dcat dcat:Dataset +dcterms title dc.terms dc.terms:title +dcterms title dcterms dcterms:title +dctypes Collection dctypes dctypes:Collection +ddanat 0000006 DDANAT DDANAT:0000006 +ddanat 0000006 ddanat ddanat:0000006 +ddinter.drug DDInter20 ddinter.drug ddinter.drug:DDInter20 +ddinter.interaction 1122888 ddinter.interaction ddinter.interaction:1122888 +ddpheno 0001417 DDPHENO DDPHENO:0001417 +ddpheno 0001417 ddpheno ddpheno:0001417 +debio 0000001 DeBiO DeBiO:0000001 +debio 0000001 debio debio:0000001 +decipher 1 decipher decipher:1 +degradome Ax1 degradome degradome:Ax1 +deo Reference DEO DEO:Reference +deo Reference deo deo:Reference +depmap ACH-000001 depmap depmap:ACH-000001 +depod PTPN1 depod depod:PTPN1 +dermo 0000000 dermo dermo:0000000 +dev.ga4ghdos 23fa7b4b-9d68-429b-aece-658b11124bb3#2017-03-24T18:43:16.886826-05:00 dev.ga4ghdos dev.ga4ghdos:23fa7b4b-9d68-429b-aece-658b11124bb3#2017-03-24T18:43:16.886826-05:00 +dg.4503 0000ffeb-36e0-4a29-b21d-84423bda979d dg.4503 dg.4503:0000ffeb-36e0-4a29-b21d-84423bda979d +dg.4dfc 81944ba1-81d0-436e-8552-33d77a27834b dg.4dfc dg.4dfc:81944ba1-81d0-436e-8552-33d77a27834b +dg.6vts 2afacf00-9a1d-4d80-8c32-69d3923d3913 dg.6vts dg.6vts:2afacf00-9a1d-4d80-8c32-69d3923d3913 +dg.anv0 00077f1c-c45a-47ba-8e6c-1bf6b6b43fce dg.anv0 dg.anv0:00077f1c-c45a-47ba-8e6c-1bf6b6b43fce +dg.f82a1a 00026f50-858a-446b-8ed9-b0e3ecd7b20e dg.f82a1a dg.f82a1a:00026f50-858a-446b-8ed9-b0e3ecd7b20e +dg5b0d 00000d53-99bc-4d3e-8ed7-6dc358baccb7 dg5b0d dg5b0d:00000d53-99bc-4d3e-8ed7-6dc358baccb7 +dgrc 215 dgrc dgrc:215 +dhba 10153 DHBA DHBA:10153 +dhba 10153 dhba dhba:10153 +dicom 109082 dicom dicom:109082 +dictybase DDB0191090 dictyBase dictyBase:DDB0191090 +dictybase DDB0191090 dictybase dictybase:DDB0191090 +dictybase.est DDB0016567 dictybase.est dictybase.est:DDB0016567 +dictybase.gene DDB_G0267522 dictybase.gene dictybase.gene:DDB_G0267522 +did sov:WRfXPg8dantKVubE3HX8pw did did:sov:WRfXPg8dantKVubE3HX8pw +did sov:WRfXPg8dantKVubE3HX8pw did did: did:did:sov:WRfXPg8dantKVubE3HX8pw +dideo 00000180 DIDEO DIDEO:00000180 +dideo 00000180 dideo dideo:00000180 +dip DIP-743N dip dip:DIP-743N +discoverx 95-0166C6 discoverx discoverx:95-0166C6 +disdriv 0000000 DISDRIV DISDRIV:0000000 +disdriv 0000000 disdriv disdriv:0000000 +diseaseclass 0000598 diseaseclass diseaseclass:0000598 +diseasesdb 1784 diseasesdb diseasesdb:1784 +disprot DP00003 disprot disprot:DP00003 +disprot.region DP00086r013 disprot.region disprot.region:DP00086r013 +dlxb 6VDC956 dlxb dlxb:6VDC956 +dlxc M77F7JM dlxc dlxc:M77F7JM +dmba 688 DMBA DMBA:688 +dmba 688 dmba dmba:688 +doco Paragraph DoCO DoCO:Paragraph +doco Paragraph doco doco:Paragraph +doi 10.1101/2022.07.08.499378 doi doi:10.1101/2022.07.08.499378 +doid 0110974 DOID DOID:0110974 +doid 0110974 DOID DOID: DOID:DOID:0110974 +doid 0110974 do do:0110974 +doid 0110974 do DOID: do:DOID:0110974 +doid 0110974 doid doid:0110974 +doid 0110974 doid DOID: doid:DOID:0110974 +dommino 2GC4 dommino dommino:2GC4 +door 1398574 door door:1398574 +doqcs.model 57 doqcs.model doqcs.model:57 +doqcs.pathway 131 doqcs.pathway doqcs.pathway:131 +dpv 100 dpv dpv:100 +dragondb.allele cho dragondb.allele dragondb.allele:cho +dragondb.dna 3hB06 dragondb.dna dragondb.dna:3hB06 +dragondb.locus DEF dragondb.locus dragondb.locus:DEF +dragondb.protein AMDEFA dragondb.protein dragondb.protein:AMDEFA +dron 00023232 DRON DRON:00023232 +dron 00023232 dron dron:00023232 +drsc DRSC05221 drsc drsc:DRSC05221 +drugbank DB14938 DRUGBANK_ID DRUGBANK_ID:DB14938 +drugbank DB14938 DrugBank DrugBank:DB14938 +drugbank DB14938 drugbank drugbank:DB14938 +drugbank.category DBCAT000600 drugbank.category drugbank.category:DBCAT000600 +drugbank.salt DBSALT001211 drugbank.salt drugbank.salt:DBSALT001211 +drugbank.salt DBSALT001211 drugbank.target drugbank.target:DBSALT001211 +drugbankv4.target BE0000048 drugbankv4.target drugbankv4.target:BE0000048 +drugcentral 307 Drug_Central Drug_Central:307 +drugcentral 307 drugcentral drugcentral:307 +dsmz ACC-1 dsmz dsmz:ACC-1 +dto 90000018 dto dto:90000018 +duo 0000046 DUO DUO:0000046 +duo 0000046 duo duo:0000046 +eaglei 0000012b-5661-2f63-2f73-b43980000000 eaglei eaglei:0000012b-5661-2f63-2f73-b43980000000 +easychair.cfp SysBioCancer2022 easychair.cfp easychair.cfp:SysBioCancer2022 +easychair.topic 27106865 easychair.topic easychair.topic:27106865 +ebisc ESi007-A ebisc ebisc:ESi007-A +ecacc 90062901 ecacc ecacc:90062901 +ecao 0107180 ECAO ECAO:0107180 +ecao 0107180 ecao ecao:0107180 +eccode 1.1.1.1 EC EC:1.1.1.1 +eccode 1.1.1.1 EC-CODE EC-CODE:1.1.1.1 +eccode 1.1.1.1 ECCODE ECCODE:1.1.1.1 +eccode 1.1.1.1 EC_CODE EC_CODE:1.1.1.1 +eccode 1.1.1.1 ec-code ec-code:1.1.1.1 +eccode 1.1.1.1 eccode eccode:1.1.1.1 +eccode 1.1.1.1 intenz intenz:1.1.1.1 +eccode 2 EC EC:2 +eccode 2 EC-CODE EC-CODE:2 +eccode 2 ECCODE ECCODE:2 +eccode 2 EC_CODE EC_CODE:2 +eccode 2 ec-code ec-code:2 +eccode 2 eccode eccode:2 +eccode 2 intenz intenz:2 +eccode 2.3 EC EC:2.3 +eccode 2.3 EC-CODE EC-CODE:2.3 +eccode 2.3 ECCODE ECCODE:2.3 +eccode 2.3 EC_CODE EC_CODE:2.3 +eccode 2.3 ec-code ec-code:2.3 +eccode 2.3 eccode eccode:2.3 +eccode 2.3 intenz intenz:2.3 +eccode 2.3.1 EC EC:2.3.1 +eccode 2.3.1 EC-CODE EC-CODE:2.3.1 +eccode 2.3.1 ECCODE ECCODE:2.3.1 +eccode 2.3.1 EC_CODE EC_CODE:2.3.1 +eccode 2.3.1 ec-code ec-code:2.3.1 +eccode 2.3.1 eccode eccode:2.3.1 +eccode 2.3.1 intenz intenz:2.3.1 +eccode 2.3.1.n12 EC EC:2.3.1.n12 +eccode 2.3.1.n12 EC-CODE EC-CODE:2.3.1.n12 +eccode 2.3.1.n12 ECCODE ECCODE:2.3.1.n12 +eccode 2.3.1.n12 EC_CODE EC_CODE:2.3.1.n12 +eccode 2.3.1.n12 ec-code ec-code:2.3.1.n12 +eccode 2.3.1.n12 eccode eccode:2.3.1.n12 +eccode 2.3.1.n12 intenz intenz:2.3.1.n12 +eccode 3.1.26.n2 EC EC:3.1.26.n2 +eccode 3.1.26.n2 EC-CODE EC-CODE:3.1.26.n2 +eccode 3.1.26.n2 ECCODE ECCODE:3.1.26.n2 +eccode 3.1.26.n2 EC_CODE EC_CODE:3.1.26.n2 +eccode 3.1.26.n2 ec-code ec-code:3.1.26.n2 +eccode 3.1.26.n2 eccode eccode:3.1.26.n2 +eccode 3.1.26.n2 intenz intenz:3.1.26.n2 +ecg 000000159 ECGOntology ECGOntology:000000159 +ecg 000000159 ecg ecg:000000159 +echobase EB0170 echobase echobase:EB0170 +ecmdb ECMDB00005 ECMDB ECMDB:ECMDB00005 +ecmdb ECMDB00005 ecmdb ecmdb:ECMDB00005 +eco 0007807 ECO ECO:0007807 +eco 0007807 ECO ECO: ECO:ECO:0007807 +eco 0007807 eco eco:0007807 +eco 0007807 eco ECO: eco:ECO:0007807 +ecocore 00000001 ECOCORE ECOCORE:00000001 +ecocore 00000001 ecocore ecocore:00000001 +ecocyc AICARTRANSIMPCYCLO-CPLX ecocyc ecocyc:AICARTRANSIMPCYCLO-CPLX +ecogene EG10173 ecogene ecogene:EG10173 +ecolexicon canal ecolexicon ecolexicon:canal +ecoliwiki aaeA ecoliwiki ecoliwiki:aaeA +ecto 0000001 ECTO ECTO:0000001 +ecto 0000001 ecto ecto:0000001 +ecyano.entity 23 ecyano.entity ecyano.entity:23 +ecyano.experiment 18 ecyano.experiment ecyano.experiment:18 +ecyano.model 26 ecyano.model ecyano.model:26 +ecyano.rule 56 ecyano.rule ecyano.rule:56 +edam data_1664 edam edam:data_1664 +edam.data 1664 edam.data edam.data:1664 +edam.format 1915 edam.format edam.format:1915 +edam.operation 0004 edam.operation edam.operation:0004 +edam.topic 0003 edam.topic edam.topic:0003 +edda health_care_quality_assessment edda edda:health_care_quality_assessment +efo 0005147 EFO EFO:0005147 +efo 0005147 efo efo:0005147 +ega.dataset EGAD00000000001 ega.dataset ega.dataset:EGAD00000000001 +ega.study EGAS00000000001 ega.study ega.study:EGAS00000000001 +eggnog veNOG12876 eggnog eggnog:veNOG12876 +ehda 1 EHDA EHDA:1 +ehda 1 ehda ehda:1 +ehdaa 1 EHDAA EHDAA:1 +ehdaa 1 ehdaa ehdaa:1 +ehdaa2 0000000 EHDAA2 EHDAA2:0000000 +ehdaa2 0000000 EHDAA2_RETIRED EHDAA2_RETIRED:0000000 +ehdaa2 0000000 HDAA2 HDAA2:0000000 +ehdaa2 0000000 RETIRED_EHDAA2 RETIRED_EHDAA2:0000000 +ehdaa2 0000000 ehdaa2 ehdaa2:0000000 +elm CLV_MEL_PAP_1 elm elm:CLV_MEL_PAP_1 +emap 1 EMAP EMAP:1 +emap 1 emap emap:1 +emapa 26753 EMAPA EMAPA:26753 +emapa 26753 EMAPA_RETIRED EMAPA_RETIRED:26753 +emapa 26753 emapa emapa:26753 +emdb EMD-1001 emdb emdb:EMD-1001 +emolecules 491187 emolecules emolecules:491187 +empiar 10595 empiar empiar:10595 +ena.embl BN000065 ena ena:BN000065 +ena.embl BN000065 ena.embl ena.embl:BN000065 +encode ENCSR163RYW encode encode:ENCSR163RYW +enm 8000221 enm enm:8000221 +ensembl ENSG00000049246.14 Ensembl Ensembl:ENSG00000049246.14 +ensembl ENSG00000049246.14 ensembl ensembl:ENSG00000049246.14 +ensembl ENSG00000109819.9 Ensembl Ensembl:ENSG00000109819.9 +ensembl ENSG00000109819.9 ensembl ensembl:ENSG00000109819.9 +ensembl ENSG00000132326.12 Ensembl Ensembl:ENSG00000132326.12 +ensembl ENSG00000132326.12 ensembl ensembl:ENSG00000132326.12 +ensembl ENSG00000139618 Ensembl Ensembl:ENSG00000139618 +ensembl ENSG00000139618 ensembl ensembl:ENSG00000139618 +ensembl ENSG00000179094.16 Ensembl Ensembl:ENSG00000179094.16 +ensembl ENSG00000179094.16 ensembl ensembl:ENSG00000179094.16 +ensembl ENST00000264867.7 Ensembl Ensembl:ENST00000264867.7 +ensembl ENST00000264867.7 ensembl ensembl:ENST00000264867.7 +ensembl.bacteria MU9_3181 ensembl.bacteria ensembl.bacteria:MU9_3181 +ensembl.fungi CADAFLAT00006211 ensembl.fungi ensembl.fungi:CADAFLAT00006211 +ensembl.metazoa FBtr0084214 ensembl.metazoa ensembl.metazoa:FBtr0084214 +ensembl.plant AT1G73965 ensembl.plant ensembl.plant:AT1G73965 +ensembl.protist PF3D7_1328700 ensembl.protist ensembl.protist:PF3D7_1328700 +ensemblglossary 0000198 ensemblglossary ensemblglossary:0000198 +envipath 32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/b545cabc-8c9e-4b20-8848-efa015b481ea envipath envipath:32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/b545cabc-8c9e-4b20-8848-efa015b481ea +envo 09200010 ENVO ENVO:09200010 +envo 09200010 ENVO ENVO: ENVO:ENVO:09200010 +envo 09200010 envo envo:09200010 +envo 09200010 envo ENVO: envo:ENVO:09200010 +enzo ALX-210-175 enzo enzo:ALX-210-175 +eo 0007404 EO EO:0007404 +eo 0007404 EO EO: EO:EO:0007404 +eo 0007404 eo eo:0007404 +eo 0007404 eo EO: eo:EO:0007404 +eol 0001927 eol eol:0001927 +eolife 1044544 eolife eolife:1044544 +epd TA_H3 epd epd:TA_H3 +epio 0000011 EPIO EPIO:0000011 +epio 0000011 epio epio:0000011 +epso 0000400 epso epso:0000400 +erm ERM00000044 erm erm:ERM00000044 +ero 0001655 ERO ERO:0001655 +ero 0001655 ero ero:0001655 +erv THE1B erv erv:THE1B +estdab 046 estdab estdab:046 +eu89h jrc-eurl-ecvam-chemagora eu89h eu89h:jrc-eurl-ecvam-chemagora +euclinicaltrials 2008-005144-16 euclinicaltrials euclinicaltrials:2008-005144-16 +eupath 0010316 EUPATH EUPATH:0010316 +eupath 0010316 eupath eupath:0010316 +exac.gene ENSG00000169174 exac.gene exac.gene:ENSG00000169174 +exac.transcript ENST00000407236 exac.transcript exac.transcript:ENST00000407236 +exac.variant 22-46615880-T-C exac.variant exac.variant:22-46615880-T-C +exo 0000078 ExO ExO:0000078 +exo 0000078 exo exo:0000078 +fabio d4e2515 fabio fabio:d4e2515 +facebase FB00000917 facebase facebase:FB00000917 +fairsharing bsg-000052 fairsharing fairsharing:bsg-000052 +faldo ForwardStrandPosition faldo faldo:ForwardStrandPosition +fao 0000001 FAO FAO:0000001 +fao 0000001 fao fao:0000001 +fbbi 00000268 FBbi FBbi:00000268 +fbbi 00000268 fbbi fbbi:00000268 +fbbt 00007294 FBbt FBbt:00007294 +fbbt 00007294 FBbt_root FBbt_root:00007294 +fbbt 00007294 fbbt fbbt:00007294 +fbcv 0000586 FBcv FBcv:0000586 +fbcv 0000586 fbcv fbcv:0000586 +fbdv 00000000 FBdv FBdv:00000000 +fbdv 00000000 fbdv fbdv:00000000 +fbol 2224 fbol fbol:2224 +fbql 00005254 fbql fbql:00005254 +fbrf 0187632 fbrf fbrf:0187632 +fbsp 00000000 FBSP FBSP:00000000 +fbsp 00000000 fbsp fbsp:00000000 +fbtc 0000190 fbtc fbtc:0000190 +fcb FCB005 fcb fcb:FCB005 +fcsfree 240-17-488-3-4-12 fcsfree fcsfree:240-17-488-3-4-12 +fideo 00000021 FIDEO FIDEO:00000021 +fideo 00000021 fideo fideo:00000021 +fishbase.species 6472 fishbase fishbase:6472 +fishbase.species 6472 fishbase.species fishbase.species:6472 +fivestars hasOpenAccessRating FiveStars FiveStars:hasOpenAccessRating +fivestars hasOpenAccessRating fivestars fivestars:hasOpenAccessRating +fix 0000390 FIX FIX:0000390 +fix 0000390 fix fix:0000390 +flopo 0005250 FLOPO FLOPO:0005250 +flopo 0005250 flopo flopo:0005250 +flowrepository FR-FCM-ZYGW flowrepository flowrepository:FR-FCM-ZYGW +flu 0000404 FLU FLU:0000404 +flu 0000404 flu flu:0000404 +flybase FBgn0011293 FB FB:FBgn0011293 +flybase FBgn0011293 FlyBase FlyBase:FBgn0011293 +flybase FBgn0011293 flybase flybase:FBgn0011293 +flybrain.ndb 10531 flybrain.ndb flybrain.ndb:10531 +fma 63189 FMA FMA:63189 +fma 63189 FMA FMA: FMA:FMA:63189 +fma 63189 FMAID FMAID:63189 +fma 63189 FMAID FMA: FMAID:FMA:63189 +fma 63189 FMA_RETIRED FMA_RETIRED:63189 +fma 63189 FMA_RETIRED FMA: FMA_RETIRED:FMA:63189 +fma 63189 fma fma:63189 +fma 63189 fma FMA: fma:FMA:63189 +foaf familyName foaf foaf:familyName +fobi 030719 FOBI FOBI:030719 +fobi 030719 fobi fobi:030719 +foodb.compound FDB002100 foodb foodb:FDB002100 +foodb.compound FDB002100 foodb.compound foodb.compound:FDB002100 +foodb.food FOOD00020 foodb.food foodb.food:FOOD00020 +foodon 03307879 FOODON FOODON:03307879 +foodon 03307879 FOODON FOODON: FOODON:FOODON:03307879 +foodon 03307879 foodon foodon:03307879 +foodon 03307879 foodon FOODON: foodon:FOODON:03307879 +fossilworks.journal 61467 fossilworks.journal fossilworks.journal:61467 +fossilworks.taxon 40565 fossilworks.taxon fossilworks.taxon:40565 +fovt 0000009 FOVT FOVT:0000009 +fovt 0000009 fovt fovt:0000009 +fplx GPIb_IX_V famplex famplex:GPIb_IX_V +fplx GPIb_IX_V fplx fplx:GPIb_IX_V +fr ReviewVersion FR FR:ReviewVersion +fr ReviewVersion fr fr:ReviewVersion +frapo Grant FRAPO FRAPO:Grant +frapo Grant frapo frapo:Grant +frbr Expression FRBR FRBR:Expression +frbr Expression frbr frbr:Expression +fsnp rs17852708 fsnp fsnp:rs17852708 +ftt 273 ftt ftt:273 +funcbase.fly 10194 funcbase.fly funcbase.fly:10194 +funcbase.human 119514 funcbase.human funcbase.human:119514 +funcbase.mouse 1351341 funcbase.mouse funcbase.mouse:1351341 +funcbase.yeast 2701 funcbase.yeast funcbase.yeast:2701 +funderregistry 100000001 funderregistry funderregistry:100000001 +fungidb CNBG_0001 fungidb fungidb:CNBG_0001 +fungorum 154022 fungorum fungorum:154022 +fyeco 0000003 FYECO FYECO:0000003 +fyeco 0000003 fyeco fyeco:0000003 +fyler 4447 fyler fyler:4447 +fypo 0001707 FYPO FYPO:0001707 +fypo 0001707 fypo fypo:0001707 +ga4ghdos dg.4503/01b048d0-e128-4cb0-94e9-b2d2cab7563d ga4ghdos ga4ghdos:dg.4503/01b048d0-e128-4cb0-94e9-b2d2cab7563d +gabi 2679240 gabi gabi:2679240 +galen MagnitudeValueType galen galen:MagnitudeValueType +gard 6038 GARD GARD:6038 +gard 6038 gard gard:6038 +gateway fd8d0743-344a-4758-bb97-f8ad84a37357 gateway gateway:fd8d0743-344a-4758-bb97-f8ad84a37357 +gaz 00620027 GAZ GAZ:00620027 +gaz 00620027 gaz gaz:00620027 +gbif 4238 gbif gbif:4238 +gc 11 gc gc:11 +gc 11 gc_id gc_id:11 +gcst GCST000035 gcst gcst:GCST000035 +gdc ae8c77fe-e6c8-44d5-8265-4a38c637bbef gdc gdc:ae8c77fe-e6c8-44d5-8265-4a38c637bbef +gdsc 1242 gdsc gdsc:1242 +gecko 0000044 GECKO GECKO:0000044 +gecko 0000044 gecko gecko:0000044 +gemet 627 gemet gemet:627 +genatlas HBB genatlas genatlas:HBB +genbank U49845 genbank genbank:U49845 +genecards ABL1 genecards genecards:ABL1 +genedb LinJ.20.0070 genedb genedb:LinJ.20.0070 +genefarm 4892 genefarm genefarm:4892 +genepio 0001885 GENEPIO GENEPIO:0001885 +genepio 0001885 genepio genepio:0001885 +genetree ENSGT00550000074763 genetree genetree:ENSGT00550000074763 +genewiki 1017 genewiki genewiki:1017 +geno 0000632 GENO GENO:0000632 +geno 0000632 geno geno:0000632 +genpept CAA71118.1 genpept genpept:CAA71118.1 +genprop GenProp0699 genprop genprop:GenProp0699 +geo GDS1234 geo geo:GDS1234 +geogeo 000000021 GEOGEO GEOGEO:000000021 +geogeo 000000021 GEOGEO GEO_ GEOGEO:GEO_000000021 +geogeo 000000021 geogeo geogeo:000000021 +geogeo 000000021 geogeo GEO_ geogeo:GEO_000000021 +geonames 3532759 Geomames Geomames:3532759 +geonames 3532759 Geonamaes Geonamaes:3532759 +geonames 3532759 geonames geonames:3532759 +geonames.feature ADM1 geonames.feature geonames.feature:ADM1 +ghr saddan ghr ghr:saddan +giardiadb GL50803_102438 giardiadb giardiadb:GL50803_102438 +github biopragmatics github github:biopragmatics +github biopragmatics/bioregistry github github:biopragmatics/bioregistry +github cthoyt github github:cthoyt +github.issue biopragmatics/bioregistry/424 github.issue github.issue:biopragmatics/bioregistry/424 +github.pull biopragmatics/bioregistry/416 github.pull github.pull:biopragmatics/bioregistry/416 +gitlab morpheus.lab/morpheus gitlab gitlab:morpheus.lab/morpheus +glida.gpcr ACM1_HUMAN glida.gpcr glida.gpcr:ACM1_HUMAN +glida.ligand L000001 glida.ligand glida.ligand:L000001 +glycoepitope EP0311 glycoepitope glycoepitope:EP0311 +glycomedb G77500AY glycomedb glycomedb:G77500AY +glyconavi GN_G03681DA glyconavi glyconavi:GN_G03681DA +glyconavi GN_GlyTouCan_G03681DA glyconavi glyconavi:GN_GlyTouCan_G03681DA +glycopost GPST000024 glycopost glycopost:GPST000024 +glygen G24361QY glygen glygen:G24361QY +glytoucan G00054MO glytoucan glytoucan:G00054MO +gmd 68513255-fc44-4041-bc4b-4fd2fae7541d gmd gmd:68513255-fc44-4041-bc4b-4fd2fae7541d +gmd.analyte 4f0fa9b6-514f-4ff4-98cc-0009bc08eb80 gmd.analyte gmd.analyte:4f0fa9b6-514f-4ff4-98cc-0009bc08eb80 +gmd.gcms 53d583d8-40c6-40e1-9296-23f821cd77a5 gmd.gcms gmd.gcms:53d583d8-40c6-40e1-9296-23f821cd77a5 +gmd.profile 10b38aaf-b977-4950-85b8-f4775f66658d gmd.profile gmd.profile:10b38aaf-b977-4950-85b8-f4775f66658d +gmd.ref 8cf84adb-b4db-4807-ac98-0004247c35df gmd.ref gmd.ref:8cf84adb-b4db-4807-ac98-0004247c35df +gmelin 1466 gmelin gmelin:1466 +gno 10004892 GNO GNO:10004892 +gno 10004892 gno gno:10004892 +gnpis AY109603 gnpis gnpis:AY109603 +go 0032571 GO GO:0032571 +go 0032571 GO GO: GO:GO:0032571 +go 0032571 go go:0032571 +go 0032571 go GO: go:GO:0032571 +go 0032571 gobp gobp:0032571 +go 0032571 gobp GO: gobp:GO:0032571 +go 0032571 gobpid gobpid:0032571 +go 0032571 gobpid GO: gobpid:GO:0032571 +go 0032571 gocc gocc:0032571 +go 0032571 gocc GO: gocc:GO:0032571 +go 0032571 goccid goccid:0032571 +go 0032571 goccid GO: goccid:GO:0032571 +go 0032571 gomf gomf:0032571 +go 0032571 gomf GO: gomf:GO:0032571 +go 0032571 gomfid gomfid:0032571 +go 0032571 gomfid GO: gomfid:GO:0032571 +go.model 5fce9b7300001250 go.model go.model:5fce9b7300001250 +go.ref 0000041 go.ref go.ref:0000041 +go.ref 0000041 go.ref GO_REF: go.ref:GO_REF:0000041 +go.resource CHEBI go.resource go.resource:CHEBI +goa P12345 goa goa:P12345 +goche 25512 GOCHE GOCHE:25512 +goche 25512 go.chebi go.chebi:25512 +goche 25512 go.chemical go.chemical:25512 +goche 25512 go.chemicals go.chemicals:25512 +goche 25512 goche goche:25512 +goeco IPI goeco goeco:IPI +gold Gs0000008 gold gold:Gs0000008 +gold.genome Gi07796 gold.genome gold.genome:Gi07796 +gold.meta Gm00047 gold.meta gold.meta:Gm00047 +google.patent US4145692 google.patent google.patent:US4145692 +google.patent US4145692 patent patent:US4145692 +google.patent USRE38117E1 google.patent google.patent:USRE38117E1 +google.patent USRE38117E1 patent patent:USRE38117E1 +google.scholar PjrpzUIAAAAJ google.scholar google.scholar:PjrpzUIAAAAJ +gorel 0002005 gorel gorel:0002005 +gpcrdb RL3R1_HUMAN gpcrdb gpcrdb:RL3R1_HUMAN +gpmdb GPM32310002988 gpmdb gpmdb:GPM32310002988 +graingenes.reference WGS-95-1333 graingenes.reference graingenes.reference:WGS-95-1333 +graingenes.symbol 1-FEH+w3 graingenes.symbol graingenes.symbol:1-FEH+w3 +gramene.gene GR:0080039 GR_GENE GR_GENE:GR:0080039 +gramene.gene GR:0080039 gramene.gene gramene.gene:GR:0080039 +gramene.growthstage 0007133 gramene.growthstage gramene.growthstage:0007133 +gramene.growthstage 0007133 gramene.growthstage GRO: gramene.growthstage:GRO:0007133 +gramene.protein 78073 GR_PROTEIN GR_PROTEIN:78073 +gramene.protein 78073 gramene.protein gramene.protein:78073 +gramene.qtl CQG5 GR_QTL GR_QTL:CQG5 +gramene.qtl CQG5 gramene.qtl gramene.qtl:CQG5 +gramene.reference 6200 gramene.ref gramene.ref:6200 +gramene.reference 6200 gramene.reference gramene.reference:6200 +gramene.taxonomy GR_tax:013681 gramene.taxonomy gramene.taxonomy:GR_tax:013681 +grassbase imp10873 grassbase grassbase:imp10873 +greengenes 100000 greengenes greengenes:100000 +grid grid.225360.0 grid grid:grid.225360.0 +grin.taxonomy 19333 grin.taxonomy grin.taxonomy:19333 +grsdb 10142 grsdb grsdb:10142 +gsfa 174 FAO/WHO_standards FAO/WHO_standards:174 +gsfa 174 gsfa gsfa:174 +gsso 002368 GSSO GSSO:002368 +gsso 002368 GSSO GSSO: GSSO:GSSO:002368 +gsso 002368 gsso gsso:002368 +gsso 002368 gsso GSSO: gsso:GSSO:002368 +gtex BRIP1 gtex gtex:BRIP1 +gtr AN0097748 gtr gtr:AN0097748 +gtr AN0097748 medgen.gtr medgen.gtr:AN0097748 +gudmap Q-2958 gudmap gudmap:Q-2958 +gwascentral.marker HGVM15354 gwascentral.marker gwascentral.marker:HGVM15354 +gwascentral.phenotype HGVPM623 gwascentral.phenotype gwascentral.phenotype:HGVPM623 +gwascentral.study HGVST1828 gwascentral.study gwascentral.study:HGVST1828 +gxa.expt E-MTAB-2037 gxa.expt gxa.expt:E-MTAB-2037 +gxa.gene AT4G01080 gxa.gene gxa.gene:AT4G01080 +hamap MF_01400 hamap hamap:MF_01400 +hancestro 0290 HANCESTRO HANCESTRO:0290 +hancestro 0290 hancestro hancestro:0290 +hao 0000187 HAO HAO:0000187 +hao 0000187 hao hao:0000187 +hba 265504410 HBA HBA:265504410 +hba 265504410 hba hba:265504410 +hba 4005 HBA HBA:4005 +hba 4005 hba hba:4005 +hcpcs G8944 hcpcs hcpcs:G8944 +hcvdb M58335 hcvdb hcvdb:M58335 +hdr 63 hdr hdr:63 +hgmd CALM1 hgmd hgmd:CALM1 +hgnc 16793 hgnc hgnc:16793 +hgnc.genefamily 2029 GFAM GFAM:2029 +hgnc.genefamily 2029 HGNC_GROUP HGNC_GROUP:2029 +hgnc.genefamily 2029 hgnc.family hgnc.family:2029 +hgnc.genefamily 2029 hgnc.genefamily hgnc.genefamily:2029 +hgnc.genegroup 141 hgnc.genegroup hgnc.genegroup:141 +hgnc.symbol DAPK1 hgnc.symbol hgnc.symbol:DAPK1 +hinv.locus HIX0004394 hinv.locus hinv.locus:HIX0004394 +hinv.protein HIP000030660 hinv.protein hinv.protein:HIP000030660 +hinv.transcript HIT000195363 hinv.transcript hinv.transcript:HIT000195363 +hipsci HPSI0114i-bezi_1 hipsci hipsci:HPSI0114i-bezi_1 +hivreagentprogram ARP-1513 hivreagentprogram hivreagentprogram:ARP-1513 +hmdb HMDB00001 HMDB HMDB:HMDB00001 +hmdb HMDB00001 hmdb hmdb:HMDB00001 +hms.lincs.compound 10001-101 HMS-LINCS HMS-LINCS:10001-101 +hms.lincs.compound 10001-101 hms.lincs.compound hms.lincs.compound:10001-101 +hms.lincs.compound 10001-101 hmsl_id hmsl_id:10001-101 +hog 0000255 hog hog:0000255 +hogenom HBG284870 hogenom hogenom:HBG284870 +hom 0000049 HOM HOM:0000049 +hom 0000049 hom hom:0000049 +homd.seq SEQF1003 homd.seq homd.seq:SEQF1003 +homd.taxon 811 homd.taxon homd.taxon:811 +homologene 1000 homologene homologene:1000 +horizon_discovery HD+118-001 horizon_discovery horizon_discovery:HD+118-001 +hovergen HBG004341 hovergen hovergen:HBG004341 +hp 0011140 HP HP:0011140 +hp 0011140 HP HP: HP:HP:0011140 +hp 0011140 hp hp:0011140 +hp 0011140 hp HP: hp:HP:0011140 +hp 0011140 hpo hpo:0011140 +hp 0011140 hpo HP: hpo:HP:0011140 +hpa ENSG00000026508 hpa hpa:ENSG00000026508 +hpath 2000191 MC MC:2000191 +hpath 2000191 hpath hpath:2000191 +hpm.peptide 9606117 hpm.peptide hpm.peptide:9606117 +hpm.protein 1968 hpm.protein hpm.protein:1968 +hprd 00001 hprd hprd:00001 +hpscreg BCRTi001-A hpscreg hpscreg:BCRTi001-A +hsapdv 0000194 HsapDv HsapDv:0000194 +hsapdv 0000194 hsapdv hsapdv:0000194 +hsdb 5621 hsdb hsdb:5621 +hso 0000062 HSO HSO:0000062 +hso 0000062 hso hso:0000062 +hssp 102l hssp hssp:102l +htn 00000014 HTN HTN:00000014 +htn 00000014 htn htn:00000014 +huge KIAA0001 huge huge:KIAA0001 +iao 0000030 IAO IAO:0000030 +iao 0000030 iao iao:0000030 +icd10 C34 ICD ICD:C34 +icd10 C34 ICD-10 ICD-10:C34 +icd10 C34 ICD10 ICD10:C34 +icd10 C34 icd10 icd10:C34 +icd10cm F4521 ICD10CM ICD10CM:F4521 +icd10cm F4521 icd10cm icd10cm:F4521 +icd10pcs 01N50ZZ icd10pcs icd10pcs:01N50ZZ +icd11 RA01.0 ICD-11 ICD-11:RA01.0 +icd11 RA01.0 icd11 icd11:RA01.0 +icd9 277.9 ICD9 ICD9:277.9 +icd9 277.9 ICD9_2005 ICD9_2005:277.9 +icd9 277.9 MTHICD9_2006 MTHICD9_2006:277.9 +icd9 277.9 icd9 icd9:277.9 +icd9cm 784 IC9CM IC9CM:784 +icd9cm 784 ICD9CM ICD9CM:784 +icd9cm 784 ICD9CM_2005 ICD9CM_2005:784 +icd9cm 784 ICD9CM_2006 ICD9CM_2006:784 +icd9cm 784 ICDCM_2005 ICDCM_2005:784 +icd9cm 784 icd9cm icd9cm:784 +icdc 000009 icdc icdc:000009 +icdo 9861/3 ICD-O ICD-O:9861/3 +icdo 9861/3 ICDO ICDO:9861/3 +icdo 9861/3 icdo icdo:9861/3 +iceberg.element 100 iceberg.element iceberg.element:100 +iceberg.family 1 iceberg.family iceberg.family:1 +iceo 0000712 ICEO ICEO:0000712 +iceo 0000712 iceo iceo:0000712 +iceo 0000712_1 ICEO ICEO:0000712_1 +iceo 0000712_1 iceo iceo:0000712_1 +icepo 0000002 icepo icepo:0000002 +iclc ATL98012 iclc iclc:ATL98012 +ico 0000066 ICO ICO:0000066 +ico 0000066 ico ico:0000066 +ideal IID00001 ideal ideal:IID00001 +ido 0000504 IDO IDO:0000504 +ido 0000504 ido ido:0000504 +idocovid19 0001191 idocovid19 idocovid19:0001191 +idoden 0003463 idoden idoden:0003463 +idomal 0002350 IDOMAL IDOMAL:0002350 +idomal 0002350 idomal idomal:0002350 +idoo DataCollection idoo idoo:DataCollection +idot identifierPattern idot idot:identifierPattern +idpo 00056 idpo idpo:00056 +idr 0001 idr idr:0001 +iedb 1038233 iedb iedb:1038233 +iev 0000000 IEV IEV:0000000 +iev 0000000 iev iev:0000000 +igrhcellid ACHN igrhcellid igrhcellid:ACHN +igsn AU124 igsn igsn:AU124 +igsr NA06985 igsr igsr:NA06985 +ihw IHW09326 ihw ihw:IHW09326 +illumina.probe ILMN_129894 illumina.probe illumina.probe:ILMN_129894 +imanis CL070 imanis imanis:CL070 +imex IM-19210-3 imex imex:IM-19210-3 +img.gene 638309541 img.gene img.gene:638309541 +img.taxon 648028003 img.taxon img.taxon:648028003 +imgt.hla A*01:01:01:01 IPD-IMGT/HLA IPD-IMGT/HLA:A*01:01:01:01 +imgt.hla A*01:01:01:01 imgt.hla imgt.hla:A*01:01:01:01 +imgt.ligm M94112 imgt.ligm imgt.ligm:M94112 +imr 0000001 IMR IMR:0000001 +imr 0000001 imr imr:0000001 +inaturalist.taxon 21723 inaturalist.taxon inaturalist.taxon:21723 +inchi InChI=1S/C2H6O/c1-2-3/h3H,2H2,1H3 inchi inchi:InChI=1S/C2H6O/c1-2-3/h3H,2H2,1H3 +inchikey RYYVLZVUVIJVGH-UHFFFAOYSA-N inchikey inchikey:RYYVLZVUVIJVGH-UHFFFAOYSA-N +inn fluticasone INN_ID INN_ID:fluticasone +inn fluticasone inn inn:fluticasone +ino 0000003 INO INO:0000003 +ino 0000003 ino ino:0000003 +insdc X58356 insdc insdc:X58356 +insdc.cds AAA35559 insdc.cds insdc.cds:AAA35559 +insdc.gca GCA_000155495.1 insdc.gca insdc.gca:GCA_000155495.1 +insdc.run ERR436051 insdc.run insdc.run:ERR436051 +insdc.sra SRX000007 insdc.sra insdc.sra:SRX000007 +intact EBI-2307691 intact intact:EBI-2307691 +intact.molecule EBI-366083 intact.molecule intact.molecule:EBI-366083 +interlex 0101963 ILX ILX:0101963 +interlex 0101963 interlex interlex:0101963 +interpro IPR016380 IP IP:IPR016380 +interpro IPR016380 IPR IPR:IPR016380 +interpro IPR016380 InterPro InterPro:IPR016380 +interpro IPR016380 interpro interpro:IPR016380 +ird.segment CY077097 ird.segment ird.segment:CY077097 +irefweb 617102 irefweb irefweb:617102 +iro 0000008 iro iro:0000008 +isbn 9781584885658 ISBN-10 ISBN-10:9781584885658 +isbn 9781584885658 ISBN-13 ISBN-13:9781584885658 +isbn 9781584885658 isbn isbn:9781584885658 +isfinder ISA1083-2 isfinder isfinder:ISA1083-2 +isni 000000012281955X isni isni:000000012281955X +issn 0745-4570 issn issn:0745-4570 +itis 589462 itis itis:589462 +ito ITO_01625 ito ito:ITO_01625 +iuphar.family 78 IUPHARfam IUPHARfam:78 +iuphar.family 78 iuphar.family iuphar.family:78 +iuphar.ligand 1755 IUPHAR_LIGAND IUPHAR_LIGAND:1755 +iuphar.ligand 1755 IUPHAR_LIGAND_ID IUPHAR_LIGAND_ID:1755 +iuphar.ligand 1755 iuphar.ligand iuphar.ligand:1755 +iuphar.receptor 101 IUPHAR_GPCR IUPHAR_GPCR:101 +iuphar.receptor 101 IUPHARobj IUPHARobj:101 +iuphar.receptor 101 iuphar.receptor iuphar.receptor:101 +jax 004435 jax jax:004435 +jaxmice 005012 jaxmice jaxmice:005012 +jcggdb JCGG-STR008690 jcggdb jcggdb:JCGG-STR008690 +jcm 17254 jcm jcm:17254 +jcrb JCRB1355 jcrb jcrb:JCRB1355 +jcsd J55.713G jcsd jcsd:J55.713G +jstor 3075966 jstor jstor:3075966 +jws achcar11 jws jws:achcar11 +kaggle nasa/kepler-exoplanet-search-results kaggle kaggle:nasa/kepler-exoplanet-search-results +kclb 10020.2 kclb kclb:10020.2 +kegg hsa00190 KEGG KEGG:hsa00190 +kegg hsa00190 kegg kegg:hsa00190 +kegg.compound C12345 KEGG.COMPOUND KEGG.COMPOUND:C12345 +kegg.compound C12345 kegg.compound kegg.compound:C12345 +kegg.dgroup DG00301 KEGG_DGROUP KEGG_DGROUP:DG00301 +kegg.dgroup DG00301 KEGG_DRUG_GROUP KEGG_DRUG_GROUP:DG00301 +kegg.dgroup DG00301 kegg.dgroup kegg.dgroup:DG00301 +kegg.disease H00076 kegg.disease kegg.disease:H00076 +kegg.drug D00123 KEGG.DRUG KEGG.DRUG:D00123 +kegg.drug D00123 kegg.drug kegg.drug:D00123 +kegg.environ ev:E00032 KEGG.EDRUG KEGG.EDRUG:ev:E00032 +kegg.environ ev:E00032 kegg.environ kegg.environ:ev:E00032 +kegg.genes bsu:BSU01340 kegg.genes kegg.genes:bsu:BSU01340 +kegg.genome T06648 kegg.genome kegg.genome:T06648 +kegg.genome T06648 kegg_genome kegg_genome:T06648 +kegg.genome T06648 kegg_genomes kegg_genomes:T06648 +kegg.glycan G00123 kegg.glycan kegg.glycan:G00123 +kegg.metagenome T30002 kegg.metagenome kegg.metagenome:T30002 +kegg.module M00002 kegg.module kegg.module:M00002 +kegg.orthology K00001 kegg.orthology kegg.orthology:K00001 +kegg.pathway rsk00410 KEGG-path KEGG-path:rsk00410 +kegg.pathway rsk00410 KEGG_PATHWAY KEGG_PATHWAY:rsk00410 +kegg.pathway rsk00410 kegg.pathway kegg.pathway:rsk00410 +kegg.rclass RC00001 KEGG_RCLASS KEGG_RCLASS:RC00001 +kegg.rclass RC00001 KEGG_REACTION_CLASS KEGG_REACTION_CLASS:RC00001 +kegg.rclass RC00001 kegg.rclass kegg.rclass:RC00001 +kegg.reaction R00100 KEGG_REACTION KEGG_REACTION:R00100 +kegg.reaction R00100 kegg.reaction kegg.reaction:R00100 +kerafast EJH014 kerafast kerafast:EJH014 +knapsack C00000001 knapsack knapsack:C00000001 +kupo 0001009 kupo kupo:0001009 +kyinno KC-0979 kyinno kyinno:KC-0979 +labo 0000124 LABO LABO:0000124 +labo 0000124 labo labo:0000124 +lbo 0000487 lbo lbo:0000487 +lei HWUPKR0MPOU8FGXBT394 lei lei:HWUPKR0MPOU8FGXBT394 +lepao 0000005 LEPAO LEPAO:0000005 +lepao 0000005 lepao lepao:0000005 +lgai.cede LGCEDe-S-000002244 lgai.cede lgai.cede:LGCEDe-S-000002244 +lgic 5HT3Arano lgic lgic:5HT3Arano +licebase EMLSAT00000003403 licebase licebase:EMLSAT00000003403 +ligandbook 785 ligandbook ligandbook:785 +ligandbox D00001 ligandbox ligandbox:D00001 +ligandexpo ABC ligandexpo ligandexpo:ABC +ligea CCLE_867 ligea ligea:CCLE_867 +limore Li7 limore limore:Li7 +lincs.cell LCL-2085 LINCS_LDP LINCS_LDP:LCL-2085 +lincs.cell LCL-2085 lincs.cell lincs.cell:LCL-2085 +lincs.data LDS-1110 lincs.data lincs.data:LDS-1110 +lincs.protein 200282 lincs.protein lincs.protein:200282 +lincs.smallmolecule LSM-6306 lincs lincs:LSM-6306 +lincs.smallmolecule LSM-6306 lincs.smallmolecule lincs.smallmolecule:LSM-6306 +linguist Python linguist linguist:Python +lipidbank BBA0001 lipidbank lipidbank:BBA0001 +lipidmaps LMPR0102010012 LIPID_MAPS_class LIPID_MAPS_class:LMPR0102010012 +lipidmaps LMPR0102010012 LIPID_MAPS_instance LIPID_MAPS_instance:LMPR0102010012 +lipidmaps LMPR0102010012 lipidmaps lipidmaps:LMPR0102010012 +lncipedia SNHG3 lncipedia lncipedia:SNHG3 +loinc LL379-9 LNC LNC:LL379-9 +loinc LL379-9 loinc loinc:LL379-9 +lonza 968 lonza lonza:968 +lotus LTS0004651 lotus lotus:LTS0004651 +lpt 0000001 lpt lpt:0000001 +lrg LRG_1 lrg lrg:LRG_1 +lspci 1 lspci lspci:1 +lter 182 lter lter:182 +ma 0002502 MA MA:0002502 +ma 0002502 MA MA: MA:MA:0002502 +ma 0002502 ma ma:0002502 +ma 0002502 ma MA: ma:MA:0002502 +macie M0001 macie macie:M0001 +maizegdb.locus 25011 MaizeGDB MaizeGDB:25011 +maizegdb.locus 25011 maizegdb.locus maizegdb.locus:25011 +mamo 0000026 MAMO MAMO:0000026 +mamo 0000026 MAMO MAMO_ MAMO:MAMO_0000026 +mamo 0000026 mamo mamo:0000026 +mamo 0000026 mamo MAMO_ mamo:MAMO_0000026 +massbank PB000166 massbank massbank:PB000166 +massive MSV000082131 massive massive:MSV000082131 +mat 0000000 MAT MAT:0000000 +mat 0000000 mat mat:0000000 +matrixdb MULT_4_VAR1_bovine matrixdb matrixdb:MULT_4_VAR1_bovine +matrixdb.association P00747__P07355 matrixdb.association matrixdb.association:P00747__P07355 +maxo 0000008 MAXO MAXO:0000008 +maxo 0000008 maxo maxo:0000008 +mba 688 MBA MBA:688 +mba 688 mba mba:688 +mco 0000858 MCO MCO:0000858 +mco 0000858 mco mco:0000858 +mdm 4776 mdm mdm:4776 +meddra 10015919 MEDRA MEDRA:10015919 +meddra 10015919 MeDRA MeDRA:10015919 +meddra 10015919 MedDRA MedDRA:10015919 +meddra 10015919 meddra meddra:10015919 +medgen 760050 medgen medgen:760050 +medlineplus 002804 medlineplus medlineplus:002804 +merops.clan IA merops.clan merops.clan:IA +merops.entry I31.952 merops.entry merops.entry:I31.952 +merops.entry I31.952 merops.inhibitor merops.inhibitor:I31.952 +merops.entry S01.001 merops.entry merops.entry:S01.001 +merops.entry S01.001 merops.inhibitor merops.inhibitor:S01.001 +merops.family S1 merops.family merops.family:S1 +mesh C063233 MESH MESH:C063233 +mesh C063233 MESHA MESHA:C063233 +mesh C063233 MESHC MESHC:C063233 +mesh C063233 MESHCS MESHCS:C063233 +mesh C063233 MESHD MESHD:C063233 +mesh C063233 MESHPP MESHPP:C063233 +mesh C063233 MESH_DESCRIPTOR_UI MESH_DESCRIPTOR_UI:C063233 +mesh C063233 MESH_SUPPLEMENTAL_RECORD_UI MESH_SUPPLEMENTAL_RECORD_UI:C063233 +mesh C063233 MSH MSH:C063233 +mesh C063233 mesh mesh:C063233 +mesh D000001 MESH MESH:D000001 +mesh D000001 MESHA MESHA:D000001 +mesh D000001 MESHC MESHC:D000001 +mesh D000001 MESHCS MESHCS:D000001 +mesh D000001 MESHD MESHD:D000001 +mesh D000001 MESHPP MESHPP:D000001 +mesh D000001 MESH_DESCRIPTOR_UI MESH_DESCRIPTOR_UI:D000001 +mesh D000001 MESH_SUPPLEMENTAL_RECORD_UI MESH_SUPPLEMENTAL_RECORD_UI:D000001 +mesh D000001 MSH MSH:D000001 +mesh D000001 mesh mesh:D000001 +mesh.2012 17186 mesh.2012 mesh.2012:17186 +mesh.2013 17165 mesh.2013 mesh.2013:17165 +metabolights MTBLS1 metabolights metabolights:MTBLS1 +metacyc.compound CPD-10330 MetaCyc MetaCyc:CPD-10330 +metacyc.compound CPD-10330 metacyc.compound metacyc.compound:CPD-10330 +metacyc.reaction RXN-14904 metacyc.reaction metacyc.reaction:RXN-14904 +metanetx.chemical MNXM1723 metanetx.chemical metanetx.chemical:MNXM1723 +metanetx.compartment MNXC15 metanetx.compartment metanetx.compartment:MNXC15 +metanetx.reaction MNXR101574 metanetx.reaction metanetx.reaction:MNXR101574 +metlin 1455 metlin metlin:1455 +mex 36 mex mex:36 +mf 0000091 MF MF:0000091 +mf 0000091 mf mf:0000091 +mfmo 0000208 MFMO MFMO:0000208 +mfmo 0000208 mfmo mfmo:0000208 +mfoem 000204 MFOEM MFOEM:000204 +mfoem 000204 mfoem mfoem:000204 +mfomd 0000046 MFOMD MFOMD:0000046 +mfomd 0000046 mfomd mfomd:0000046 +mge 2 mge mge:2 +mge 2 mge mge: mge:mge:2 +mgi 6017782 MGD MGD:6017782 +mgi 6017782 MGD MGI: MGD:MGI:6017782 +mgi 6017782 MGI MGI:6017782 +mgi 6017782 MGI MGI: MGI:MGI:6017782 +mgi 6017782 mgi mgi:6017782 +mgi 6017782 mgi MGI: mgi:MGI:6017782 +mgnify.analysis MGYA00002270 mgnify.analysis mgnify.analysis:MGYA00002270 +mgnify.proj ERP004492 mgnify.proj mgnify.proj:ERP004492 +mgnify.samp SRS086444 mgnify.samp mgnify.samp:SRS086444 +mi 0058 MI MI:0058 +mi 0058 MI MI: MI:MI:0058 +mi 0058 PSI-MI PSI-MI:0058 +mi 0058 PSI-MI MI: PSI-MI:MI:0058 +mi 0058 mi mi:0058 +mi 0058 mi MI: mi:MI:0058 +miapa 0000010 MIAPA MIAPA:0000010 +miapa 0000010 miapa miapa:0000010 +micro 0002999 MICRO MICRO:0002999 +micro 0002999 micro micro:0002999 +microscope 5601141 microscope microscope:5601141 +microsporidia ECU03_0820i microsporidia microsporidia:ECU03_0820i +millipore SCC111 millipore millipore:SCC111 +mimodb 1 mimodb mimodb:1 +minid b97957 minid minid:b97957 +minid.test 3SBPLMKKVEVR minid.test minid.test:3SBPLMKKVEVR +mint MINT-10000 mint mint:MINT-10000 +mipmod HOSAPI0399 mipmod mipmod:HOSAPI0399 +mir 00100037 mir mir:00100037 +mir 00100037 mir MIR: mir:MIR:00100037 +mirbase MI0026471 mirbase mirbase:MI0026471 +mirbase.family MIPF0000002 MIRBASE_FAMILY MIRBASE_FAMILY:MIPF0000002 +mirbase.family MIPF0000002 mirbase.family mirbase.family:MIPF0000002 +mirbase.mature MIMAT0046872 MIRBASEM MIRBASEM:MIMAT0046872 +mirbase.mature MIMAT0046872 mirbase.mature mirbase.mature:MIMAT0046872 +mirex 165a mirex mirex:165a +miriam pubmed identifiers.namespace identifiers.namespace:pubmed +miriam pubmed miriam miriam:pubmed +miriam.collection MIR:00000008 miriam.collection miriam.collection:MIR:00000008 +miriam.resource MIR:00100005 miriam.resource miriam.resource:MIR:00100005 +mirnest MNEST029358 mirnest mirnest:MNEST029358 +miro 40000617 MIRO MIRO:40000617 +miro 40000617 miro miro:40000617 +mirtarbase MIRT000002 mirtarbase mirtarbase:MIRT000002 +mirte miR-1 mirte mirte:miR-1 +mlc 0.7-123 mlc mlc:0.7-123 +mmdb 50885 mmdb mmdb:50885 +mmmp.biomaps 37 mmmp.biomaps mmmp.biomaps:37 +mmo 0000574 MMO MMO:0000574 +mmo 0000574 mmo mmo:0000574 +mmp.cat MMP743597.11 mmp.cat mmp.cat:MMP743597.11 +mmp.db MMP02954345.1 mmp.db mmp.db:MMP02954345.1 +mmp.fun MMP3888430 mmp.fun mmp.fun:MMP3888430 +mmp.ref MMP3312982.2 mmp.ref mmp.ref:MMP3312982.2 +mmrrc 70 mmrrc mmrrc:70 +mmsl 3355 MMSL_CODE MMSL_CODE:3355 +mmsl 3355 mmsl mmsl:3355 +mmusdv 0000066 MmusDv MmusDv:0000066 +mmusdv 0000066 mmusdv mmusdv:0000066 +mo ArrayGroup MO MO:ArrayGroup +mo ArrayGroup mo mo:ArrayGroup +mobidb P10636 mobidb mobidb:P10636 +mod 01467 MOD MOD:01467 +mod 01467 MOD MOD: MOD:MOD:01467 +mod 01467 PSI-MOD PSI-MOD:01467 +mod 01467 PSI-MOD MOD: PSI-MOD:MOD:01467 +mod 01467 mod mod:01467 +mod 01467 mod MOD: mod:MOD:01467 +modeldb 45539 modeldb modeldb:45539 +molbase 128796-39-4 molbase molbase:128796-39-4 +molbase.sheffield 1868 molbase.sheffield molbase.sheffield:1868 +molmedb MM00040 molmedb molmedb:MM00040 +mondo 0000001 MONDO MONDO:0000001 +mondo 0000001 mondo mondo:0000001 +mop 0000079 MOP MOP:0000079 +mop 0000079 mop mop:0000079 +morpheus M0001 morpheus morpheus:M0001 +mp 0005452 MP MP:0005452 +mp 0005452 MP MP: MP:MP:0005452 +mp 0005452 mp mp:0005452 +mp 0005452 mp MP: mp:MP:0005452 +mpath 728 MPATH MPATH:728 +mpath 728 mpath mpath:728 +mpid 172 mpid mpid:172 +mpid 172 mpidb mpidb:172 +mpio 0000004 MPIO MPIO:0000004 +mpio 0000004 mpio mpio:0000004 +mro 0000634 MRO MRO:0000634 +mro 0000634 mro mro:0000634 +ms 1000560 MS MS:1000560 +ms 1000560 MS MS: MS:MS:1000560 +ms 1000560 ms ms:1000560 +ms 1000560 ms MS: ms:MS:1000560 +msigdb M1 msig msig:M1 +msigdb M1 msigdb msigdb:M1 +msio 0000111 msio msio:0000111 +multicellds MCDS_S_0000000001 multicellds multicellds:MCDS_S_0000000001 +multicellds.cell_line MCDS_L_0000000001 multicellds.cell_line multicellds.cell_line:MCDS_L_0000000001 +multicellds.collection MCDS_C_0000000001 multicellds.collection multicellds.collection:MCDS_C_0000000001 +multicellds.snapshot MCDS_S_0000000001 multicellds.snapshot multicellds.snapshot:MCDS_S_0000000001 +mw.project PR000001 mw.project mw.project:PR000001 +mw.study ST000900 mw.study mw.study:ST000900 +myco.lepra ML0224 myco.lepra myco.lepra:ML0224 +myco.marinum MMAR_2462 myco.marinum myco.marinum:MMAR_2462 +myco.smeg MSMEG_3769 myco.smeg myco.smeg:MSMEG_3769 +myco.tuber Rv1908c TubercuList TubercuList:Rv1908c +myco.tuber Rv1908c myco.tuber myco.tuber:Rv1908c +mycobank 349124 mycobank mycobank:349124 +mzspec PXD002255::ES_XP_Ubi_97H_HCD_349:scan:9617:LAEIYVNSSFYK/2 mzspec mzspec:PXD002255::ES_XP_Ubi_97H_HCD_349:scan:9617:LAEIYVNSSFYK/2 +mzspec PXD002255::ES_XP_Ubi_97H_HCD_349:scan:9617:LAEIYVNSSFYK/2 mzspec mzspec: mzspec:mzspec:PXD002255::ES_XP_Ubi_97H_HCD_349:scan:9617:LAEIYVNSSFYK/2 +n2t chebi n2t n2t:chebi +namerxn 4.2.78 namerxn namerxn:4.2.78 +napdi 28 napdi napdi:28 +napp 351 napp napp:351 +narcis oai:cwi.nl:4725 narcis narcis:oai:cwi.nl:4725 +nasc N1899 nasc nasc:N1899 +nbn urn:nbn:fi:tkk-004781 nbn nbn:urn:nbn:fi:tkk-004781 +nbo 0000564 NBO NBO:0000564 +nbo 0000564 nbo nbo:0000564 +nbrc 00001234 nbrc nbrc:00001234 +ncats.bioplanet 3 ncats.bioplanet ncats.bioplanet:3 +ncats.drug 1IJV77EI07 inxight inxight:1IJV77EI07 +ncats.drug 1IJV77EI07 inxight-drugs inxight-drugs:1IJV77EI07 +ncats.drug 1IJV77EI07 ncats.drug ncats.drug:1IJV77EI07 +ncats.drug 44259 inxight inxight:44259 +ncats.drug 44259 inxight-drugs inxight-drugs:44259 +ncats.drug 44259 ncats.drug ncats.drug:44259 +ncbi.assembly GCF_000005845.2 ncbi.assembly ncbi.assembly:GCF_000005845.2 +ncbi.genome 51 ncbi.genome ncbi.genome:51 +ncbi.resource ECOCYC ncbi.resource ncbi.resource:ECOCYC +ncbibook NBK331 ncbibook ncbibook:NBK331 +ncbigene 100010 EGID EGID:100010 +ncbigene 100010 EntrezGene EntrezGene:100010 +ncbigene 100010 NCBIGene NCBIGene:100010 +ncbigene 100010 entrez entrez:100010 +ncbigene 100010 ncbigene ncbigene:100010 +ncbiprotein CAA71118.1 NCBIProtein NCBIProtein:CAA71118.1 +ncbiprotein CAA71118.1 ncbiprotein ncbiprotein:CAA71118.1 +ncbitaxon 2170610 NCBITaxon NCBITaxon:2170610 +ncbitaxon 2170610 NCBI_Taxon_ID NCBI_Taxon_ID:2170610 +ncbitaxon 2170610 NCBI_taxid NCBI_taxid:2170610 +ncbitaxon 2170610 TAX TAX:2170610 +ncbitaxon 2170610 TaxonomyID TaxonomyID:2170610 +ncbitaxon 2170610 ncbitaxon ncbitaxon:2170610 +ncbitaxon 2170610 taxid taxid:2170610 +ncbitaxon 2170610 taxon taxon:2170610 +ncbitaxon 2170610 taxonomy taxonomy:2170610 +ncbitaxon 2170610 uniprot.taxonomy uniprot.taxonomy:2170610 +ncim C0026339 ncim ncim:C0026339 +ncit C138986 NCI NCI:C138986 +ncit C138986 NCI2004_11_17 NCI2004_11_17:C138986 +ncit C138986 NCIT NCIT:C138986 +ncit C138986 NCIT_Thesaurus NCIT_Thesaurus:C138986 +ncit C138986 NCITm NCITm:C138986 +ncit C138986 NCITt NCITt:C138986 +ncit C138986 NCI_Thesaurus NCI_Thesaurus:C138986 +ncit C138986 NCIt NCIt:C138986 +ncit C138986 ncit ncit:C138986 +ncit C138986 ncithesaurus ncithesaurus:C138986 +ncro 0002927 NCRO NCRO:0002927 +ncro 0002927 ncro ncro:0002927 +ndc 0002-1975-61 ndc ndc:0002-1975-61 +nddf 002678 nddf nddf:002678 +ndex aa78a43f-9c4d-11eb-9e72-0ac135e8bacf ndex ndex:aa78a43f-9c4d-11eb-9e72-0ac135e8bacf +ndfrt N0000001662 NUI NUI:N0000001662 +ndfrt N0000001662 ndf-rt ndf-rt:N0000001662 +ndfrt N0000001662 ndfrt ndfrt:N0000001662 +nemo smp-m3w9hbe nemo nemo:smp-m3w9hbe +neurolex 4 NLX NLX:4 +neurolex 4 neurolex neurolex:4 +neurolex 4 nlx nlx:4 +neuromorpho Rosa2 neuromorpho neuromorpho:Rosa2 +neuronames 268 neuroname neuroname:268 +neuronames 268 neuronames neuronames:268 +neurondb 265 neurondb neurondb:265 +neurovault.collection 3304 neurovault.collection neurovault.collection:3304 +neurovault.image 58788 neurovault.image neurovault.image:58788 +nextdb 6b1 nextdb nextdb:6b1 +nextprot NX_O00165 NXP NXP:NX_O00165 +nextprot NX_O00165 nextprot nextprot:NX_O00165 +nextprot.family 01406 NXPFA NXPFA:01406 +nextprot.family 01406 nextprot.family nextprot.family:01406 +ngl GLDS-141 ngl ngl:GLDS-141 +nhcdr ND50028 nhcdr nhcdr:ND50028 +niaest J0705A10 niaest niaest:J0705A10 +nif.ext 7123 NIFEXT NIFEXT:7123 +nif.ext 7123 nif.ext nif.ext:7123 +nif.std BAMSC981 NIFSTD NIFSTD:BAMSC981 +nif.std BAMSC981 nif.std nif.std:BAMSC981 +nihreporter.project 10343835 nihreporter.project nihreporter.project:10343835 +nlm 101775319 nlm nlm:101775319 +nlx.anat 090201 nlx.anat nlx.anat:090201 +nlx.br 145 NLXBR NLXBR:145 +nlx.br 145 nlx.br nlx.br:145 +nlx.cell 91005 NLXCELL NLXCELL:91005 +nlx.cell 91005 nlx.cell nlx.cell:91005 +nlx.chem 90801 NLXCHEM NLXCHEM:90801 +nlx.chem 90801 nlx.chem nlx.chem:90801 +nlx.dys 20090303 nlx.dys nlx.dys:20090303 +nlx.func 90801 NLXFUNC NLXFUNC:90801 +nlx.func 90801 nlx.func nlx.func:90801 +nlx.inv 90901 NLXINV NLXINV:90901 +nlx.inv 90901 nlx.inv nlx.inv:90901 +nlx.mol 90806 NLXMOL NLXMOL:90806 +nlx.mol 90806 nlx.mol nlx.mol:90806 +nlx.oen 0001000 NLXOEN NLXOEN:0001000 +nlx.oen 0001000 nlx.oen nlx.oen:0001000 +nlx.org 090701 NLXORG NLXORG:090701 +nlx.org 090701 nlx.org nlx.org:090701 +nlx.qual 100810 NLXQUAL NLXQUAL:100810 +nlx.qual 100810 nlx.qual nlx.qual:100810 +nlx.res 090924 NLXRES NLXRES:090924 +nlx.res 090924 nlx.res nlx.res:090924 +nlx.sub 090803 NLXSUB NLXSUB:090803 +nlx.sub 090803 nif_subcellular nif_subcellular:090803 +nlx.sub 090803 nlx.sub nlx.sub:090803 +nmdc y3ax-8bq3-60 nmdc nmdc:y3ax-8bq3-60 +nmr 1000003 NMR NMR:1000003 +nmr 1000003 NMR NMR: NMR:NMR:1000003 +nmr 1000003 nmr nmr:1000003 +nmr 1000003 nmr NMR: nmr:NMR:1000003 +nmr 1000003 nmrcv nmrcv:1000003 +nmr 1000003 nmrcv NMR: nmrcv:NMR:1000003 +nmrshiftdb2 234 nmrshiftdb2 nmrshiftdb2:234 +noaa long-finned-pilot-whale noaa noaa:long-finned-pilot-whale +nomen 0000295 NOMEN NOMEN:0000295 +nomen 0000295 nomen nomen:0000295 +noncodev3 377550 noncodev3 noncodev3:377550 +noncodev4.gene NONHSAG00001 noncodev4.gene noncodev4.gene:NONHSAG00001 +noncodev4.rna NONHSAT000001 noncodev4.rna noncodev4.rna:NONHSAT000001 +norine NOR00681 norine norine:NOR00681 +novus nb100-56351 novus novus:nb100-56351 +npass NPC139585 npass npass:NPC139585 +npo 1731 npo npo:1731 +nuclearbd prgr_human nuclearbd nuclearbd:prgr_human +nucleotide 880798137 nucleotide nucleotide:880798137 +oa sourceDateStart oa oa:sourceDateStart +oae 0002959 OAE OAE:0002959 +oae 0002959 oae oae:0002959 +oarcs 0000029 OARCS OARCS:0000029 +oarcs 0000029 oarcs oarcs:0000029 +oba 0000001 OBA OBA:0000001 +oba 0000001 oba oba:0000001 +obcs 0000121 OBCS OBCS:0000121 +obcs 0000121 obcs obcs:0000121 +obi 0400109 OBI OBI:0400109 +obi 0400109 OBI OBI: OBI:OBI:0400109 +obi 0400109 obi obi:0400109 +obi 0400109 obi OBI: obi:OBI:0400109 +obib 0000389 OBIB OBIB:0000389 +obib 0000389 obib obib:0000389 +oboinowl hasDbXref oboInOwl oboInOwl:hasDbXref +oboinowl hasDbXref oboformat oboformat:hasDbXref +oboinowl hasDbXref oboinowl oboinowl:hasDbXref +oboinowl hasDbXref oio oio:hasDbXref +occ br/1 occ occ:br/1 +oci 1-18 oci oci:1-18 +ocid 190000021540 ocid ocid:190000021540 +ocid 190000021540 ocid ocid: ocid:ocid:190000021540 +oclc 634515043 oclc oclc:634515043 +odam frim1 odam odam:frim1 +odc.sci 602 odc.sci odc.sci:602 +odc.tbi 408 odc.tbi odc.tbi:408 +odor 74 odor odor:74 +ogg 3000887619 OGG OGG:3000887619 +ogg 3000887619 ogg ogg:3000887619 +ogi 0000019 OGI OGI:0000019 +ogi 0000019 OGI.owl OGI.owl:0000019 +ogi 0000019 ogi ogi:0000019 +ogms 0000031 OGMS OGMS:0000031 +ogms 0000031 ogms ogms:0000031 +ogms 0000031 ogms/OMRE ogms/OMRE:0000031 +ogsf 0000025 OGSF OGSF:0000025 +ogsf 0000025 ogsf ogsf:0000025 +ohd 0000006 OHD OHD:0000006 +ohd 0000006 ohd ohd:0000006 +ohmi 0000460 OHMI OHMI:0000460 +ohmi 0000460 ohmi ohmi:0000460 +ohpi 9001411 OHPI OHPI:9001411 +ohpi 9001411 ohpi ohpi:9001411 +oid 2.16.840 oid oid:2.16.840 +olatdv 0000210 OlatDv OlatDv:0000210 +olatdv 0000210 olatdv olatdv:0000210 +om Dimension om om:Dimension +oma.grp LCSCCPN oma.grp oma.grp:LCSCCPN +oma.hog 0459895 oma.hog oma.hog:0459895 +oma.hog 0459895 oma.hog HOG: oma.hog:HOG:0459895 +oma.protein HUMAN16963 oma.protein oma.protein:HUMAN16963 +omia 1000 omia omia:1000 +omiabis 0001079 OMIABIS OMIABIS:0001079 +omiabis 0001079 omiabis omiabis:0001079 +omim 603903 OMIM OMIM:603903 +omim 603903 mim mim:603903 +omim 603903 omim omim:603903 +omim.ps PS214100 MIMPS MIMPS:PS214100 +omim.ps PS214100 OMIMPS OMIMPS:PS214100 +omim.ps PS214100 PS PS:PS214100 +omim.ps PS214100 mim.ps mim.ps:PS214100 +omim.ps PS214100 omim.ps omim.ps:PS214100 +omit 0000069 OMIT OMIT:0000069 +omit 0000069 omit omit:0000069 +omp 0005067 OMP OMP:0005067 +omp 0005067 omp omp:0005067 +omrse 00000022 OMRSE OMRSE:00000022 +omrse 00000022 omrse omrse:00000022 +oncotree BLL oncotree oncotree:BLL +one 0001021 ONE ONE:0001021 +one 0001021 one one:0001021 +ons 0000060 ONS ONS:0000060 +ons 0000060 ons ons:0000060 +ontoavida 00000001 ONTOAVIDA ONTOAVIDA:00000001 +ontoavida 00000001 ontoavida ontoavida:00000001 +ontoneo 00000098 ONTONEO ONTONEO:00000098 +ontoneo 00000098 ontoneo ontoneo:00000098 +oostt 00000099 OOSTT OOSTT:00000099 +oostt 00000099 oostt oostt:00000099 +opb 00573 opb opb:00573 +opb 00573 opb OPB_ opb:OPB_00573 +openalex W2741809807 openalex openalex:W2741809807 +opl 0000319 OPL OPL:0000319 +opl 0000319 opl opl:0000319 +opm 1h68 opm opm:1h68 +opmi 0000101 OPMI OPMI:0000101 +opmi 0000101 opmi opmi:0000101 +orcid 0000-0002-5355-2576 ORCID ORCID:0000-0002-5355-2576 +orcid 0000-0002-5355-2576 ORCiD ORCiD:0000-0002-5355-2576 +orcid 0000-0002-5355-2576 orcid orcid:0000-0002-5355-2576 +ordb 8497 ordb ordb:8497 +oridb.sacch 1 oridb.sacch oridb.sacch:1 +oridb.schizo 1 oridb.schizo oridb.schizo:1 +ornaseq 0000010 ORNASEQ ORNASEQ:0000010 +ornaseq 0000010 ornaseq ornaseq:0000010 +orphanet 85163 ORPHA ORPHA:85163 +orphanet 85163 orphanet orphanet:85163 +orphanet.ordo 478 ordo ordo:478 +orphanet.ordo 478 ordo Orphanet_ ordo:Orphanet_478 +orphanet.ordo 478 orphanet.ordo orphanet.ordo:478 +orphanet.ordo 478 orphanet.ordo Orphanet_ orphanet.ordo:Orphanet_478 +orphanet.ordo C023 ordo ordo:C023 +orphanet.ordo C023 ordo Orphanet_ ordo:Orphanet_C023 +orphanet.ordo C023 orphanet.ordo orphanet.ordo:C023 +orphanet.ordo C023 orphanet.ordo Orphanet_ orphanet.ordo:Orphanet_C023 +orth HomologyRelation orth orth:HomologyRelation +orthodb Q9P0K8 orthodb orthodb:Q9P0K8 +oryzabase.gene 117 oryzabase.gene oryzabase.gene:117 +oryzabase.mutant 21393 oryzabase.mutant oryzabase.mutant:21393 +oryzabase.reference 42840 oryzabase.reference oryzabase.reference:42840 +oryzabase.stage 34 oryzabase.stage oryzabase.stage:34 +oryzabase.strain 1 oryzabase.strain oryzabase.strain:1 +otl AADB12 otl otl:AADB12 +otol 3905431 otol otol:3905431 +ovae 0000609 OVAE OVAE:0000609 +ovae 0000609 ovae ovae:0000609 +owl Ontology owl owl:Ontology +p3db.protein 70 p3db.protein p3db.protein:70 +p3db.site 65 p3db.site p3db.site:65 +paleodb 83088 paleodb paleodb:83088 +panorama FxnI151FMs panorama panorama:FxnI151FMs +panther.family PTHR12345 panther.family panther.family:PTHR12345 +panther.node PTN000000026 panther.node panther.node:PTN000000026 +panther.pathway P00024 panther.pathway panther.pathway:P00024 +panther.pthcmp P00266 panther.pthcmp panther.pthcmp:P00266 +pass2 46977 pass2 pass2:46977 +pathbank SMP0000219 pathbank pathbank:SMP0000219 +pathwaycommons 485991 pathwaycommons pathwaycommons:485991 +pato 0001998 PATO PATO:0001998 +pato 0001998 PATO PATO: PATO:PATO:0001998 +pato 0001998 pato pato:0001998 +pato 0001998 pato PATO: pato:PATO:0001998 +pav authoredBy pav pav:authoredBy +paxdb.organism 9606 paxdb.organism paxdb.organism:9606 +paxdb.protein 977869 paxdb.protein paxdb.protein:977869 +pazar TF0001053 pazar pazar:TF0001053 +pba 128011350 PBA PBA:128011350 +pba 128011350 pba pba:128011350 +pcl 0011124 PCL PCL:0011124 +pcl 0011124 pcl pcl:0011124 +pco 0000021 PCO PCO:0000021 +pco 0000021 pco pco:0000021 +pdb 2gc4 RCSB_PDB RCSB_PDB:2gc4 +pdb 2gc4 pdb pdb:2gc4 +pdb 2gc4 pdbe pdbe:2gc4 +pdb 2gc4 pdbj pdbj:2gc4 +pdb 2gc4 wwpdb wwpdb:2gc4 +pdb-ccd A pdb-ccd pdb-ccd:A +pdb-ccd A pdbechem pdbechem:A +pdb-ccd AB0 pdb-ccd pdb-ccd:AB0 +pdb-ccd AB0 pdbechem pdbechem:AB0 +pdb-ccd PI pdb-ccd pdb-ccd:PI +pdb-ccd PI pdbechem pdbechem:PI +pdb.ligand TRQ PDB_CHEM_ID PDB_CHEM_ID:TRQ +pdb.ligand TRQ pdb.ligand pdb.ligand:TRQ +pdc.study PDC000351 pdc.study pdc.study:PDC000351 +pdro 0010039 PDRO PDRO:0010039 +pdro 0010039 pdro pdro:0010039 +pdumdv 0001410 PdumDv PdumDv:0001410 +pdumdv 0001410 pdumdv pdumdv:0001410 +peco 0007114 PECO PECO:0007114 +peco 0007114 peco peco:0007114 +ped PED00037 ped ped:PED00037 +ped.ensemble PED00017e001 ped.ensemble ped.ensemble:PED00017e001 +peff 0001011 peff peff:0001011 +peptideatlas PAp00000009 peptideatlas peptideatlas:PAp00000009 +peptideatlas.dataset PASS01237 peptideatlas.dataset peptideatlas.dataset:PASS01237 +perkinelmer SCC111 perkinelmer perkinelmer:SCC111 +peroxibase 5282 peroxibase peroxibase:5282 +pesticides derivatives%2Fthiocyclam%20hydrochloride pesticides pesticides:derivatives%2Fthiocyclam%20hydrochloride +pfam PF11779 PF PF:PF11779 +pfam PF11779 pfam pfam:PF11779 +pfam.clan CL0192 pfam.clan pfam.clan:CL0192 +pfr 1001 TDR TDR:1001 +pfr 1001 pfr pfr:1001 +pgs PGS000018 pgs pgs:PGS000018 +pgx pgxbs-kftva5zv Progenetix Progenetix:pgxbs-kftva5zv +pgx pgxbs-kftva5zv pgx pgx:pgxbs-kftva5zv +pharmacodb.cell 22RV1_12_2019 pharmacodb.cell pharmacodb.cell:22RV1_12_2019 +pharmacodb.dataset 1 pharmacodb.dataset pharmacodb.dataset:1 +pharmacodb.tissue 13 pharmacodb.tissue pharmacodb.tissue:13 +pharmgkb.disease PA447218 pharmgkb.disease pharmgkb.disease:PA447218 +pharmgkb.drug PA448710 pharmgkb.drug pharmgkb.drug:PA448710 +pharmgkb.gene PA131 pharmgkb.gene pharmgkb.gene:PA131 +pharmgkb.pathways PA146123006 pharmgkb.pathways pharmgkb.pathways:PA146123006 +phenolexplorer 75 phenolexplorer phenolexplorer:75 +phenx 130502 phenx phenx:130502 +phipo 0000001 PHIPO PHIPO:0000001 +phipo 0000001 phipo phipo:0000001 +phosphopoint.kinase AURKA phosphopoint.kinase phosphopoint.kinase:AURKA +phosphopoint.protein AURKA phosphopoint.protein phosphopoint.protein:AURKA +phosphosite.protein 12300 phosphosite.protein phosphosite.protein:12300 +phosphosite.residue 2842 phosphosite.residue phosphosite.residue:2842 +phosphosite.sitegroup 447860 phosphosite.sitegroup phosphosite.sitegroup:447860 +phylomedb Phy000CLXM_RAT phylomedb phylomedb:Phy000CLXM_RAT +phytozome.locus Glyma0021s00410 phytozome.locus phytozome.locus:Glyma0021s00410 +pictar hsa-let-7a pictar pictar:hsa-let-7a +pictar hsa-let-7a pictar-vert pictar-vert:hsa-let-7a +pid.pathway eff796f3-6195-11e5-8ac5-06603eb7f303 pid pid:eff796f3-6195-11e5-8ac5-06603eb7f303 +pid.pathway eff796f3-6195-11e5-8ac5-06603eb7f303 pid.pathway pid.pathway:eff796f3-6195-11e5-8ac5-06603eb7f303 +pigqtldb 14 pigqtldb pigqtldb:14 +pina Q13485 pina pina:Q13485 +piroplasma TA14985 piroplasma piroplasma:TA14985 +pirsf PIRSF000100 pirsf pirsf:PIRSF000100 +pkdb PKDB00198 pkdb pkdb:PKDB00198 +plana 0000001 PLANA PLANA:0000001 +plana 0000001 plana plana:0000001 +planp 0000001 PLANP PLANP:0000001 +planp 0000001 planp planp:0000001 +planttfdb Ath_AT1G01030.1 planttfdb planttfdb:Ath_AT1G01030.1 +plasmodb PF11_0344 ApiDB_PlasmoDB ApiDB_PlasmoDB:PF11_0344 +plasmodb PF11_0344 plasmodb plasmodb:PF11_0344 +pmap.cutdb 25782 pmap.cutdb pmap.cutdb:25782 +pmap.substratedb 1915 pmap.substratedb pmap.substratedb:1915 +pmc PMC3084216 PMC PMC:PMC3084216 +pmc PMC3084216 PMCID PMCID:PMC3084216 +pmc PMC3084216 pmc pmc:PMC3084216 +pmdb PM0012345 pmdb pmdb:PM0012345 +pmp Q0VCA6 pmp pmp:Q0VCA6 +pmr ebf69ca24298b28b2361e7d43eb52d6c pmr pmr:ebf69ca24298b28b2361e7d43eb52d6c +po 0009089 PO PO:0009089 +po 0009089 PO PO: PO:PO:0009089 +po 0009089 po po:0009089 +po 0009089 po PO: po:PO:0009089 +pocketome 1433C_TOBAC_1_252 pocketome pocketome:1433C_TOBAC_1_252 +polbase 19-T4 polbase polbase:19-T4 +pombase SPCC13B11.01 PomBase PomBase:SPCC13B11.01 +pombase SPCC13B11.01 pombase pombase:SPCC13B11.01 +poro 0000550 PORO PORO:0000550 +poro 0000550 poro poro:0000550 +ppdb 1484 ppdb ppdb:1484 +ppo 0002058 PPO PPO:0002058 +ppo 0002058 ppo ppo:0002058 +ppr ppr103739 ppr ppr:ppr103739 +pr 000000024 PR PR:000000024 +pr 000000024 PR PR: PR:PR:000000024 +pr 000000024 PRO PRO:000000024 +pr 000000024 PRO PR: PRO:PR:000000024 +pr 000000024 pr pr:000000024 +pr 000000024 pr PR: pr:PR:000000024 +prefixcommons ChEBI prefixcommons prefixcommons:ChEBI +pride 1 pride pride:1 +pride.project PXD000440 pride.project pride.project:PXD000440 +prints PR00001 prints prints:PR00001 +probonto PROB_c0000005 probonto probonto:PROB_c0000005 +proco 0000001 PROCO PROCO:0000001 +proco 0000001 proco proco:0000001 +prodom PD10000 prodom prodom:PD10000 +proglyc AC119 proglyc proglyc:AC119 +prosite PS00001 prosite prosite:PS00001 +protclustdb O80725 protclustdb protclustdb:O80725 +proteomicsdb.peptide 53504 proteomicsdb.peptide proteomicsdb.peptide:53504 +proteomicsdb.protein 53504 proteomicsdb.protein proteomicsdb.protein:53504 +protonet.cluster 4349895 protonet.cluster protonet.cluster:4349895 +protonet.proteincard 16941567 protonet.proteincard protonet.proteincard:16941567 +prov Activity prov prov:Activity +pscdb 051 pscdb pscdb:051 +psdo 0000055 PSDO PSDO:0000055 +psdo 0000055 psdo psdo:0000055 +pseudogene PGOHUM00000289843 pseudogene pseudogene:PGOHUM00000289843 +pseudogene PGOHUM00000289843 pseudogene.org pseudogene.org:PGOHUM00000289843 +pseudomonas PSEEN0001 pseudomonas pseudomonas:PSEEN0001 +psipar PAR:0116 psipar psipar:PAR:0116 +pso 0000013 PSO PSO:0000013 +pso 0000013 pso pso:0000013 +pubchem.bioassay 1018 pubchem.bioassay pubchem.bioassay:1018 +pubchem.cell 31 pubchem.cell pubchem.cell:31 +pubchem.classification 87 pubchem.classification pubchem.classification:87 +pubchem.compound 100101 CID CID:100101 +pubchem.compound 100101 DSSTox_CID DSSTox_CID:100101 +pubchem.compound 100101 PUBCHEM_CID PUBCHEM_CID:100101 +pubchem.compound 100101 PubChem_Compound_CID PubChem_Compound_CID:100101 +pubchem.compound 100101 Pubchem Pubchem:100101 +pubchem.compound 100101 pubchem.compound pubchem.compound:100101 +pubchem.compound 100101 pubchem_id pubchem_id:100101 +pubchem.element 1 pubchem.element pubchem.element:1 +pubchem.substance 100101 DSSTox_Generic_SID DSSTox_Generic_SID:100101 +pubchem.substance 100101 pubchem.substance pubchem.substance:100101 +publons.researcher 1981638 publons.researcher publons.researcher:1981638 +pubmed 16333295 MEDLINE MEDLINE:16333295 +pubmed 16333295 PMID PMID:16333295 +pubmed 16333295 pmid pmid:16333295 +pubmed 16333295 pubmed pubmed:16333295 +puro RoleInTime PuRO PuRO:RoleInTime +puro RoleInTime puro puro:RoleInTime +pw 0000423 PW PW:0000423 +pw 0000423 PW PW: PW:PW:0000423 +pw 0000423 pw pw:0000423 +pw 0000423 pw PW: pw:PW:0000423 +pwo Workflow PWO PWO:Workflow +pwo Workflow pwo pwo:Workflow +px PXD000500 px px:PXD000500 +pypi numpy pypi pypi:numpy +qtldb 4685 qtldb qtldb:4685 +qudt baseDimensionEnumeration qudt qudt:baseDimensionEnumeration +radiomics LK99 radiomics radiomics:LK99 +rapdb.locus Os01g0883800 irgsp irgsp:Os01g0883800 +rapdb.locus Os01g0883800 rapdb.locus rapdb.locus:Os01g0883800 +rapdb.transcript Os01t0883800-02 rapdb.transcript rapdb.transcript:Os01t0883800-02 +rbk Q-2958 rbk rbk:Q-2958 +rbo 00000105 RBO RBO:00000105 +rbo 00000105 rbo rbo:00000105 +rcb RCB0002 rcb rcb:RCB0002 +rdf RDF rdf rdf:RDF +rdfs label rdfs rdfs:label +rdo 9002859 rdo rdo:9002859 +re3data r3d100010772 re3data re3data:r3d100010772 +reactome R-BTA-418592 RE RE:R-BTA-418592 +reactome R-BTA-418592 REACT REACT:R-BTA-418592 +reactome R-BTA-418592 reactome reactome:R-BTA-418592 +reaxys 1257009 Beilstein Beilstein:1257009 +reaxys 1257009 Reaxys Reaxys:1257009 +reaxys 1257009 reaxys reaxys:1257009 +rebase 101 rebase rebase:101 +receptome.family 5.1 receptome.family receptome.family:5.1 +refseq NP_012345 REFSEQ_PROT REFSEQ_PROT:NP_012345 +refseq NP_012345 refseq refseq:NP_012345 +reo 0000079 reo reo:0000079 +repeatsdb.protein P29894 repeatsdb.protein repeatsdb.protein:P29894 +repeatsdb.structure 2gc4E repeatsdb.structure repeatsdb.structure:2gc4E +reproduceme MicrobeamManipulation reproduceme reproduceme:MicrobeamManipulation +resid AA0001 RESID RESID:AA0001 +resid AA0001 resid resid:AA0001 +rex 0000512 REX REX:0000512 +rex 0000512 rex rex:0000512 +rfam RF00230 rfam rfam:RF00230 +rgd 7499841 RGD RGD:7499841 +rgd 7499841 rgd rgd:7499841 +rgd.qtl 1354581 rgd.qtl rgd.qtl:1354581 +rgd.strain 5688061 rgd.strain rgd.strain:5688061 +rhea 12345 RHEA RHEA:12345 +rhea 12345 rhea rhea:12345 +ricegap LOC_Os02g13300 ricegap ricegap:LOC_Os02g13300 +ricenetdb.compound OSC1416 ricenetdb.compound ricenetdb.compound:OSC1416 +ricenetdb.gene LOC_Os01g49190.1 ricenetdb.gene ricenetdb.gene:LOC_Os01g49190.1 +ricenetdb.mirna osa-miR446 ricenetdb.mirna ricenetdb.mirna:osa-miR446 +ricenetdb.protein LOC_Os01g49190 ricenetdb.protein ricenetdb.protein:LOC_Os01g49190 +ricenetdb.reaction OSR0818 ricenetdb.reaction ricenetdb.reaction:OSR0818 +rnacentral URS0000759CF4 LNCRNADB LNCRNADB:URS0000759CF4 +rnacentral URS0000759CF4 rnacentral rnacentral:URS0000759CF4 +rnamod 051 rnamod rnamod:051 +rnamods 101 rnamods rnamods:101 +rnao 0000128 RNAO RNAO:0000128 +rnao 0000128 rnao rnao:0000128 +ro 0002533 RO RO:0002533 +ro 0002533 RO RO_ RO:RO_0002533 +ro 0002533 RO_proposed_relation RO_proposed_relation:0002533 +ro 0002533 RO_proposed_relation RO_ RO_proposed_relation:RO_0002533 +ro 0002533 obo_rel obo_rel:0002533 +ro 0002533 obo_rel RO_ obo_rel:RO_0002533 +ro 0002533 oborel oborel:0002533 +ro 0002533 oborel RO_ oborel:RO_0002533 +ro 0002533 ro ro:0002533 +ro 0002533 ro RO_ ro:RO_0002533 +rouge mKIAA4200 rouge rouge:mKIAA4200 +rrid AB_262044 rrid rrid:AB_262044 +rrid AB_262044 rrid RRID: rrid:RRID:AB_262044 +rs 0001807 RS RS:0001807 +rs 0001807 rs rs:0001807 +runbiosimulations 5fde96bdc5f1aa9ff0cce18a runbiosimulations runbiosimulations:5fde96bdc5f1aa9ff0cce18a +rxno 0000253 RXNO RXNO:0000253 +rxno 0000253 rxno rxno:0000253 +rxnorm 221058 RXCUI RXCUI:221058 +rxnorm 221058 rxnorm rxnorm:221058 +sabiork.compound 75 sabiork.compound sabiork.compound:75 +sabiork.ec 2.7.1.1 sabiork.ec sabiork.ec:2.7.1.1 +sabiork.kineticrecord 5046 sabiork.kineticrecord sabiork.kineticrecord:5046 +sabiork.reaction 75 SABIO-RK SABIO-RK:75 +sabiork.reaction 75 sabiork.reaction sabiork.reaction:75 +salk 037727 salk salk:037727 +sao 5277619 SAO SAO:5277619 +sao 5277619 sao sao:5277619 +sasbdb SASDAX8 sasbdb sasbdb:SASDAX8 +sbo 0000485 SBO SBO:0000485 +sbo 0000485 SBO SBO: SBO:SBO:0000485 +sbo 0000485 sbo sbo:0000485 +sbo 0000485 sbo SBO: sbo:SBO:0000485 +scdo 0000728 SCDO SCDO:0000728 +scdo 0000728 scdo scdo:0000728 +schem A0001 schem schem:A0001 +schema Person schema schema:Person +scholia.resource doi scholia.resource scholia.resource:doi +scomp C0001 scomp scomp:C0001 +scop 47419 scop scop:47419 +scopus 56305849200 scopus scopus:56305849200 +scoro IntellectualContribution SCoRO SCoRO:IntellectualContribution +scoro IntellectualContribution scoro scoro:IntellectualContribution +scr 022586 scicrunch scicrunch:022586 +scr 022586 scr scr:022586 +scretf RSC3 scretf scretf:RSC3 +sdbs 4544 sdbs sdbs:4544 +sdgio 00020134 sdgio sdgio:00020134 +sdis D0001 sdis sdis:D0001 +sedml.format csv sedml.format sedml.format:csv +sedml.language sbml.level-3.version-2 sedml.language sedml.language:sbml.level-3.version-2 +seed Biotin_biosynthesis seed seed:Biotin_biosynthesis +seed.compound cpd15380 seed.compound seed.compound:cpd15380 +seed.reaction rxn00001 seed.reaction seed.reaction:rxn00001 +sep 00073 SEP SEP:00073 +sep 00073 sep sep:00073 +sepio 0000048 SEPIO SEPIO:0000048 +sepio 0000048 sepio sepio:0000048 +sfam F0001 sfam sfam:F0001 +sgd S000002493 sgd sgd:S000002493 +sgd.pathways PWY3O-214 sgd.pathways sgd.pathways:PWY3O-214 +sgn 0001 sgn sgn:0001 +sheepqtldb 19803 sheepqtldb sheepqtldb:19803 +sibo 0000509 SIBO SIBO:0000509 +sibo 0000509 sibo sibo:0000509 +sider.drug 2244 sider.drug sider.drug:2244 +sider.effect C0017565 sider.effect sider.effect:C0017565 +sigmaaldrich HPA000698 sigmaaldrich sigmaaldrich:HPA000698 +signaling-gateway A001094 signaling-gateway signaling-gateway:A001094 +signor SIGNOR-C41 SIGNOR SIGNOR:SIGNOR-C41 +signor SIGNOR-C41 signor signor:SIGNOR-C41 +signor.relation SIGNOR-252737 signor.relation signor.relation:SIGNOR-252737 +sio 000912 sio sio:000912 +sio 000912 sio SIO_ sio:SIO_000912 +sisu 17:41223048 sisu sisu:17:41223048 +sitex 1000 sitex sitex:1000 +skip SKIP001214 skip skip:SKIP001214 +skos prefLabel skos skos:prefLabel +slkbase 3618 slkbase slkbase:3618 +smart SM00015 smart smart:SM00015 +smid 137 SMID-DB SMID-DB:137 +smid 137 smid smid:137 +smiles COc1ccc2c(c1)OC[C@H]1[C@@H]2C2=C(OC1(C)C)C1=C(C(=O)C2=O)[C@H]2c3ccc(OC)cc3OC[C@H]2C(C)(C)O1 smiles smiles:COc1ccc2c(c1)OC[C@H]1[C@@H]2C2=C(OC1(C)C)C1=C(C(=O)C2=O)[C@H]2c3ccc(OC)cc3OC[C@H]2C(C)(C)O1 +smpdb SMP0000219 SMP SMP:SMP0000219 +smpdb SMP0000219 smpdb smpdb:SMP0000219 +snap Quality snap snap:Quality +snomedct 284196006 SCTID SCTID:284196006 +snomedct 284196006 SCTID_2010_1_31 SCTID_2010_1_31:284196006 +snomedct 284196006 SNOMECT SNOMECT:284196006 +snomedct 284196006 SNOMED SNOMED:284196006 +snomedct 284196006 SNOMEDCT SNOMEDCT:284196006 +snomedct 284196006 SNOMEDCTCT SNOMEDCTCT:284196006 +snomedct 284196006 SNOMEDCTCT_2018_03_01 SNOMEDCTCT_2018_03_01:284196006 +snomedct 284196006 SNOMEDCTCT_2019_03_01 SNOMEDCTCT_2019_03_01:284196006 +snomedct 284196006 SNOMEDCT_2005_07_31 SNOMEDCT_2005_07_31:284196006 +snomedct 284196006 SNOMEDCT_2010_1_31 SNOMEDCT_2010_1_31:284196006 +snomedct 284196006 SNOMEDCT_2020_03_01 SNOMEDCT_2020_03_01:284196006 +snomedct 284196006 SNOMEDCT_US SNOMEDCT_US:284196006 +snomedct 284196006 SNOMEDCT_US_2015_03_01 SNOMEDCT_US_2015_03_01:284196006 +snomedct 284196006 SNOMEDCT_US_2016_03_01 SNOMEDCT_US_2016_03_01:284196006 +snomedct 284196006 SNOMEDCT_US_2018_03_01 SNOMEDCT_US_2018_03_01:284196006 +snomedct 284196006 SNOMEDCT_US_2018_09_01 SNOMEDCT_US_2018_09_01:284196006 +snomedct 284196006 SNOMEDCT_US_2019_03_01 SNOMEDCT_US_2019_03_01:284196006 +snomedct 284196006 SNOMEDCT_US_2019_09_01 SNOMEDCT_US_2019_09_01:284196006 +snomedct 284196006 SNOMEDCT_US_2020_03_01 SNOMEDCT_US_2020_03_01:284196006 +snomedct 284196006 SNOMEDCT_US_2020_09_01 SNOMEDCT_US_2020_09_01:284196006 +snomedct 284196006 SNOMEDCT_US_2021_03_01 SNOMEDCT_US_2021_03_01:284196006 +snomedct 284196006 SNOMEDCT_US_2021_07_31 SNOMEDCT_US_2021_07_31:284196006 +snomedct 284196006 SNOMEDCT_US_2021_09_01 SNOMEDCT_US_2021_09_01:284196006 +snomedct 284196006 SNOMED_CT SNOMED_CT:284196006 +snomedct 284196006 SNOMED_CT_US_2018_03_01 SNOMED_CT_US_2018_03_01:284196006 +snomedct 284196006 SNOWMEDCT SNOWMEDCT:284196006 +snomedct 284196006 SNOWMEDCT_US SNOWMEDCT_US:284196006 +snomedct 284196006 SNOWMEDCT_US_2018_03_01 SNOWMEDCT_US_2018_03_01:284196006 +snomedct 284196006 snomedct snomedct:284196006 +snornabase SR0000178 snornabase snornabase:SR0000178 +snp2tfbs rs11603840 snp2tfbs snp2tfbs:rs11603840 +so 0001157 SO SO:0001157 +so 0001157 SO SO: SO:SO:0001157 +so 0001157 so so:0001157 +so 0001157 so SO: so:SO:0001157 +soybase BARC-013845-01256 soybase soybase:BARC-013845-01256 +spd 0000001 SPD SPD:0000001 +spd 0000001 spd spd:0000001 +spdx CC-BY-1.0 spdx spdx:CC-BY-1.0 +spike.map spike00001 spike.map spike.map:spike00001 +splash splash10-0zq2000000-77302b0326a418630a84 splash splash:splash10-0zq2000000-77302b0326a418630a84 +spp 10.1621/vwN2g2HaX3 spp spp:10.1621/vwN2g2HaX3 +sprint PR00001 sprint sprint:PR00001 +srao 0000400 srao srao:0000400 +ssbd.dataset 1 ssbd.dataset ssbd.dataset:1 +ssbd.project 1 ssbd.project ssbd.project:1 +stap 1a24 stap stap:1a24 +stato 0000288 STATO STATO:0000288 +stato 0000288 stato stato:0000288 +stitch BQJCRHHNABKAKU stitch stitch:BQJCRHHNABKAKU +storedb STUDY1040 storedb storedb:STUDY1040 +storedb STUDY1040 storedb STOREDB: storedb:STOREDB:STUDY1040 +storedb.dataset 1251 storedb.dataset storedb.dataset:1251 +storedb.file 12929 storedb.file storedb.file:12929 +storedb.study 1174 storedb.study storedb.study:1174 +string P53350 string string:P53350 +sty T039 sty sty:T039 +subtilist BG11523 subtilist subtilist:BG11523 +subtiwiki BSU29180 subtiwiki subtiwiki:BSU29180 +sugarbind lectins/172 sugarbind sugarbind:lectins/172 +supfam SSF57615 supfam supfam:SSF57615 +sweetrealm ANOVA sweetrealm sweetrealm:ANOVA +swh 1:rev:309cf2674ee7a0749978cf8265ab91a60aea0f7d swh swh:1:rev:309cf2674ee7a0749978cf8265ab91a60aea0f7d +swh 1:rev:309cf2674ee7a0749978cf8265ab91a60aea0f7d swh swh: swh:swh:1:rev:309cf2674ee7a0749978cf8265ab91a60aea0f7d +swiss-model P23298 swiss-model swiss-model:P23298 +swisslipid 000000341 slm slm:000000341 +swisslipid 000000341 slm SLM: slm:SLM:000000341 +swisslipid 000000341 swisslipid swisslipid:000000341 +swisslipid 000000341 swisslipid SLM: swisslipid:SLM:000000341 +swisslipid 000000341 swisslipids swisslipids:000000341 +swisslipid 000000341 swisslipids SLM: swisslipids:SLM:000000341 +swissregulon AHR swissregulon swissregulon:AHR +swo 0000144 SWO SWO:0000144 +swo 0000144 swo swo:0000144 +symp 0019171 SYMP SYMP:0019171 +symp 0019171 symp symp:0019171 +t3db T3D0001 t3db t3db:T3D0001 +tads 0000547 TADS TADS:0000547 +tads 0000547 tads tads:0000547 +tair.gene 2200934 tair.gene tair.gene:2200934 +tair.gene 2200934 tair.gene Gene: tair.gene:Gene:2200934 +tair.locus 2200950 tair.locus tair.locus:2200950 +tair.protein 1009107926 tair.protein tair.protein:1009107926 +tair.protein 1009107926 tair.protein AASequence: tair.protein:AASequence:1009107926 +tao 0000086 TAO TAO:0000086 +tao 0000086 TAO_RETIRED TAO_RETIRED:0000086 +tao 0000086 tao tao:0000086 +tarbase hsa-let-7a-2-3p tarbase tarbase:hsa-let-7a-2-3p +taxrank 0000001 TAXRANK TAXRANK:0000001 +taxrank 0000001 taxrank taxrank:0000001 +tcb 2966 tcb tcb:2966 +tcdb 5.A.1.1.1 TC TC:5.A.1.1.1 +tcdb 5.A.1.1.1 tcdb tcdb:5.A.1.1.1 +te E5.11.2.0.0.0.4 te te:E5.11.2.0.0.0.4 +tfclass 2.1.1 tfclass tfclass:2.1.1 +tgd TTHERM_00648910 tgd tgd:TTHERM_00648910 +tgma 0000984 TGMA TGMA:0000984 +tgma 0000984 tgma tgma:0000984 +tgn 1023371 tgn tgn:1023371 +th H3.03.00.0.00007 th th:H3.03.00.0.00007 +thermofisher OSR00185W thermofisher thermofisher:OSR00185W +tigrfam TIGR00010 tigrfam tigrfam:TIGR00010 +tkg 0221 tkg tkg:0221 +tngb 67035 tngb tngb:67035 +to 0000630 TO TO:0000630 +to 0000630 to to:0000630 +tol 98034 tol tol:98034 +tol 98034 tol.webproj tol.webproj:98034 +topdb AP00378 topdb topdb:AP00378 +topfind Q9UKQ2 topfind topfind:Q9UKQ2 +toxoplasma TGME49_053730 toxoplasma toxoplasma:TGME49_053730 +trans 0000024 TRANS TRANS:0000024 +trans 0000024 trans trans:0000024 +transyt TR0000001 transyt transyt:TR0000001 +treebase TB2:S1000 treebase treebase:TB2:S1000 +treefam TF101014 treefam treefam:TF101014 +trichdb TVAG_386080 trichdb trichdb:TVAG_386080 +tritrypdb Tb927.8.620 tritrypdb tritrypdb:Tb927.8.620 +ttd.drug DAP000773 ttd.drug ttd.drug:DAP000773 +ttd.target TTDS00056 ttd.target ttd.target:TTDS00056 +tto 1058367 TTO TTO:1058367 +tto 1058367 tto tto:1058367 +txpo 0002066 TXPO TXPO:0002066 +txpo 0002066 txpo txpo:0002066 +uberon 2005080 UBERON UBERON:2005080 +uberon 2005080 UBERON UBERON: UBERON:UBERON:2005080 +uberon 2005080 Uberon Uberon:2005080 +uberon 2005080 Uberon UBERON: Uberon:UBERON:2005080 +uberon 2005080 uberon uberon:2005080 +uberon 2005080 uberon UBERON: uberon:UBERON:2005080 +ubio.namebank 2555646 ubio.namebank ubio.namebank:2555646 +ucsc uc001rvw.5 ucsc ucsc:uc001rvw.5 +umbbd.compound c0001 UM-BBD_compID UM-BBD_compID:c0001 +umbbd.compound c0001 umbbd.compound umbbd.compound:c0001 +umbbd.enzyme e0333 UM-BBD_enzymeID UM-BBD_enzymeID:e0333 +umbbd.enzyme e0333 umbbd.enzyme umbbd.enzyme:e0333 +umbbd.pathway ala UM-BBD_pathwayID UM-BBD_pathwayID:ala +umbbd.pathway ala umbbd.pathway umbbd.pathway:ala +umbbd.reaction r0001 UM-BBD_reactionID UM-BBD_reactionID:r0001 +umbbd.reaction r0001 umbbd.reaction umbbd.reaction:r0001 +umbbd.rule bt0001 UM-BBD_ruleID UM-BBD_ruleID:bt0001 +umbbd.rule bt0001 umbbd.rule umbbd.rule:bt0001 +umls C2584994 UMLS UMLS:C2584994 +umls C2584994 UMLS_CUI UMLS_CUI:C2584994 +umls C2584994 umls umls:C2584994 +umls C2584994 umls.cui umls.cui:C2584994 +umls.aui A0118748 UMLS_ICD9CM_2005_AUI UMLS_ICD9CM_2005_AUI:A0118748 +umls.aui A0118748 umls.aui umls.aui:A0118748 +unigene 4900 unigene unigene:4900 +unii 3G6A5W338E unii unii:3G6A5W338E +unimod 1200 unimod unimod:1200 +uniparc UPI000000000A uniparc uniparc:UPI000000000A +unipathway.compound UPC04349 unipathway.compound unipathway.compound:UPC04349 +unipathway.reaction UCR00226 unipathway.reaction unipathway.reaction:UCR00226 +uniprot P0DP23 SwissProt SwissProt:P0DP23 +uniprot P0DP23 UP UP:P0DP23 +uniprot P0DP23 UniProt UniProt:P0DP23 +uniprot P0DP23 UniProtKB UniProtKB:P0DP23 +uniprot P0DP23 uniprot uniprot:P0DP23 +uniprot P0DP23 uniprot/swiss-prot uniprot/swiss-prot:P0DP23 +uniprot.chain PRO_0000016681 UPPRO UPPRO:PRO_0000016681 +uniprot.chain PRO_0000016681 uniprot.chain uniprot.chain:PRO_0000016681 +uniprot.disease DI-04240 DI DI:DI-04240 +uniprot.disease DI-04240 SP_DI SP_DI:DI-04240 +uniprot.disease DI-04240 uniprot.disease uniprot.disease:DI-04240 +uniprot.isoform Q5BJF6-3 UPISO UPISO:Q5BJF6-3 +uniprot.isoform Q5BJF6-3 uniprot.isoform uniprot.isoform:Q5BJF6-3 +uniprot.journal 3546 uniprot.journal uniprot.journal:3546 +uniprot.keyword KW-1273 SP_KW SP_KW:KW-1273 +uniprot.keyword KW-1273 UniProtKB-KW UniProtKB-KW:KW-1273 +uniprot.keyword KW-1273 uniprot.keyword uniprot.keyword:KW-1273 +uniprot.keyword KW-1273 uniprot.kw uniprot.kw:KW-1273 +uniprot.location SL-0002 SP_SL SP_SL:SL-0002 +uniprot.location SL-0002 UPLOC UPLOC:SL-0002 +uniprot.location SL-0002 UniProtKB-SubCell UniProtKB-SubCell:SL-0002 +uniprot.location SL-0002 uniprot.location uniprot.location:SL-0002 +uniprot.ptm PTM-0450 PTM PTM:PTM-0450 +uniprot.ptm PTM-0450 uniprot.ptm uniprot.ptm:PTM-0450 +uniprot.resource DB-0174 uniprot.resource uniprot.resource:DB-0174 +uniprot.tissue TS-0285 uniprot.tissue uniprot.tissue:TS-0285 +uniprot.var 068078 SP_VAR SP_VAR:068078 +uniprot.var 068078 UPVAR UPVAR:068078 +uniprot.var 068078 UniProtKB_VAR UniProtKB_VAR:068078 +uniprot.var 068078 uniprot.var uniprot.var:068078 +uniref UniRef90_P00750 uniref uniref:UniRef90_P00750 +unirule UR000124451 unirule unirule:UR000124451 +unists 456789 unists unists:456789 +unite UDB000691 unite unite:UDB000691 +uo 0000080 UO UO:0000080 +uo 0000080 UO UO: UO:UO:0000080 +uo 0000080 uo uo:0000080 +uo 0000080 uo UO: uo:UO:0000080 +upa UCR00513 UPA UPA:UCR00513 +upa UCR00513 UPa UPa:UCR00513 +upa UCR00513 unipathway unipathway:UCR00513 +upa UCR00513 unipathway.pathway unipathway.pathway:UCR00513 +upa UCR00513 upa upa:UCR00513 +uspto 4145692 uspto uspto:4145692 +validatordb 2h6o validatordb validatordb:2h6o +vandf 4019477 vandf vandf:4019477 +vario 0376 VariO VariO:0376 +vario 0376 VariO VariO: VariO:VariO:0376 +vario 0376 vario vario:0376 +vario 0376 vario VariO: vario:VariO:0376 +vbase2 humIGHV025 vbase2 vbase2:humIGHV025 +vbrc 35742 vbrc vbrc:35742 +vcell 201022999 vcell vcell:201022999 +vectorbase ISCW007415 vectorbase vectorbase:ISCW007415 +vega OTTHUMG00000169812 VEGA VEGA:OTTHUMG00000169812 +vega OTTHUMG00000169812 vega vega:OTTHUMG00000169812 +vegbank VB.Ob.3736.GRSM125 vegbank vegbank:VB.Ob.3736.GRSM125 +vfb 00000001 vfb vfb:00000001 +vfdb.gene VFG2154 vfdb.gene vfdb.gene:VFG2154 +vfdb.genus Chlamydia vfdb.genus vfdb.genus:Chlamydia +vgnc VGNC:3792 vgnc vgnc:VGNC:3792 +vhog 0000411 VHOG VHOG:0000411 +vhog 0000411 VHOG_RETIRED VHOG_RETIRED:0000411 +vhog 0000411 vhog vhog:0000411 +viaf 75121530 viaf viaf:75121530 +vido 0001114 vido vido:0001114 +vipr BeAn 70563 vipr vipr:BeAn 70563 +viralzone 992 viralzone viralzone:992 +virsirna virsi1909 virsirna virsirna:virsi1909 +vmhgene 8639.1 vmhgene vmhgene:8639.1 +vmhmetabolite h2o vmhmetabolite vmhmetabolite:h2o +vmhreaction HEX1 vmhreaction vmhreaction:HEX1 +vo 0000093 VO VO:0000093 +vo 0000093 vo vo:0000093 +void feature void void:feature +vsdb 1868 vsdb vsdb:1868 +vso 0000041 vso vso:0000041 +vt 0000685 VT VT:0000685 +vt 0000685 vt vt:0000685 +vto 9008500 VTO VTO:9008500 +vto 9008500 vto vto:9008500 +vuid 4007166 vuid vuid:4007166 +vz 886 vz vz:886 +wb.rnai WBRNAi00086878 wb.rnai wb.rnai:WBRNAi00086878 +wbbt 0001290 WBbt WBbt:0001290 +wbbt 0001290 wbbt wbbt:0001290 +wbls 0000690 WBls WBls:0000690 +wbls 0000690 wbls wbls:0000690 +wbphenotype 0000983 WBPhenotype WBPhenotype:0000983 +wbphenotype 0000983 wbphenotype wbphenotype:0000983 +webelements chromium webelements webelements:chromium +wgs84 latitude wgs84 wgs84:latitude +wicell ai10e-kctd13b wicell wicell:ai10e-kctd13b +wikidata Q2207226 WD_Entity WD_Entity:Q2207226 +wikidata Q2207226 wd wd:Q2207226 +wikidata Q2207226 wikidata wikidata:Q2207226 +wikidata.property P4355 wikidata.property wikidata.property:P4355 +wikigenes 3771877 wikigenes wikigenes:3771877 +wikipathways WP732 wikipathways wikipathways:WP732 +wikipedia.en SM_UB-81 wikipedia wikipedia:SM_UB-81 +wikipedia.en SM_UB-81 wikipedia.en wikipedia.en:SM_UB-81 +worfdb T01B6.1 worfdb worfdb:T01B6.1 +wormbase WBGene00000001 WB_REF WB_REF:WBGene00000001 +wormbase WBGene00000001 WormBase WormBase:WBGene00000001 +wormbase WBGene00000001 wb wb:WBGene00000001 +wormbase WBGene00000001 wormbase wormbase:WBGene00000001 +wormpep CE28239 wormpep wormpep:CE28239 +worms 146421 worms worms:146421 +wwf.ecoregion AT1402 WWF WWF:AT1402 +wwf.ecoregion AT1402 wwf.ecoregion wwf.ecoregion:AT1402 +xao 0004486 XAO XAO:0004486 +xao 0004486 xao xao:0004486 +xco 0000780 XCO XCO:0000780 +xco 0000780 xco xco:0000780 +xenbase XB-GENE-922462 Xenbase Xenbase:XB-GENE-922462 +xenbase XB-GENE-922462 xenbase xenbase:XB-GENE-922462 +ximbio 151022 ximbio ximbio:151022 +xlmod 00050 XLMOD XLMOD:00050 +xlmod 00050 xlmod xlmod:00050 +xmetdb 171 xmetdb xmetdb:171 +xmetdb 171 xmetdb XMETDB: xmetdb:XMETDB:171 +xml lang xml xml:lang +xpo 0100002 XPO XPO:0100002 +xpo 0100002 xpo xpo:0100002 +xsd decimal xsd xsd:decimal +ydpm YAL001C ydpm ydpm:YAL001C +yeastintron SNR17A yeastintron yeastintron:SNR17A +yetfasco YOR172W_571.0 yetfasco yetfasco:YOR172W_571.0 +yid SNR17A yid yid:SNR17A +ymdb YMDB00001 ymdb ymdb:YMDB00001 +yrcpdr 2673500 yrcpdr yrcpdr:2673500 +zeco 0000171 ZECO ZECO:0000171 +zeco 0000171 zeco zeco:0000171 +zenodo.record 4390079 zenodo zenodo:4390079 +zenodo.record 4390079 zenodo.record zenodo.record:4390079 +zfa 0005926 ZFA ZFA:0005926 +zfa 0005926 ZFA_RETIRED ZFA_RETIRED:0005926 +zfa 0005926 zfa zfa:0005926 +zfin ZDB-GENE-041118-11 ZFIN ZFIN:ZDB-GENE-041118-11 +zfin ZDB-GENE-041118-11 zfin zfin:ZDB-GENE-041118-11 +zfs 0000050 ZFS ZFS:0000050 +zfs 0000050 zfs zfs:0000050 +zinc ZINC1084 zinc zinc:ZINC1084 +zp 0019030 ZP ZP:0019030 +zp 0019030 zp zp:0019030 \ No newline at end of file diff --git a/exports/benchmarks/curie_parsing/results.svg b/exports/benchmarks/curie_parsing/results.svg new file mode 100644 index 000000000..9165b21cf --- /dev/null +++ b/exports/benchmarks/curie_parsing/results.svg @@ -0,0 +1,1908 @@ + + + + + + + + 2022-08-12T00:12:06.334949 + image/svg+xml + + + Matplotlib v3.5.2, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/bioregistry/benchmarks/curie_parsing.py b/src/bioregistry/benchmarks/curie_parsing.py new file mode 100644 index 000000000..9462613e7 --- /dev/null +++ b/src/bioregistry/benchmarks/curie_parsing.py @@ -0,0 +1,76 @@ +"""A benchmark for Bioregistry's CURIE parser.""" + +import time +from typing import Iterable, Tuple + +import matplotlib.pyplot as plt +import seaborn as sns +from tqdm import tqdm + +import bioregistry +from bioregistry import manager +from bioregistry.constants import CURIE_PARSING_DATA_PATH, CURIE_PARSING_SVG_PATH +import itertools as itt + + +def get_curies(rebuild: bool = True): + """Get prefix-identifier-banana-curie tuples for benchmarking.""" + if CURIE_PARSING_DATA_PATH.is_file() and not rebuild: + return [line.strip().split("\t") for line in CURIE_PARSING_DATA_PATH.read_text().splitlines()] + rows = sorted(set(iter_curies())) + CURIE_PARSING_DATA_PATH.write_text("\n".join("\t".join(line) for line in rows)) + return rows + + +def iter_curies() -> Iterable[Tuple[str, str, str, str]]: + """Generate prefix-identifier-banana-curie tuples for benchmarking.""" + for prefix, resource in tqdm( + manager.registry.items(), desc="Generating test CURIEs", unit="prefix" + ): + examples = resource.get_examples() + prefixes = [prefix] + preferred_prefix = resource.get_preferred_prefix() + if preferred_prefix: + prefixes.append(preferred_prefix) + for synonym in resource.get_synonyms(): + if " " in synonym: + continue + if ":" in synonym: + continue + prefixes.append(synonym) + for p, e in itt.product(prefixes, examples): + yield prefix, e, p, "", f"{p}:{e}" + + banana = resource.get_banana() + if banana is not None: + peel = resource.get_banana_peel() + banana_extended = f"{banana}{peel}" + for p, e in itt.product(prefixes, examples): + example_extended = f"{banana_extended}{e}" + yield prefix, e, p, banana_extended, f"{p}:{example_extended}" + + +def main(rebuild: bool = False): + """Test parsing CURIEs.""" + curies = get_curies(rebuild=rebuild) + + # warm up cache + bioregistry.parse_curie("DRON:00023232") + + times = [] + for prefix, synonym, identifier, banana, curie in tqdm(curies, unit_scale=True, unit="URI"): + start = time.time() + p, i = bioregistry.parse_curie(curie) + times.append(time.time() - start) + if p != prefix or i != identifier: + tqdm.write(f"failed on {curie} to get {prefix}:{identifier}") + + fig, ax = plt.subplots() + sns.histplot(data=times, ax=ax, log_scale=True) + ax.set_xlabel("Time (seconds)") + ax.set_title("Bioregistry CURIE Parsing Benchmark") + fig.savefig(CURIE_PARSING_SVG_PATH) + + +if __name__ == "__main__": + main() diff --git a/src/bioregistry/constants.py b/src/bioregistry/constants.py index 6ebbe2536..4375f9993 100644 --- a/src/bioregistry/constants.py +++ b/src/bioregistry/constants.py @@ -78,11 +78,17 @@ TABLES_SUMMARY_LATEX_PATH = EXPORT_TABLES.joinpath("summary.tex") BENCHMARKS = EXPORT_DIRECTORY.joinpath("benchmarks") + URI_PARSING = BENCHMARKS.joinpath("uri_parsing") URI_PARSING.mkdir(exist_ok=True, parents=True) URI_PARSING_DATA_PATH = URI_PARSING.joinpath("data.tsv") URI_PARSING_SVG_PATH = URI_PARSING.joinpath("results.svg") +CURIE_PARSING = BENCHMARKS.joinpath("curie_parsing") +CURIE_PARSING.mkdir(exist_ok=True, parents=True) +CURIE_PARSING_DATA_PATH = CURIE_PARSING.joinpath("data.tsv") +CURIE_PARSING_SVG_PATH = CURIE_PARSING.joinpath("results.svg") + #: The URL of the remote Bioregistry site BIOREGISTRY_REMOTE_URL = pystow.get_config("bioregistry", "url") or "https://bioregistry.io" diff --git a/src/bioregistry/schema/struct.py b/src/bioregistry/schema/struct.py index c8de4771d..4a7a62b30 100644 --- a/src/bioregistry/schema/struct.py +++ b/src/bioregistry/schema/struct.py @@ -849,6 +849,15 @@ def get_example(self) -> Optional[str]: return example return None + def get_examples(self) -> List[str]: + """Get a list of examples.""" + rv = [] + example = self.get_example() + if example: + rv.append(example) + rv.extend(self.example_extras or []) + return rv + def get_example_curie(self, use_preferred: bool = False) -> Optional[str]: """Get an example CURIE, if an example identifier is available. From 56e267e4c536890da960f8dffc5e634af6f7f0cd Mon Sep 17 00:00:00 2001 From: Charles Tapley Hoyt Date: Fri, 12 Aug 2022 00:33:48 +0200 Subject: [PATCH 2/5] Update pages --- exports/benchmarks/README.md | 9 +- exports/benchmarks/curie_parsing/README.md | 32 + exports/benchmarks/curie_parsing/results.svg | 1539 +++++++----- exports/benchmarks/uri_parsing/results.svg | 2254 +++++++++++++----- src/bioregistry/benchmarks/curie_parsing.py | 34 +- src/bioregistry/benchmarks/uri_parsing.py | 15 +- 6 files changed, 2719 insertions(+), 1164 deletions(-) create mode 100644 exports/benchmarks/curie_parsing/README.md diff --git a/exports/benchmarks/README.md b/exports/benchmarks/README.md index ce319e9c2..3c142aa5b 100644 --- a/exports/benchmarks/README.md +++ b/exports/benchmarks/README.md @@ -2,5 +2,12 @@ 1. The [`uri_parsing`](uri_parsing) benchmark checks the `bioregistry.parse_iri` function. See also https://github.com/biopragmatics/bioregistry/pull/481. -2. The [`curie_parsing`](curie_parsing) benchmark checks the `bioregistry.parse_curie` +2. The [`curie_parsing`](curie_parsing) benchmark checks + the `bioregistry.parse_curie` function. + +## Overview + +| something | other | +|------------------------------|--------------------------------| +| ![](uri_parsing/results.svg) | ![](curie_parsing/results.svg) | diff --git a/exports/benchmarks/curie_parsing/README.md b/exports/benchmarks/curie_parsing/README.md new file mode 100644 index 000000000..ee7e608e1 --- /dev/null +++ b/exports/benchmarks/curie_parsing/README.md @@ -0,0 +1,32 @@ +# CURIE Parsing Benchmark + +This benchmark checks the `bioregistry.parse_curie` function. + +## Dataset + +The benchmarking dataset is available in [`data.tsv`](data.tsv). It contains +5 columns: + +1. `prefix` - a canonical Bioregistry prefix +2. `identifier` - a local unique identifier in the prefix's semantic space +3. `prefix_synonym` - the synonym of the canonical prefix being used +4. `banana` - the banana being used (i.e., redundant prefix in local identifier) +5. `curie` - the CURIE for the prefix_synonym-banana-identifier triple + +Example data: + +| prefix | identifier | prefix_synonym | banana | curie | +|---------------|--------------|----------------|--------|----------------------------| +| 3dmet | B00162 | 3dmet | | 3dmet:B00162 | +| 4dn.biosource | 4DNSR73BT2A2 | 4DN | | 4DN:4DNSR73BT2A2 | +| 4dn.biosource | 4DNSR73BT2A2 | 4dn.biosource | | 4dn.biosource:4DNSR73BT2A2 | +| 4dn.replicate | 4DNESWX1J3QU | 4dn.replicate | | 4dn.replicate:4DNESWX1J3QU | +| abcd | AD834 | abcd | | abcd:AD834 | +| cco | 0000003 | cco | | cco:0000003 | +| cco | 0000003 | cco | CCO: | cco:CCO:0000003 | + +## Results + +Most parsing goes pretty fast (average around 4,000 CURIE/second). + +![](results.svg) diff --git a/exports/benchmarks/curie_parsing/results.svg b/exports/benchmarks/curie_parsing/results.svg index 9165b21cf..047ce1242 100644 --- a/exports/benchmarks/curie_parsing/results.svg +++ b/exports/benchmarks/curie_parsing/results.svg @@ -6,7 +6,7 @@ - 2022-08-12T00:12:06.334949 + 2022-08-12T00:31:59.774775 image/svg+xml @@ -39,723 +39,1011 @@ z +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +" clip-path="url(#pf45a01dc9e)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.261818; stroke-linejoin: miter"/> - - + - + - + - + - + - + - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + @@ -1333,14 +1635,14 @@ z - + - - + @@ -1351,14 +1653,29 @@ L -3.5 0 - + - + - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + - + - + - - - - - - - + + + + + - + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + + + + - + @@ -1582,29 +1830,34 @@ z - + + + + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/exports/benchmarks/uri_parsing/results.svg b/exports/benchmarks/uri_parsing/results.svg index e9710b9c7..191de6336 100644 --- a/exports/benchmarks/uri_parsing/results.svg +++ b/exports/benchmarks/uri_parsing/results.svg @@ -6,7 +6,7 @@ - 2022-07-29T14:28:33.408729 + 2022-08-12T00:31:51.466345 image/svg+xml @@ -39,523 +39,1603 @@ z +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + +" clip-path="url(#p77d99cf81d)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.163967; stroke-linejoin: miter"/> - - + - + - + - + - + - + + + + - - - - - - - - - - - - - + - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -1273,17 +2234,17 @@ z - + - - + - + @@ -1291,89 +2252,70 @@ L -3.5 0 - - - - - - - - - - - - - - - - + - + - + - + + + + - - - - - - - - - - - - - - - - - + + - + - + - + - - - - - - - - - - - - - - - - - + + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/src/bioregistry/benchmarks/curie_parsing.py b/src/bioregistry/benchmarks/curie_parsing.py index 9462613e7..3a88594a0 100644 --- a/src/bioregistry/benchmarks/curie_parsing.py +++ b/src/bioregistry/benchmarks/curie_parsing.py @@ -1,6 +1,9 @@ """A benchmark for Bioregistry's CURIE parser.""" +import itertools as itt +import random import time +from statistics import mean from typing import Iterable, Tuple import matplotlib.pyplot as plt @@ -10,13 +13,14 @@ import bioregistry from bioregistry import manager from bioregistry.constants import CURIE_PARSING_DATA_PATH, CURIE_PARSING_SVG_PATH -import itertools as itt def get_curies(rebuild: bool = True): """Get prefix-identifier-banana-curie tuples for benchmarking.""" if CURIE_PARSING_DATA_PATH.is_file() and not rebuild: - return [line.strip().split("\t") for line in CURIE_PARSING_DATA_PATH.read_text().splitlines()] + return [ + line.strip().split("\t") for line in CURIE_PARSING_DATA_PATH.read_text().splitlines() + ] rows = sorted(set(iter_curies())) CURIE_PARSING_DATA_PATH.write_text("\n".join("\t".join(line) for line in rows)) return rows @@ -50,7 +54,7 @@ def iter_curies() -> Iterable[Tuple[str, str, str, str]]: yield prefix, e, p, banana_extended, f"{p}:{example_extended}" -def main(rebuild: bool = False): +def main(rebuild: bool = False, epochs: int = 3): """Test parsing CURIEs.""" curies = get_curies(rebuild=rebuild) @@ -58,17 +62,27 @@ def main(rebuild: bool = False): bioregistry.parse_curie("DRON:00023232") times = [] - for prefix, synonym, identifier, banana, curie in tqdm(curies, unit_scale=True, unit="URI"): - start = time.time() - p, i = bioregistry.parse_curie(curie) - times.append(time.time() - start) - if p != prefix or i != identifier: - tqdm.write(f"failed on {curie} to get {prefix}:{identifier}") + failures = 0 + for _ in range(epochs): + random.shuffle(curies) + for prefix, identifier, _synonym, _banana, curie in tqdm( + curies, unit_scale=True, unit="CURIE" + ): + start = time.time() + p, i = bioregistry.parse_curie(curie) + times.append(time.time() - start) + if p != prefix or i != identifier: + failures += 1 + tqdm.write(f"failed on {curie} to get {prefix}:{identifier}") fig, ax = plt.subplots() sns.histplot(data=times, ax=ax, log_scale=True) + m = mean(times) + ax.axvline(m) ax.set_xlabel("Time (seconds)") - ax.set_title("Bioregistry CURIE Parsing Benchmark") + ax.set_title( + f"Bioregistry CURIE Parsing Benchmark\nAverage: {round(1/m):,} CURIE/s, Errors: {failures // epochs}" + ) fig.savefig(CURIE_PARSING_SVG_PATH) diff --git a/src/bioregistry/benchmarks/uri_parsing.py b/src/bioregistry/benchmarks/uri_parsing.py index bac7f8eff..36072339f 100644 --- a/src/bioregistry/benchmarks/uri_parsing.py +++ b/src/bioregistry/benchmarks/uri_parsing.py @@ -1,6 +1,7 @@ """A benchmark for Bioregistry's URI parser.""" import time +from statistics import mean from typing import Iterable, Tuple import matplotlib.pyplot as plt @@ -38,7 +39,7 @@ def iter_uris() -> Iterable[Tuple[str, str, str, str]]: yield prefix, extra_example, metaprefix, url -def main(rebuild: bool = False): +def main(rebuild: bool = False, epochs: int = 3): """Test parsing IRIs.""" uris = get_uris(rebuild=rebuild) @@ -46,15 +47,17 @@ def main(rebuild: bool = False): bioregistry.parse_iri("https://bioregistry.io/DRON:00023232") times = [] - for _, _, _, url in tqdm(uris, unit_scale=True, unit="URI"): - start = time.time() - bioregistry.parse_iri(url) - times.append(time.time() - start) + for _ in range(epochs): + for _, _, _, url in tqdm(uris, unit_scale=True, unit="URI"): + start = time.time() + bioregistry.parse_iri(url) + times.append(time.time() - start) fig, ax = plt.subplots() + mean_time = mean(times) sns.histplot(data=times, ax=ax, log_scale=True) ax.set_xlabel("Time (seconds)") - ax.set_title("Bioregistry URI Parsing Benchmark") + ax.set_title(f"Bioregistry URI Parsing Benchmark\nAverage: {round(1 / mean_time):,} URI/s") fig.savefig(URI_PARSING_SVG_PATH) From 37481699dd1afc6b6a02e6473defef74b9ab7106 Mon Sep 17 00:00:00 2001 From: Charles Tapley Hoyt Date: Fri, 12 Aug 2022 00:36:23 +0200 Subject: [PATCH 3/5] Add more epochs to benchmark --- exports/benchmarks/curie_parsing/results.svg | 2291 +++++++++----- exports/benchmarks/uri_parsing/results.svg | 2836 ++++++++++-------- src/bioregistry/benchmarks/curie_parsing.py | 2 +- src/bioregistry/benchmarks/uri_parsing.py | 2 +- 4 files changed, 3212 insertions(+), 1919 deletions(-) diff --git a/exports/benchmarks/curie_parsing/results.svg b/exports/benchmarks/curie_parsing/results.svg index 047ce1242..53b4d98fe 100644 --- a/exports/benchmarks/curie_parsing/results.svg +++ b/exports/benchmarks/curie_parsing/results.svg @@ -6,7 +6,7 @@ - 2022-08-12T00:31:59.774775 + 2022-08-12T00:35:54.755937 image/svg+xml @@ -39,1011 +39,1763 @@ z +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +" clip-path="url(#p46b5e3f3bc)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.148924; stroke-linejoin: miter"/> - - + - + - + - + - + - + - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1637,12 +2389,12 @@ z - - + @@ -1655,27 +2407,12 @@ L -3.5 0 - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - - - + + + + + + @@ -1726,13 +2510,54 @@ z - + - - - + + + + + + @@ -1741,21 +2566,38 @@ z - + - - - + + + + + + + + + + + + + + + + + + + + - + - + - + + - + - + - + - + - + @@ -2150,7 +2992,7 @@ z - + - - - + - - - + + + @@ -2296,7 +3089,7 @@ z - + diff --git a/exports/benchmarks/uri_parsing/results.svg b/exports/benchmarks/uri_parsing/results.svg index 191de6336..18303d5d9 100644 --- a/exports/benchmarks/uri_parsing/results.svg +++ b/exports/benchmarks/uri_parsing/results.svg @@ -6,7 +6,7 @@ - 2022-08-12T00:31:51.466345 + 2022-08-12T00:36:12.383596 image/svg+xml @@ -39,1603 +39,2187 @@ z +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +" clip-path="url(#p5d2e8cb5c6)" style="fill: #1f77b4; fill-opacity: 0.75; stroke: #000000; stroke-width: 0.119799; stroke-linejoin: miter"/> - - + - + - + - + - + - + - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - + @@ -2234,14 +2804,14 @@ z - + - - + @@ -2252,175 +2822,105 @@ L -3.5 0 - + - + - - - - - - + + + - + - + - - - + + + + - + - + - - - - - - - + + + + + - + - + - - + + - - + + - + - + - - - - + + + + @@ -2503,22 +3003,22 @@ z - + - + - + - + @@ -2801,7 +3301,7 @@ z - + - - + + @@ -2895,7 +3395,7 @@ z - + diff --git a/src/bioregistry/benchmarks/curie_parsing.py b/src/bioregistry/benchmarks/curie_parsing.py index 3a88594a0..189b4d675 100644 --- a/src/bioregistry/benchmarks/curie_parsing.py +++ b/src/bioregistry/benchmarks/curie_parsing.py @@ -54,7 +54,7 @@ def iter_curies() -> Iterable[Tuple[str, str, str, str]]: yield prefix, e, p, banana_extended, f"{p}:{example_extended}" -def main(rebuild: bool = False, epochs: int = 3): +def main(rebuild: bool = False, epochs: int = 10): """Test parsing CURIEs.""" curies = get_curies(rebuild=rebuild) diff --git a/src/bioregistry/benchmarks/uri_parsing.py b/src/bioregistry/benchmarks/uri_parsing.py index 36072339f..701fc54df 100644 --- a/src/bioregistry/benchmarks/uri_parsing.py +++ b/src/bioregistry/benchmarks/uri_parsing.py @@ -39,7 +39,7 @@ def iter_uris() -> Iterable[Tuple[str, str, str, str]]: yield prefix, extra_example, metaprefix, url -def main(rebuild: bool = False, epochs: int = 3): +def main(rebuild: bool = False, epochs: int = 10): """Test parsing IRIs.""" uris = get_uris(rebuild=rebuild) From 8be2bda9fd855ec16a5cf4ce446ffe897e3e390f Mon Sep 17 00:00:00 2001 From: Charles Tapley Hoyt Date: Fri, 12 Aug 2022 00:39:16 +0200 Subject: [PATCH 4/5] Update README.md --- exports/benchmarks/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exports/benchmarks/README.md b/exports/benchmarks/README.md index 3c142aa5b..b881a3ca4 100644 --- a/exports/benchmarks/README.md +++ b/exports/benchmarks/README.md @@ -8,6 +8,6 @@ ## Overview -| something | other | +| URI Parsing | CURIE Parsing | |------------------------------|--------------------------------| | ![](uri_parsing/results.svg) | ![](curie_parsing/results.svg) | From 0a5337c58e120623151ab5ac7d6524818273a44d Mon Sep 17 00:00:00 2001 From: Charles Tapley Hoyt Date: Fri, 12 Aug 2022 00:39:21 +0200 Subject: [PATCH 5/5] Pass mypy --- src/bioregistry/benchmarks/curie_parsing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bioregistry/benchmarks/curie_parsing.py b/src/bioregistry/benchmarks/curie_parsing.py index 189b4d675..58fd3a962 100644 --- a/src/bioregistry/benchmarks/curie_parsing.py +++ b/src/bioregistry/benchmarks/curie_parsing.py @@ -26,7 +26,7 @@ def get_curies(rebuild: bool = True): return rows -def iter_curies() -> Iterable[Tuple[str, str, str, str]]: +def iter_curies() -> Iterable[Tuple[str, str, str, str, str]]: """Generate prefix-identifier-banana-curie tuples for benchmarking.""" for prefix, resource in tqdm( manager.registry.items(), desc="Generating test CURIEs", unit="prefix"