Alt-Protein Paper Scout
Hands 80 tightly-filtered alt-protein papers to an LLM and demands novel, cited experiment ideas back.
What It Does
Inspired by Coefficient Giving's RFP on alt-protein requesting ideas for experiments in specific areas, I wanted to see if there was a cross-disciplinary experiment generating approach I could use with Claude to find novel, unexplored experiments. This was also partially inspired by David Epstein's Range and the idea that generalists can sometimes produce things of value by combining fields that might be missed by deep specialization.
How it works
It pulls papers straight from the open academic APIs: OpenAlex and Europe PMC, merges everything, dedupes, chases open-access PDFs, reduces the pile of papers through some analysis, then reads every surviving abstract and scores it 1–5 on relevance, and only the top ~40 per topic make the corpus.
The whole bet is that LLMs are great at inventing experiments and terrible at citing them, so shrinking to ~80 hand-scored papers and forcing every hypothesis to name the paper IDs it came from mostly closes that gap.
The last step: instead of feeding Claude the top-N-by-score, it feeds a coverage-diverse subset, one paper per distinct mechanism, so the hypotheses come out as cross-pollination between sub-literatures that have never met each other (phospholipase → mung bean, brewing chemistry → pea off-flavor, pharma cyclodextrins → protein isolation). Those get ranked on cost/difficulty/P(success)/novelty and rendered into a skimmable single-scroll PDF brief.
Built with
- Built with: Standalone Python 3.11 scripts (PEP 723 inline deps, uv run-able, httpx only) that fan out across OpenAlex, Europe PMC, arXiv, INSPIRE-HEP, OSTI and Semantic Scholar, dedupe by DOI-then-title-key, and narrow a few thousand candidates to ~80 papers through a keyword-density pre-filter plus a Claude abstract-scoring pass — with a coverage-diverse (not top-N) selection feeding hypothesis generation and stable cand_ids so every hypothesis cites its sources.
- Output is JSON/CSV plus Unpaywall-fetched OA PDFs, rendered into a single-scroll designed brief via hand-authored HTML and headless Chrome. Deliberately duplicated per domain rather than abstracted into a shared core/ — the diff between the two domains' scripts is the extraction spec.