PaperBLAST – Find papers about a protein or its homologs

 

PaperBLAST

PaperBLAST Hits for SwissProt::C0ZUQ6 Deoxyribose-phosphate aldolase; DERA; 2-deoxy-D-ribose 5-phosphate aldolase; Phosphodeoxyriboaldolase; Deoxyriboaldolase; EC 4.1.2.4 (Rhodococcus erythropolis (strain PR4 / NBRC 100887)) (221 a.a., MSEAALTRSQ...)

Other sequence analysis tools:

Find functional residues: SitesBLAST

Search for conserved domains

Find the best match in UniProt

Compare to protein structures

Predict transmenbrane helices: Phobius

Predict protein localization: PSORTb

Find homologs in fast.genomics

Fitness BLAST: loading...

Found 99 similar proteins in the literature:

DEOC_RHOE4 / C0ZUQ6 Deoxyribose-phosphate aldolase; DERA; 2-deoxy-D-ribose 5-phosphate aldolase; Phosphodeoxyriboaldolase; Deoxyriboaldolase; EC 4.1.2.4 from Rhodococcus erythropolis (strain PR4 / NBRC 100887) (see paper)
C0ZUQ6 deoxyribose-phosphate aldolase (EC 4.1.2.4) from Rhodococcus erythropolis (see paper)
100% identity, 100% coverage

ML2451 deoxyribose-phosphate aldolase from Mycobacterium leprae TN
62% identity, 95% coverage

CpC231_0165 deoxyribose-phosphate aldolase from Corynebacterium pseudotuberculosis C231
D9QDT7 Deoxyribose-phosphate aldolase from Corynebacterium pseudotuberculosis (strain C231)
59% identity, 98% coverage

MSMEG_3089 deoxyribose-phosphate aldolase from Mycobacterium smegmatis str. MC2 155
65% identity, 90% coverage

Rv0478 deoxyribose-phosphate aldolase from Mycobacterium tuberculosis H37Rv
65% identity, 96% coverage

FRAAL1197 2-deoxyribose-5-phosphate aldolase, NAD(P)-linked from Frankia alni ACN14a
52% identity, 94% coverage

cg0458 deoxyribose-phosphate aldolase from Corynebacterium glutamicum ATCC 13032
50% identity, 96% coverage

LLKF_1546 deoxyribose-phosphate aldolase from Lactococcus lactis subsp. lactis KF147
44% identity, 95% coverage

RBAM_036480 DeoC from Bacillus amyloliquefaciens FZB42
48% identity, 94% coverage

BC_1820 deoxyribose-phosphate aldolase from Bacillus cereus ATCC 14579
46% identity, 93% coverage

DEOC_THEKO / Q877I0 Deoxyribose-phosphate aldolase; DERA; 2-deoxy-D-ribose 5-phosphate aldolase; Phosphodeoxyriboaldolase; Deoxyriboaldolase; EC 4.1.2.4 from Thermococcus kodakarensis (strain ATCC BAA-918 / JCM 12380 / KOD1) (Pyrococcus kodakaraensis (strain KOD1)) (see paper)
Q877I0 deoxyribose-phosphate aldolase (EC 4.1.2.4) from Thermococcus kodakarensis (see paper)
TK2104 deoxyribose-phosphate aldolase from Thermococcus kodakaraensis KOD1
46% identity, 96% coverage

BCE_1975 deoxyribose-phosphate aldolase from Bacillus cereus ATCC 10987
46% identity, 93% coverage

EF0174 deoxyribose-phosphate aldolase from Enterococcus faecalis V583
47% identity, 94% coverage

SSA_1036 Deoxyribose-phosphate aldolase, putative from Streptococcus sanguinis SK36
47% identity, 95% coverage

lmo1995 similar to deoxyribose-phosphate aldolase from Listeria monocytogenes EGD-e
46% identity, 93% coverage

SGO_1080 deoxyribose-phosphate aldolase from Streptococcus gordonii str. Challis substr. CH1
A8AX59 Deoxyribose-phosphate aldolase from Streptococcus gordonii (strain Challis / ATCC 35105 / BCRC 15272 / CH1 / DL1 / V288)
46% identity, 95% coverage

C7E719 deoxyribose-phosphate aldolase (EC 4.1.2.4) from Paenibacillus sp. (see paper)
46% identity, 95% coverage

Cbei_3120 deoxyribose-phosphate aldolase from Clostridium beijerincki NCIMB 8052
46% identity, 94% coverage

DEOC_BACSU / P39121 Deoxyribose-phosphate aldolase; DERA; 2-deoxy-D-ribose 5-phosphate aldolase; Phosphodeoxyriboaldolase; Deoxyriboaldolase; EC 4.1.2.4 from Bacillus subtilis (strain 168) (see paper)
44% identity, 93% coverage

TTE0975 Deoxyribose-phosphate aldolase from Thermoanaerobacter tengcongensis MB4
46% identity, 87% coverage

DR1205, DR_1205 deoxyribose-phosphate aldolase from Deinococcus radiodurans R1
50% identity, 90% coverage

D5AHU8 deoxyribose-phosphate aldolase (EC 4.1.2.4) from Streptococcus suis (see paper)
43% identity, 95% coverage

BH1352 deoxyribose-phosphate aldolase from Bacillus halodurans C-125
45% identity, 95% coverage

SSU0936 deoxyribose-phosphate aldolase from Streptococcus suis P1/7
43% identity, 95% coverage

EHI_121800 deoxyribose-phosphate aldolase, putative from Entamoeba histolytica HM-1:IMSS
44% identity, 97% coverage

3ngjD / C4M5C6 Crystal structure of a putative deoxyribose-phosphate aldolase from entamoeba histolytica
44% identity, 97% coverage

DEOC_ACIB4 / B5IEU6 Deoxyribose-phosphate aldolase; DERA; 2-deoxy-D-ribose 5-phosphate aldolase; Phosphodeoxyriboaldolase; Deoxyriboaldolase; EC 4.1.2.4 from Aciduliprofundum boonei (strain DSM 19572 / T469)
46% identity, 95% coverage

HI1116 deoxyribose-phosphate aldolase (deoC) from Haemophilus influenzae Rd KW20
43% identity, 97% coverage

SPD_0737 deoxyribose-phosphate aldolase from Streptococcus pneumoniae D39
45% identity, 95% coverage

BHWA1_01546 Deoxyribose-phosphate aldolase from Brachyspira hyodysenteriae WA1
43% identity, 94% coverage

CBG46_05965 deoxyribose-phosphate aldolase from Actinobacillus succinogenes
45% identity, 95% coverage

SERP1745 deoxyribose-phosphate aldolase from Staphylococcus epidermidis RP62A
42% identity, 94% coverage

SAUSA300_2090 deoxyribose-phosphate aldolase from Staphylococcus aureus subsp. aureus USA300_FPR3757
43% identity, 94% coverage

SAR0140 deoxyribose-phosphate aldolase from Staphylococcus aureus subsp. aureus MRSA252
43% identity, 95% coverage

Q8NVF5 Deoxyribose-phosphate aldolase 2 from Staphylococcus aureus (strain MW2)
43% identity, 94% coverage

SA1939 deoxyribose-phosphate aldolase from Staphylococcus aureus subsp. aureus N315
P99174 Deoxyribose-phosphate aldolase 2 from Staphylococcus aureus (strain N315)
43% identity, 94% coverage

SA0133 deoxyribose-phosphate aldolase from Staphylococcus aureus subsp. aureus N315
NP_370662 deoxyribose-phosphate aldolase from Staphylococcus aureus subsp. aureus Mu50
KMZ21_00450, NWMN_RS00465 deoxyribose-phosphate aldolase from Staphylococcus aureus subsp. aureus str. Newman
43% identity, 95% coverage

Q9AIP7 deoxyribose-phosphate aldolase (EC 4.1.2.4) from Streptococcus mutans (see paper)
44% identity, 95% coverage

deoC / C0LSK9 deoxyribose-phosphate aldolase (EC 4.1.2.4) from Yersinia sp. EA015 (see paper)
C0LSK9 deoxyribose-phosphate aldolase (EC 4.1.2.4) from Yersinia sp. EA015 (see paper)
45% identity, 94% coverage

Mfl121 deoxyribose-phosphate aldolase from Mesoplasma florum L1
42% identity, 95% coverage

Cthe_1943 deoxyribose-phosphate aldolase from Clostridium thermocellum ATCC 27405
42% identity, 94% coverage

LGG_00321 deoxyribose-phosphate aldolase from Lacticaseibacillus rhamnosus GG
LGG_00321 deoxyribose-phosphate aldolase (phosphodeoxyriboaldolase), DERA from Lactobacillus rhamnosus GG
44% identity, 93% coverage

D1J8C1 Deoxyribose-phosphate aldolase from Metamycoplasma hominis (strain ATCC 23114 / DSM 25592 / NBRC 14850 / NCTC 10111 / PG21)
38% identity, 95% coverage

DEOC_THEMA / Q9X1P5 Deoxyribose-phosphate aldolase; DERA; 2-deoxy-D-ribose 5-phosphate aldolase; Phosphodeoxyriboaldolase; Deoxyriboaldolase; EC 4.1.2.4 from Thermotoga maritima (strain ATCC 43589 / DSM 3109 / JCM 10099 / NBRC 100826 / MSB8) (see paper)
TM1559 deoxyribose-phosphate aldolase from Thermotoga maritima MSB8
43% identity, 85% coverage

LSA0795 2 Deoxyribose-5 phosphate aldolase from Lactobacillus sakei subsp. sakei 23K
46% identity, 91% coverage

DEOC_THET8 / Q5SJ28 Deoxyribose-phosphate aldolase; DERA; 2-deoxy-D-ribose 5-phosphate aldolase; Phosphodeoxyriboaldolase; Deoxyriboaldolase; EC 4.1.2.4 from Thermus thermophilus (strain ATCC 27634 / DSM 579 / HB8) (see paper)
46% identity, 94% coverage

1ub3A / Q5SJ28 Crystal structure of tetrameric structure of aldolase from thermus thermophilus hb8 (see paper)
47% identity, 90% coverage

DEOC_PSEU2 / Q4ZMV1 Deoxyribose-phosphate aldolase; DERA; 2-deoxy-D-ribose 5-phosphate aldolase; Phosphodeoxyriboaldolase; Deoxyriboaldolase; EC 4.1.2.4 from Pseudomonas syringae pv. syringae (strain B728a) (see paper)
45% identity, 95% coverage

DEOC_STRP6 / Q5XA31 Deoxyribose-phosphate aldolase; DERA; 2-deoxy-D-ribose 5-phosphate aldolase; Phosphodeoxyriboaldolase; Deoxyriboaldolase; EC 4.1.2.4 from Streptococcus pyogenes serotype M6 (strain ATCC BAA-946 / MGAS10394)
42% identity, 88% coverage

Mfl639 deoxyribose-phosphate aldolase from Mesoplasma florum L1
36% identity, 94% coverage

GBSCOH1_RS09680 deoxyribose-phosphate aldolase from Streptococcus agalactiae COH1
41% identity, 88% coverage

TP0264 deoxyribose-phosphate aldolase (deoC) from Treponema pallidum subsp. pallidum str. Nichols
36% identity, 94% coverage

MGA_0363 deoxyribose-phosphate aldolase from Mycoplasma gallisepticum str. R(low)
36% identity, 92% coverage

MPN063 deoxyribose-phosphate aldolase from Mycoplasma pneumoniae M129
35% identity, 92% coverage

sll1776 deoxyribose-phosphate aldolase from Synechocystis sp. PCC 6803
40% identity, 89% coverage

Pcar_2321 deoxyribose-phosphate aldolase from Pelobacter carbinolicus str. DSM 2380
39% identity, 90% coverage

LJ1661 deoxyribose-phosphate aldolase from Lactobacillus johnsonii NCC 533
32% identity, 90% coverage

mru_1685 deoxyribose-phosphate aldolase DeoC from Methanobrevibacter ruminantium M1
34% identity, 90% coverage

Ta0684 deoxyribose-phosphate aldolase related protein from Thermoplasma acidophilum DSM 1728
31% identity, 86% coverage

SCO4914 deoxyribose-phosphate aldolase from Streptomyces coelicolor A3(2)
44% identity, 48% coverage

A0A1Q2T258 deoxyribose-phosphate aldolase (EC 4.1.2.4) from Haloarcula japonica (see paper)
37% identity, 85% coverage

KPN_01702 deoxyribose-phosphate aldolase from Klebsiella pneumoniae subsp. pneumoniae MGH 78578
34% identity, 82% coverage

KP1_RS12840 deoxyribose-phosphate aldolase from Klebsiella pneumoniae subsp. pneumoniae NTUH-K2044
34% identity, 82% coverage

DEOC_AERPE / Q9Y948 Deoxyribose-phosphate aldolase; DERA; 2-deoxy-D-ribose 5-phosphate aldolase; Phosphodeoxyriboaldolase; Deoxyriboaldolase; EC 4.1.2.4 from Aeropyrum pernix (strain ATCC 700893 / DSM 11879 / JCM 9820 / NBRC 100138 / K1) (see paper)
35% identity, 89% coverage

SACE_6564 putative deoxyribose-phosphate aldolase from Saccharopolyspora erythraea NRRL 2338
39% identity, 58% coverage

A5F5S6 Deoxyribose-phosphate aldolase from Vibrio cholerae serotype O1 (strain ATCC 39541 / Classical Ogawa 395 / O395)
VC2350 deoxyribose-phosphate aldolase from Vibrio cholerae O1 biovar eltor str. N16961
33% identity, 80% coverage

PMI2416 deoxyribose-phosphate aldolase from Proteus mirabilis HI4320
34% identity, 73% coverage

YPK_3627 deoxyribose-phosphate aldolase from Yersinia pseudotuberculosis YPIII
33% identity, 71% coverage

PG1996 deoxyribose-phosphate aldolase from Porphyromonas gingivalis W83
39% identity, 58% coverage

VP2436 deoxyribose-phosphate aldolase from Vibrio parahaemolyticus RIMD 2210633
34% identity, 76% coverage

VDA_002812 deoxyribose-phosphate aldolase from Photobacterium damselae subsp. damselae CIP 102761
35% identity, 72% coverage

Q91YP3 Deoxyribose-phosphate aldolase from Mus musculus
35% identity, 52% coverage

MHA_0097 deoxyribose-phosphate aldolase from Mannheimia haemolytica PHL213
33% identity, 76% coverage

DEOC_HUMAN / Q9Y315 Deoxyribose-phosphate aldolase; DERA; 2-deoxy-D-ribose 5-phosphate aldolase; Phosphodeoxyriboaldolase; Deoxyriboaldolase; EC 4.1.2.4 from Homo sapiens (Human) (see paper)
Q9Y315 deoxyribose-phosphate aldolase (EC 4.1.2.4) from Homo sapiens (see paper)
NP_057038 deoxyribose-phosphate aldolase isoform 1 from Homo sapiens
34% identity, 52% coverage

STY4918 deoxyribose-phosphate aldolase from Salmonella enterica subsp. enterica serovar Typhi str. CT18
32% identity, 71% coverage

STM4567 2-deoxyribose-5-phosphate aldolase from Salmonella typhimurium LT2
32% identity, 71% coverage

Q8Z0U3 Deoxyribose-phosphate aldolase from Salmonella typhi
32% identity, 73% coverage

DEOC_SALTY / Q8ZJV8 Deoxyribose-phosphate aldolase; DERA; 2-deoxy-D-ribose 5-phosphate aldolase; Phosphodeoxyriboaldolase; Deoxyriboaldolase; EC 4.1.2.4 from Salmonella typhimurium (strain LT2 / SGSC1412 / ATCC 700720) (see paper)
32% identity, 73% coverage

Q7WT44 deoxyribose-phosphate aldolase (EC 4.1.2.4) from Klebsiella pneumoniae (see paper)
31% identity, 78% coverage

F1M1H0 deoxyribose-phosphate aldolase from Rattus norvegicus
35% identity, 53% coverage

BWI76_RS04130 deoxyribose-phosphate aldolase from Klebsiella sp. M5al
32% identity, 73% coverage

ETEC_4737 deoxyribose-phosphate aldolase from Escherichia coli ETEC H10407
33% identity, 73% coverage

Tlr / b4381 deoxyribose-phosphate aldolase (EC 4.1.2.4) from Escherichia coli K-12 substr. MG1655 (see 16 papers)
deoC / P0A6L0 deoxyribose-phosphate aldolase (EC 4.1.2.4) from Escherichia coli (strain K12) (see 14 papers)
DEOC_ECOLI / P0A6L0 Deoxyribose-phosphate aldolase; DERA; 2-deoxy-D-ribose 5-phosphate aldolase; Phosphodeoxyriboaldolase; Deoxyriboaldolase; EC 4.1.2.4 from Escherichia coli (strain K12) (see 4 papers)
deoC / RF|NP_418798 phosphodeoxyriboaldolase from Escherichia coli K12 (see paper)
b4381 deoxyribose-phosphate aldolase from Escherichia coli str. K-12 substr. MG1655
NP_418798 deoxyribose-phosphate aldolase from Escherichia coli str. K-12 substr. MG1655
33% identity, 73% coverage

B5Y277 Deoxyribose-phosphate aldolase from Klebsiella pneumoniae (strain 342)
31% identity, 73% coverage

A0A125YLW2 deoxyribose-phosphate aldolase (EC 4.1.2.4) from Toxoplasma gondii (see paper)
TGME49_270650 deoxyribose-phosphate aldolase from Toxoplasma gondii ME49
36% identity, 70% coverage

1jcjA / P0A6L0 Observation of covalent intermediates in an enzyme mechanism at atomic resolution (see paper)
32% identity, 75% coverage

DIP0377 Hypothetical protein from Corynebacterium diphtheriae NCTC 13129
40% identity, 56% coverage

DEOC_PYRAE / Q8ZXK7 Deoxyribose-phosphate aldolase; DERA; 2-deoxy-D-ribose 5-phosphate aldolase; Phosphodeoxyriboaldolase; Deoxyriboaldolase; EC 4.1.2.4 from Pyrobaculum aerophilum (strain ATCC 51768 / DSM 7523 / JCM 9630 / CIP 104966 / NBRC 100827 / IM2) (see paper)
PAE1231 deoxyribose-phosphate aldolase from Pyrobaculum aerophilum str. IM2
34% identity, 90% coverage

KVC_2446 deoxyribose-phosphate aldolase from Ketogulonicigenium vulgare
33% identity, 62% coverage

Igni_1079 deoxyribose-phosphate aldolase from Ignicoccus hospitalis KIN4/I
39% identity, 62% coverage

NCLIV_036120 putative deoxyribose-phosphate aldolase from Neospora caninum Liverpool
33% identity, 76% coverage

PVX_001945 deoxyribose-phosphate aldolase, putative from Plasmodium vivax
32% identity, 68% coverage

PF3D7_1021600 deoxyribose-phosphate aldolase, putative from Plasmodium falciparum 3D7
30% identity, 68% coverage

PBANKA_050580 deoxyribose-phosphate aldolase, putative from Plasmodium berghei ANKA
28% identity, 71% coverage

SPO3367, YP_168563 deoxyribose-phosphate aldolase from Silicibacter pomeroyi DSS-3
32% identity, 60% coverage

SPO3367 deoxyribose-phosphate aldolase from Ruegeria pomeroyi DSS-3
32% identity, 50% coverage

PCHAS_050590 deoxyribose-phosphate aldolase, putative from Plasmodium chabaudi chabaudi
29% identity, 73% coverage

PKH_060570 deoxyribose-phosphate aldolase, putative from Plasmodium knowlesi strain H
32% identity, 56% coverage

MGA_1328 deoxyribose-phosphate aldolase domain-containing protein from Mycoplasma gallisepticum str. R(low)
38% identity, 34% coverage

New Search

For advice on how to use these tools together, see Interactive tools for functional annotation of bacterial genomes.

Statistics

The PaperBLAST database links 789,361 different protein sequences to 1,256,019 scientific articles. Searches against EuropePMC were last performed on January 10 2025.

How It Works

PaperBLAST builds a database of protein sequences that are linked to scientific articles. These links come from automated text searches against the articles in EuropePMC and from manually-curated information from GeneRIF, UniProtKB/Swiss-Prot, BRENDA, CAZy (as made available by dbCAN), BioLiP, CharProtDB, MetaCyc, EcoCyc, TCDB, REBASE, the Fitness Browser, and a subset of the European Nucleotide Archive with the /experiment tag. Given this database and a protein sequence query, PaperBLAST uses protein-protein BLAST to find similar sequences with E < 0.001.

To build the database, we query EuropePMC with locus tags, with RefSeq protein identifiers, and with UniProt accessions. We obtain the locus tags from RefSeq or from MicrobesOnline. We use queries of the form "locus_tag AND genus_name" to try to ensure that the paper is actually discussing that gene. Because EuropePMC indexes most recent biomedical papers, even if they are not open access, some of the links may be to papers that you cannot read or that our computers cannot read. We query each of these identifiers that appears in the open access part of EuropePMC, as well as every locus tag that appears in the 500 most-referenced genomes, so that a gene may appear in the PaperBLAST results even though none of the papers that mention it are open access. We also incorporate text-mined links from EuropePMC that link open access articles to UniProt or RefSeq identifiers. (This yields some additional links because EuropePMC uses different heuristics for their text mining than we do.)

For every article that mentions a locus tag, a RefSeq protein identifier, or a UniProt accession, we try to select one or two snippets of text that refer to the protein. If we cannot get access to the full text, we try to select a snippet from the abstract, but unfortunately, unique identifiers such as locus tags are rarely provided in abstracts.

PaperBLAST also incorporates manually-curated protein functions:

Except for GeneRIF and ENA, the curated entries include a short curated description of the protein's function. For entries from BioLiP, the protein's function may not be known beyond binding to the ligand. Many of these entries also link to articles in PubMed.

For more information see the PaperBLAST paper (mSystems 2017) or the code. You can download PaperBLAST's database here.

Changes to PaperBLAST since the paper was written:

Many of these changes are described in Interactive tools for functional annotation of bacterial genomes.

Secrets

PaperBLAST cannot provide snippets for many of the papers that are published in non-open-access journals. This limitation applies even if the paper is marked as "free" on the publisher's web site and is available in PubmedCentral or EuropePMC. If a journal that you publish in is marked as "secret," please consider publishing elsewhere.

Omissions from the PaperBLAST Database

Many important articles are missing from PaperBLAST, either because the article's full text is not in EuropePMC (as for many older articles), or because the paper does not mention a protein identifier such as a locus tag, or because of PaperBLAST's heuristics. If you notice an article that characterizes a protein's function but is missing from PaperBLAST, please notify the curators at UniProt or add an entry to GeneRIF. Entries in either of these databases will eventually be incorporated into PaperBLAST. Note that to add an entry to UniProt, you will need to find the UniProt identifier for the protein. If the protein is not already in UniProt, you can ask them to create an entry. To add an entry to GeneRIF, you will need an NCBI Gene identifier, but unfortunately many prokaryotic proteins in RefSeq do not have corresponding Gene identifers.

References

PaperBLAST: Text-mining papers for information about homologs.
M. N. Price and A. P. Arkin (2017). mSystems, 10.1128/mSystems.00039-17.

Europe PMC in 2017.
M. Levchenko et al (2017). Nucleic Acids Research, 10.1093/nar/gkx1005.

Gene indexing: characterization and analysis of NLM's GeneRIFs.
J. A. Mitchell et al (2003). AMIA Annu Symp Proc 2003:460-464.

UniProt: the universal protein knowledgebase.
The UniProt Consortium (2016). Nucleic Acids Research, 10.1093/nar/gkw1099.

BRENDA in 2017: new perspectives and new tools in BRENDA.
S. Placzek et al (2017). Nucleic Acids Research, 10.1093/nar/gkw952.

The EcoCyc database: reflecting new knowledge about Escherichia coli K-12.
I. M. Keeseler et al (2016). Nucleic Acids Research, 10.1093/nar/gkw1003.

The MetaCyc database of metabolic pathways and enzymes.
R. Caspi et al (2018). Nucleic Acids Research, 10.1093/nar/gkx935.

CharProtDB: a database of experimentally characterized protein annotations.
R. Madupu et al (2012). Nucleic Acids Research, 10.1093/nar/gkr1133.

The carbohydrate-active enzymes database (CAZy) in 2013.
V. Lombard et al (2014). Nucleic Acids Research, 10.1093/nar/gkt1178.

The Transporter Classification Database (TCDB): recent advances
M. H. Saier, Jr. et al (2016). Nucleic Acids Research, 10.1093/nar/gkv1103.

REBASE - a database for DNA restriction and modification: enzymes, genes and genomes.
R. J. Roberts et al (2015). Nucleic Acids Research, 10.1093/nar/gku1046.

Deep annotation of protein function across diverse bacteria from mutant phenotypes.
M. N. Price et al (2016). bioRxiv, 10.1101/072470.

by Morgan Price, Arkin group
Lawrence Berkeley National Laboratory