Reproducibility Review (main)
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 55/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- jupyter-notebook, python, pytorch
- Lĩnh vực
- documentation
Hướng nghiên cứu
Bắt đầu với README gốc và README của campaign, sau đó kiểm tra fpdesign/campaign.py quanh build_argparser và các bước kiểm tra output đã được cache của nó. Xem lại notebook in-silico-test được đề cập, README của GFP_DMS, environment.yml và các tham chiếu đến đường dẫn đã cũ để phân biệt các thay đổi sửa tài liệu với các vấn đề về khả năng tái lập. Được xem là hoàn tất khi các lệnh và đường dẫn khôi phục được ghi trong tài liệu mô tả chính xác hành vi của một fresh clone và tránh traceback đã báo cáo hoặc các tham chiếu gây hiểu nhầm.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- Jupyter Notebook
- Star
- 0
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
aws-samples/sample-per-model-bedrock#638 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 80/100
awslabs/visual-asset-management-system#936 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Spec still mentions miter-clipĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
14.3.x
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
good first issue help wanted r-docs
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
servo/rust-smallvec#824 ·
Maintainer thường phản hồi trong vòng 1 ngày