The definitive, machine-readable index of AI × Biology papers accepted at ICLR, ICML and NeurIPS.
Browse · Figures · Tags · Data · Load · Methods
|
Every AI × Biology paper accepted at ICLR / ICML / NeurIPS, from NeurIPS 2010 to ICLR 2026, in one place. 3,722 records, all with abstract, authors and PDF link. |
Two-stage keyword filter with 95.9 % recall against a 315-paper hand-curated truth set. Ten topical tags (protein, molecule, single_cell, …) assigned per paper. |
Ships as structured JSON + CSV plus 33 foldable markdown files you can browse on GitHub. Reproducible: the entire tree regenerates from one JSON. |
git clone https://github.com/biotender/ai-bio-conference-papers.git
cd ai-bio-conference-papers
# Browse in your editor — every paper is a foldable <details> card
open papers/ICLR/2026.md
# Or load the data
python -c "import json; papers = json.load(open('data/papers_master.json')); print(len(papers), 'papers')"Stacked bars by venue, one bar per year. NeurIPS dominates the early record (2010–2017, ICLR/ICML absent from the corpus); ICLR takes over from 2020 onwards. The 2026 bar reaches 1,235 papers even without NeurIPS 2026, which had not yet run at snapshot time. The AlphaFold2 reference line marks the 2021 inflection point.
SVG (vector, editable):
figures/corpus_overview.svg
Per-year paper counts for the seven densest tags. protein climbs from ~2 papers/year (2018) to 294 in 2026 — a textbook post-AlphaFold2 explosion. single_cell lifts late (25 → 125 across 2020–2026). genomics roughly doubles between 2024 → 2025 (59 → 148). medical_imaging and clinical grow more steadily.
SVG (vector, editable):
figures/topic_trajectories.svg
Both figures are regenerated directly from
data/papers_master.json; the plotting code lives in the companionbiotender-ai-bio-corpusrepo.
Each cell links to a markdown file containing all papers for that venue/year, grouped by tag and sorted alphabetically. Numbers are paper counts.
| Year | ICLR | ICML | NeurIPS | Total |
|---|---|---|---|---|
| 2010 | — | — | 10 | 10 |
| 2011 | — | — | 5 | 5 |
| 2012 | — | — | 13 | 13 |
| 2013 | — | — | 7 | 7 |
| 2014 | — | — | 9 | 9 |
| 2015 | — | — | 6 | 6 |
| 2016 | — | — | 14 | 14 |
| 2017 | — | — | 18 | 18 |
| 2018 | — | 4 | 21 | 25 |
| 2019 | 31 | 2 | 27 | 60 |
| 2020 | 75 | 13 | 42 | 130 |
| 2021 | 80 | 10 | 42 | 132 |
| 2022 | 126 | 23 | 71 | 220 |
| 2023 | 217 | 39 | 141 | 397 |
| 2024 | 264 | 73 | 195 | 532 |
| 2025 | 501 | 134 | 274 | 909 |
| 2026 | 887 | 348 | — | 1,235 |
| Total | 2,181 | 646 | 895 | 3,722 |
Note: NeurIPS 2026 is not yet in the corpus — the conference had not run when this snapshot was taken. ICML 2019 has only 2 papers because the PMLR proceedings for that year yielded very few abstracts matching the biology filter (title-only signal for the pre-2020 PMLR floor is weaker).
Every paper inside papers/*/*.md is a foldable <details> block. GitHub renders it natively — click the arrow to expand.
Collapsed view (always visible):
Title — Author1, Author2, Author3 et al. · page · pdf ·
tag1tag2
Expanded view (unfolded on click):
Full abstract (verbatim, HTML-escaped).
Matched: clinical (13) · prognostic · healthcare
The Matched: … line lists which biology keywords the filter picked up in this paper (with per-term hit counts when a term appears more than once) — useful for auditing why a paper was kept.
Sorting rules inside each per-year markdown (click to expand)
- Papers are grouped by their first
_tagsentry (oruntaggedif the list is empty). - Tag groups are ordered by descending paper count within that file.
untaggedalways appears last.- Inside each tag group, papers are sorted alphabetically by title (case-insensitive).
Multi-tag papers only appear once (under their first tag) so per-file counts stay additive to the venue-year total. The complete tag list is preserved in papers_master.json.
Tags are non-exclusive — a paper can carry multiple tags. Counts below are over the full corpus (a paper tagged both protein and single_cell contributes to both rows).
| Tag | Papers | Definition |
|---|---|---|
🧪 molecule |
1,005 | small-molecule drug discovery, molecular property prediction, generative chemistry, SMILES/graph modeling |
🩺 clinical |
925 | clinical prediction, electronic health records, healthcare, prognostic / diagnostic modeling |
🧬 protein |
925 | protein structure prediction, protein language models, protein design, folding |
🧠 neuro |
916 | neural signals / spikes / EEG / fMRI, brain imaging, neuroscience |
🧬 genomics |
480 | DNA / RNA sequence models, variant calling, gene expression, transcriptomics |
🩻 medical_imaging |
465 | radiology, histopathology images, medical segmentation, X-ray / CT / MRI |
🔬 single_cell |
401 | single-cell RNA-seq, cell type prediction, single-cell foundation models |
⚛️ md_structbio |
286 | molecular dynamics, structural biology, force fields, energy prediction |
🦠 oncology |
188 | cancer-specific modeling — subtypes, tumor imaging, drug response |
🛡 immuno |
91 | immunology — antibody / TCR / B-cell modeling, MHC binding, vaccine design |
— untagged |
132 | Passed the biology filter but did not hit any tag keyword — kept for completeness. |
ai-bio-conference-papers/
├── README.md ← you are here
├── LICENSE MIT (scripts, README, CHANGELOG)
├── LICENSE-DATA CC BY 4.0 (paper records + markdown + figures)
├── CHANGELOG.md
├── .gitignore
├── assets/
│ ├── hero_banner.png README hero image
│ ├── biotender_logo.png original logo (black on white)
│ ├── biotender_logo_white.png white-on-transparent for dark bg
│ └── biotender_logo_black.png black-on-transparent for light bg
├── papers/
│ ├── ICLR/2019.md .. 2026.md (8 files)
│ ├── ICML/2018.md .. 2026.md (9 files)
│ └── NeurIPS/2010.md .. 2025.md (16 files)
├── data/
│ ├── papers_master.json canonical, 3,722 dicts (~8.2 MB)
│ └── papers_master.csv flattened subset (~1.3 MB)
├── figures/
│ ├── corpus_overview.{png,svg} stacked bars, 2010–2026 by venue
│ └── topic_trajectories.{png,svg} 7-tag lines, 2017–2026
└── scripts/
├── generate_papers_md.py regenerate 33 markdown files
└── build_readme.py regenerate this README
Total: 33 per-year markdown + 2 data files + 4 figures + 4 assets + 2 scripts + 5 root files = 50 tracked files, ~18 MB working tree.
A JSON array of 3,722 dicts. This is the source of truth; every markdown, count and table in this repo is derived from it.
Field dictionary (click to expand)
| Field | Type | Description |
|---|---|---|
title |
str | Paper title, verbatim from the source. |
abstract |
str | Full abstract; never empty in this corpus. |
authors |
list[str] | Full author list, ordered as printed on the paper. |
keywords |
list[str] | Author-supplied keywords (OpenReview only; empty for PMLR / papers.nips.cc). |
venue |
str | One of ICLR, ICML, NeurIPS. |
year |
int | Publication year. |
source |
str | Upstream source: openreview / pmlr / nips_cc. |
primary_area |
str | OpenReview submission track; empty for non-OpenReview sources. |
forum_id |
str | OpenReview forum id when applicable. |
paper_page |
str | URL to the paper landing page. |
pdf_url |
str | Direct PDF URL. |
_tags |
list[str] | Topical tags assigned by the BioTender filter. |
_hit_terms |
list[str] | Biology keywords that the filter matched, order preserved. |
_hits |
dict[str,int] | Per-term hit counts across title + abstract + keywords. |
_keep_reason |
str | Which filter branch kept this paper (e.g. text_high_spec_focused, title_strong_bio). |
_area |
str | Coarse area bucket, or no_area. |
Fields prefixed with _ are added by the filter; the rest are pulled verbatim from the upstream source.
For quick inspection in Excel / pandas. Drops several fields for size — see the mapping below. Use the JSON if you need the abstract or per-term hit counts.
CSV column mapping (click to expand)
| CSV column | Corresponds to JSON field |
|---|---|
venue, year, title, source, primary_area, forum_id, paper_page |
same (verbatim) |
authors |
authors — list joined by ; |
tags |
_tags — list joined by ; (underscore dropped) |
hit_terms |
_hit_terms — list joined by ; (underscore dropped) |
keep_reason |
_keep_reason (underscore dropped) |
Not in the CSV: abstract, keywords, pdf_url, _hits, _area. Load papers_master.json for those.
import json
with open('data/papers_master.json') as f:
papers = json.load(f) # list of 3722 dicts
# Example: all ICLR 2026 protein-tagged papers
hits = [p for p in papers
if p['venue'] == 'ICLR'
and p['year'] == 2026
and 'protein' in p['_tags']]
print(len(hits), 'papers')
# Example: papers matching a specific keyword
cryo = [p for p in papers if 'cryo-em' in p['_hit_terms']]import pandas as pd
df = pd.read_csv('data/papers_master.csv')
# Reconstruct list-valued columns
for col in ('authors', 'tags', 'hit_terms'):
df[col] = df[col].fillna('').apply(lambda s: s.split('; ') if s else [])
# Group by venue-year
df.groupby(['venue', 'year']).size()The 33 per-year markdown files and this README are both regenerable from data/papers_master.json:
python scripts/generate_papers_md.py # rewrites papers/**/*.md
python scripts/build_readme.py # rewrites README.mdNeither script has external dependencies (Python 3.10+ standard library only).
| Venue | Years | Source | Access pattern |
|---|---|---|---|
| ICLR | 2019–2026 | OpenReview API v2 | api2.openreview.net/notes?content.venue=… |
| ICML | 2018–2026 | PMLR proceedings (+ OpenReview for 2026 only) | proceedings.mlr.press/v<vol>/ |
| NeurIPS | 2010–2025 | papers.nips.cc (+ OpenReview 2023 onward) | papers.nips.cc/paper_files/paper/<year> |
All fetching uses public endpoints with polite rate-limiting. Only accepted papers are included — rejected / withdrawn submissions and workshops are out of scope.
Two-stage filter, applied to title + abstract + keywords:
- Keyword hit count against a curated 44-term biology lexicon (protein, ligand, patient, EEG, transcriptomic, cryo-em, single-cell, …).
- Tag assignment against 12 topical groups (10 stayed active in this corpus —
snnandchem-pure-materialsare used only as exclusion branches).
A paper is kept if its combined signal exceeds a per-branch threshold. False-positive branches (snn_dropped, chem_pure_materials_dropped, brain_false_positive, neuro_no_neurobio, chem_bio_no_bio) explicitly drop papers that match biology keywords but are actually about spiking-neural-networks, computational chemistry of pure materials, or brain-inspired ML without any biology content.
The full filter code (with all lexicons, thresholds and branch definitions) lives in the companion biotender-ai-bio-corpus repo under scripts/filter_pipeline.py. This repo intentionally ships only the output.
Against a 315-paper hand-curated truth set (ICML 2026 papers manually labelled as "in scope for AI × biology"):
| Metric | Value |
|---|---|
| Truth set size | 315 |
| Filter kept | 348 |
| Overlap (true positives) | 302 |
| Recall | 95.9 % (302 / 315) |
| Missing (false negatives) | 13 — all borderline chemistry / materials science with weak biology signal |
| Extras (kept beyond truth) | 46 — audited as legitimate AI × biology, retained after review |
The 46 extras include: bio-inspired representation-learning papers (e.g. hippocampal place-field models, biologically-plausible connectivity), a handful of protein / genomic foundation-model papers where the reviewer had originally been strict about "pure ML methods on bio data", and several medical-imaging papers with heavier ML machinery. All 46 were audited during the validation pass and kept.
- PMLR floor. ICML abstracts before 2020 are partly truncated on PMLR — filtering leans more on titles for those years. This is why ICML 2019 shows only 2 papers.
- Accepted-papers only. Rejected / withdrawn submissions are not included. Workshops are not covered.
- Editorial subjectivity. The 46 legitimate extras vs. 13 borderline chemistry/materials exclusions are judgement calls. See the filter code for the exact rules.
- Tag first-match rule. In per-year markdown files, multi-tag papers appear under their first tag only. The complete tag list is preserved in
papers_master.json. - NeurIPS 2026 not included. Snapshot taken before the conference ran.
- Snapshot date. This is a point-in-time cut; papers added / retracted after the generation date shown at the top of this README are not reflected.
If you use this corpus, please cite it as:
BioTender (2026). ai-bio-conference-papers: 3,722 AI × biology papers
from ICLR, ICML and NeurIPS (2010–2026). https://biotender.online
Paper titles, abstracts and author names remain the copyright of the original authors and their publishers. This project claims copyright only over the compilation, tag assignment, filter rationale (_tags, _hit_terms, _hits, _keep_reason, _area) and the markdown organisation.
This repository is dual-licensed:
- Scripts & documentation — MIT (see
LICENSE). Applies toscripts/,README.md,CHANGELOG.md. - Paper records, markdown, figures & assets — CC BY 4.0 (see
LICENSE-DATA). Applies topapers/**/*.md,data/papers_master.{json,csv},figures/*.{png,svg},assets/*.png.
Users redistributing this repository must respect the underlying copyright of the paper text itself, which is held by the original authors and publishers.
Part of the BioTender · OSINT curation for AI × Biology


