Reproducibility Review (main)
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 55/100
- issue の種類
- ドキュメント
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- jupyter-notebook, python, pytorch
調査の方向性
ルート README とキャンペーン README から始め、次に fpdesign/campaign.py の build_argparser 周辺と、キャッシュ済み出力のチェックを調べます。記載されている in-silico-test notebook、GFP_DMS README、environment.yml、および古いパス参照を確認し、ドキュメントの修正と再現性の問題を切り分けます。完了条件は、記載されたコマンドと復元パスが fresh clone での動作を正確に説明し、報告された traceback や誤解を招く参照を避けていることです。
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- Jupyter Notebook
- スター
- 0
- フォーク
- 0
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
似ている issue
-
[Docs]: First-user steps omit the Admin Cognito group; setup hint and stack names mislead deployersオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
aws/context-ontology-accelerator#338 ·
メンテナーはふだん 1 日以内に返信
-
Status: Unconfirmed
難易度 1/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
sync-en
難易度 1/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
sync-en
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
The README tells to run `mvn jeo:disassemble`, which fails with `No plugin found for prefix 'jeo'`オープン
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
objectionary/jeo-maven-plugin#1938 ·
メンテナーはふだん 2 日以内に返信