Reproducibility Review (main)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Documentazione
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- jupyter-notebook, python, pytorch
- Ambito
- documentation
Direzione di ricerca
Inizia dal README principale e dal README della campagna, quindi esamina fpdesign/campaign.py intorno a build_argparser e ai relativi controlli dell’output memorizzato nella cache. Esamina il notebook in-silico-test menzionato, il README di GFP_DMS, environment.yml e i riferimenti a percorsi obsoleti per distinguere le correzioni alla documentazione dai problemi di riproducibilità. Il lavoro è completato quando i comandi e i percorsi di ripristino documentati descrivono correttamente il comportamento di un clone appena creato ed evitano il traceback segnalato o i riferimenti fuorvianti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Repository:
Arcadia-Science/FPguide
Branch:main
Commit:29935e8cb7
Reviewed: 2026-09-03 21:27 UTC
Reproducibility review — Arcadia-Science/FPguide
Summary
This repository is unusually well documented for reproducibility: every folder carries its own README with ordered commands, the root README maps each entry point onto a four-tier "what can you actually regenerate" table, the conda environment is fully pinned with lock files plus OS/driver notes, and the tracked artifacts were deliberately chosen so the cheap entry points (msa_conservation/, experiment/, Section 1 of GFP_DMS/visualization.ipynb) run from a bare clone. Someone could clone this today and, after one ~325 MB release download, re-run the GFP_DMS analysis and the EGFP campaign analysis as documented. The remaining friction is at the heavy end: the in-silico-test/ deployed checkpoints are not published and their refit is not deterministic, and the committed design CSVs make the documented campaign "run" commands no-ops on a fresh clone.
Critical issues
None found.
Warnings
- The
in-silico-test/deployed checkpoints are not published, and refitting them is not bit-reproducible.design_common.SURR_CKPT(trained_models/surrogate_final/cnn-max-d1_trainval.pt,design_common.py:147) andORAC_CKPT(trained_models/oracle_sweep/cnn-max-d1_s0.pt, line 148) fall under the repo-wide*.ptignore, as doestrained_models/surrogate_cv3.csv, from whichtrain_final_surrogate.py:40derives its epoch budget. The rebuild path is documented (root README Tier 3,in-silico-test/README.mdpipeline), but it is the full chain — ~2 GB of ESM-2/ProstT5 caches,sweep_peak_oracle.py --role both,cv_all_surrogate.py,train_final_surrogate.py— andtrain_final_surrogate.py:52sets onlytorch.manual_seed(0)with no cuDNN determinism pinned, so a reproducer's surrogate will differ slightly from the one behind the numbers inin-silico-test/README.md("Design results"). Either ship these two checkpoints alongside the reference clouds, or state in the README that exact numeric agreement is not expected. - The documented campaign run commands silently do nothing on a fresh clone. The design CSVs under
design-campaign-EGFP/*/designs*/are committed, andfpdesign/campaign.py:670–690skips any pair/cell whose CSV already covers--trials.build_argparser(campaign.py:182–214) exposes no--force— only--rescore,--backfill-ppl,--probe— sobash run_sweep.sh/bash run_campaign.shfrom the campaign README's "Run" section print "cached" and exit. Add a line telling reproducers to pass a different--outdir(or delete the CSVs) to actually re-execute.in-silico-test's equivalent_complete()skip is documented under "Notes and gotchas"; the campaign's is not.
Polish/nice to have
-
in-silico-test/sweep_results.ipynbcell 6 does a barepd.read_csv("trained_models/surrogate_cv3.csv")and raisesFileNotFoundErroron a clone, whereas the root README's Tier 3 table says those entry points "fail with the command to run, not a traceback".load_sweepin the same notebook already degrades gracefully; the CV cell could too. - Paths with spaces and parentheses —
experiment/plasmid constructs/and(bright)his-morange_msa_07-in-pet-28a.fasta— force quoting and URL-escaping (experiment/README.mdalready has to writeplasmid%20constructs). - ~175 MB of RCSB PDBx cache is committed under
structures/experimental/even thoughpockets.pyself-populates it on a miss (structures/README.mdsays as much).1G7K.pdbxand1GFL.pdbxadditionally exist at bothstructures/andstructures/experimental/, though that duplication is functional (pockets.STRUCTreads the top level,experimental_windowthe subdirectory). - The root README's Environment section documents only
conda env create -f environment.yml; the exact-restore path (environment.linux-64.lockplusrequirements.linux-64.txtpluspip install -e ./fpbase-extractor) is only in comments insideenvironment.yml. Worth surfacing. - Stale internal references:
GFP_DMS/brightness_threshold.py:16andGFP_DMS/embed_dms.py:16nametransform_dms.py, nowtransform_avgfp_dms.py; the stage bootstraps inin-silico-test/1_surrogate_oracle_training/*.pyand2_design_task_specification/*.pystill prepend a removedmsa/directory tosys.path(harmless, but misleading). -
GFP_DMS/README.mdlane A ends injupyter nbconvert --to notebook --execute --inplace visualization.ipynb, which rewrites a tracked 268 KB notebook and dirtiesgit statuson every reproduction run;--outputto a scratch path would avoid that.
Suggestions
- Publish the
in-silico-test/surrogate and oracle checkpoints (andsurrogate_cv3.csv) in the same release asreference-cloud-v1. They are small, and this is the single change that moves the pub's core design experiment from "re-derive over many GPU-hours, non-deterministically" to "download and re-run". - Give the design engines an explicit
--force, or have the wrapper scripts default to a timestamped--outdir, so "re-run the campaign" is one documented command rather than a manual delete of committed files.
Automated reproducibility review • model: claude-opus-5 • tokens: 569,237 in / 6,953 out • cache: 569,235 written, 0 read
- Lingua principale
- Jupyter Notebook
- Stelle
- 0
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Issue simili
-
Keybind quest outdatedApertaStatus: Triage Type: Quest
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
GTNewHorizons/GT-New-Horizons-Modpack#27490 ·
I maintainer di solito rispondono entro 1 giorno
-
area:docs documentation good first issue priority:low
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
rtk-ai/rtk#4900 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement P2 size-s
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
gracecraft-software/lupin#349 ·
-
documentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
batch-2 difficulty: easy documentation enhancement good first issue help wanted
Difficoltà 2/5 Mezza giornata Idoneità per principianti 68/100
I maintainer di solito rispondono entro 2 giorni