Rename Data Bank to Database throughout the Space
Browse files- FEATURE_BACKLOG.md +2 -2
- README.md +1 -1
- app.css +5 -5
- app.py +4 -4
- taxonomy.py +1 -1
FEATURE_BACKLOG.md
CHANGED
|
@@ -103,7 +103,7 @@ Decisions and dependencies for implementation:
|
|
| 103 |
|
| 104 |
**Goal:** Keep accession searches and annotation retrieval responsive as the app expands beyond its bundled sample.
|
| 105 |
|
| 106 |
-
Current baseline: the
|
| 107 |
|
| 108 |
Remaining work includes automatic refresh/publication, pagination beyond 200 matches, and reducing large-row-group transfer costs.
|
| 109 |
|
|
@@ -146,4 +146,4 @@ Give each new feature a stable ID, a goal, a status, desired behavior, and open
|
|
| 146 |
|
| 147 |
## Atlas research sections
|
| 148 |
|
| 149 |
-
Planned: add RefSeq annotation exploration beneath the eukaryotic tree in the **Genome atlas** tab, and experimental results in the dedicated **Wet Lab Experiments** tab. The wet-lab tab exists with a coming-soon state; no results have been added yet. Decide on the comparison views and experimental summaries when those data are ready. Accession lookup, segment viewing, and downloads now live in the separate **
|
|
|
|
| 103 |
|
| 104 |
**Goal:** Keep accession searches and annotation retrieval responsive as the app expands beyond its bundled sample.
|
| 105 |
|
| 106 |
+
Current baseline: the Database uses a compact, read-only SQLite index covering every published annotation Parquet object in its dated inventory. Shared assembly/provenance metadata and indexed accession fields keep the database small. It fetches selected row groups on demand, checks source content hashes, and uses a bounded cache. Whole-contig and segmented records are supported. The full builder saves resumable checkpoints and reuses unchanged objects on refresh.
|
| 107 |
|
| 108 |
Remaining work includes automatic refresh/publication, pagination beyond 200 matches, and reducing large-row-group transfer costs.
|
| 109 |
|
|
|
|
| 146 |
|
| 147 |
## Atlas research sections
|
| 148 |
|
| 149 |
+
Planned: add RefSeq annotation exploration beneath the eukaryotic tree in the **Genome atlas** tab, and experimental results in the dedicated **Wet Lab Experiments** tab. The wet-lab tab exists with a coming-soon state; no results have been added yet. Decide on the comparison views and experimental summaries when those data are ready. Accession lookup, segment viewing, and downloads now live in the separate **Database** tab.
|
README.md
CHANGED
|
@@ -17,7 +17,7 @@ Future features and open design decisions are tracked in the [feature backlog](F
|
|
| 17 |
|
| 18 |
## GenBank taxonomy
|
| 19 |
|
| 20 |
-
The landing page opens with an interactive **tree of eukaryotic life**, using NCBI's current GenBank assembly summary and taxonomy. Curved branches and nodes are colored by the fraction of assemblies with published annotations: gray for none found in the inventory, increasingly dark teal for higher percentages. Counts and percentages appear beside the groups, with details on hover. The default **Genome atlas** tab contains the tree and its lineage controls. A separate **
|
| 21 |
|
| 22 |
The viewer is restricted to **Eukaryota (NCBI taxid 2759) and its descendants**, including search, breadcrumbs, and parent navigation. The model predicts eukaryotic annotations; bacteria, archaea, and viruses are outside this display. The current eukaryotic snapshot contains **70,395 assemblies**, of which **17,561 (24.9%)** have published annotations. The underlying SQLite snapshot retains the full NCBI inventory for refresh/provenance, while the interface uses only the eukaryotic subtree and its denominators. Assemblies with unresolved taxonomy cannot be assigned to that subtree and are excluded.
|
| 23 |
|
|
|
|
| 17 |
|
| 18 |
## GenBank taxonomy
|
| 19 |
|
| 20 |
+
The landing page opens with an interactive **tree of eukaryotic life**, using NCBI's current GenBank assembly summary and taxonomy. Curved branches and nodes are colored by the fraction of assemblies with published annotations: gray for none found in the inventory, increasingly dark teal for higher percentages. Counts and percentages appear beside the groups, with details on hover. The default **Genome atlas** tab contains the tree and its lineage controls. A separate **Database** tab holds accession search, segment visualization, and downloads, using the full published-file snapshot. A third **Wet Lab Experiments** tab is ready for experimental results and currently shows a clearly labeled coming-soon state. RefSeq exploration can be added beneath the tree. The three equal-width navigation options span the top of the page.
|
| 21 |
|
| 22 |
The viewer is restricted to **Eukaryota (NCBI taxid 2759) and its descendants**, including search, breadcrumbs, and parent navigation. The model predicts eukaryotic annotations; bacteria, archaea, and viruses are outside this display. The current eukaryotic snapshot contains **70,395 assemblies**, of which **17,561 (24.9%)** have published annotations. The underlying SQLite snapshot retains the full NCBI inventory for refresh/provenance, while the interface uses only the eukaryotic subtree and its denominators. Assemblies with unresolved taxonomy cannot be assigned to that subtree and are excluded.
|
| 23 |
|
app.css
CHANGED
|
@@ -48,11 +48,11 @@
|
|
| 48 |
#atlas-navigation > .tab-wrapper > .tab-container::before, #atlas-navigation > .tab-wrapper > .tab-container::after,
|
| 49 |
#atlas-navigation > .tab-wrapper > .tab-container > button::before, #atlas-navigation > .tab-wrapper > .tab-container > button::after { content:none!important; display:none!important; }
|
| 50 |
#atlas-navigation > .tab-wrapper > .overflow-menu { display:none!important; }
|
| 51 |
-
#atlas-overview, #atlas-
|
| 52 |
-
.
|
| 53 |
-
.
|
| 54 |
-
.
|
| 55 |
-
.
|
| 56 |
.wet-lab-empty { background:#f7f8f0; border:1px solid #e0e6d8; border-radius:24px; padding:48px 36px; margin:8px 0 32px; }
|
| 57 |
.wet-lab-status { display:inline-block; padding:6px 12px; background:#e5eddf; color:#52694f; border-radius:999px; font:500 12px/1.4 Arial,sans-serif; }
|
| 58 |
.wet-lab-empty h2 { font:400 32px/1.2 Georgia,'Times New Roman',serif; color:#173c30; margin:22px 0 12px; }
|
|
|
|
| 48 |
#atlas-navigation > .tab-wrapper > .tab-container::before, #atlas-navigation > .tab-wrapper > .tab-container::after,
|
| 49 |
#atlas-navigation > .tab-wrapper > .tab-container > button::before, #atlas-navigation > .tab-wrapper > .tab-container > button::after { content:none!important; display:none!important; }
|
| 50 |
#atlas-navigation > .tab-wrapper > .overflow-menu { display:none!important; }
|
| 51 |
+
#atlas-overview, #atlas-database, #atlas-wet-lab { border:0; background:transparent; padding:0; min-width:0; max-width:100%; }
|
| 52 |
+
.database-heading { padding:14px 4px 12px; }
|
| 53 |
+
.database-heading .database-eyebrow { color:#647467; font:11px/1.4 Arial,Helvetica,sans-serif; letter-spacing:2px; margin:0 0 12px; }
|
| 54 |
+
.database-heading h1 { color:#173c30; font:400 clamp(32px,5vw,48px)/1.1 Georgia,'Times New Roman',serif; letter-spacing:-1px; margin:0 0 12px; }
|
| 55 |
+
.database-heading p { color:#647467; font:14px/1.6 Arial,Helvetica,sans-serif; margin:0; }
|
| 56 |
.wet-lab-empty { background:#f7f8f0; border:1px solid #e0e6d8; border-radius:24px; padding:48px 36px; margin:8px 0 32px; }
|
| 57 |
.wet-lab-status { display:inline-block; padding:6px 12px; background:#e5eddf; color:#52694f; border-radius:999px; font:500 12px/1.4 Arial,sans-serif; }
|
| 58 |
.wet-lab-empty h2 { font:400 32px/1.2 Georgia,'Times New Roman',serif; color:#173c30; margin:22px 0 12px; }
|
app.py
CHANGED
|
@@ -132,9 +132,9 @@ def build_app(catalog=None):
|
|
| 132 |
with gr.Tabs(selected="atlas", elem_id="atlas-navigation"):
|
| 133 |
with gr.Tab("Genome Atlas", id="atlas", elem_id="atlas-overview"):
|
| 134 |
build_taxonomy_tab()
|
| 135 |
-
with gr.Tab("
|
| 136 |
-
gr.HTML('<header class="
|
| 137 |
-
'<h1>Explore the
|
| 138 |
apply_default_css=False)
|
| 139 |
with gr.Column(elem_classes="atlas-panel"):
|
| 140 |
gr.HTML(section_header("01", "Find an accession", "Start with an assembly or contig to explore its predicted coding regions."), apply_default_css=False)
|
|
@@ -194,7 +194,7 @@ def build_app(catalog=None):
|
|
| 194 |
gr.Dataframe(value=catalog.table(all_ids), interactive=False)
|
| 195 |
gr.JSON(value=catalog.manifest, label="Index provenance" if remote_mode else "Sample provenance")
|
| 196 |
with gr.Tab("Wet Lab", id="wet-lab", elem_id="atlas-wet-lab"):
|
| 197 |
-
gr.HTML('<header class="
|
| 198 |
'<h1>Wet lab experiments</h1><p>Explore the experimental evidence behind our genome annotations.</p></header>',
|
| 199 |
apply_default_css=False)
|
| 200 |
gr.HTML('<section class="wet-lab-empty"><span class="wet-lab-status">Coming soon</span>'
|
|
|
|
| 132 |
with gr.Tabs(selected="atlas", elem_id="atlas-navigation"):
|
| 133 |
with gr.Tab("Genome Atlas", id="atlas", elem_id="atlas-overview"):
|
| 134 |
build_taxonomy_tab()
|
| 135 |
+
with gr.Tab("Database", id="database", elem_id="atlas-database"):
|
| 136 |
+
gr.HTML('<header class="database-heading"><p class="database-eyebrow">THE ANNOTATION COLLECTION</p>'
|
| 137 |
+
'<h1>Explore the database</h1><p>Find an accession, explore its coding landscape, and download the annotations.</p></header>',
|
| 138 |
apply_default_css=False)
|
| 139 |
with gr.Column(elem_classes="atlas-panel"):
|
| 140 |
gr.HTML(section_header("01", "Find an accession", "Start with an assembly or contig to explore its predicted coding regions."), apply_default_css=False)
|
|
|
|
| 194 |
gr.Dataframe(value=catalog.table(all_ids), interactive=False)
|
| 195 |
gr.JSON(value=catalog.manifest, label="Index provenance" if remote_mode else "Sample provenance")
|
| 196 |
with gr.Tab("Wet Lab", id="wet-lab", elem_id="atlas-wet-lab"):
|
| 197 |
+
gr.HTML('<header class="database-heading"><p class="database-eyebrow">FROM PREDICTION TO EXPERIMENT</p>'
|
| 198 |
'<h1>Wet lab experiments</h1><p>Explore the experimental evidence behind our genome annotations.</p></header>',
|
| 199 |
apply_default_css=False)
|
| 200 |
gr.HTML('<section class="wet-lab-empty"><span class="wet-lab-status">Coming soon</span>'
|
taxonomy.py
CHANGED
|
@@ -248,7 +248,7 @@ def build_taxonomy_tab():
|
|
| 248 |
"The tree layout is illustrative; **counts and colors use the actual assembly inventory**.\n\n"
|
| 249 |
"Coverage means the fraction of current GenBank assembly versions with published annotations, including partial assemblies. "
|
| 250 |
"It does not measure the fraction of bases annotated. Parent counts include descendants once each. "
|
| 251 |
-
"Exact accession versions are matched. The
|
| 252 |
"Sources: [NCBI assembly summary](https://ftp.ncbi.nlm.nih.gov/genomes/ASSEMBLY_REPORTS/assembly_summary_genbank.txt), "
|
| 253 |
"[NCBI Taxonomy](https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/taxdump.tar.gz), "
|
| 254 |
"and [published annotations](https://huggingface.co/buckets/HuggingFaceBio/genbank-annotations).")
|
|
|
|
| 248 |
"The tree layout is illustrative; **counts and colors use the actual assembly inventory**.\n\n"
|
| 249 |
"Coverage means the fraction of current GenBank assembly versions with published annotations, including partial assemblies. "
|
| 250 |
"It does not measure the fraction of bases annotated. Parent counts include descendants once each. "
|
| 251 |
+
"Exact accession versions are matched. The Database tab searches a dated snapshot of all published annotation files.\n\n"
|
| 252 |
"Sources: [NCBI assembly summary](https://ftp.ncbi.nlm.nih.gov/genomes/ASSEMBLY_REPORTS/assembly_summary_genbank.txt), "
|
| 253 |
"[NCBI Taxonomy](https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/taxdump.tar.gz), "
|
| 254 |
"and [published annotations](https://huggingface.co/buckets/HuggingFaceBio/genbank-annotations).")
|