Skip to content

Improved PhiX174 Phage Design Plausibility - #1722

Draft
jstjohn wants to merge 90 commits into
mainfrom
jstjohn/phix-loss-improvement
Draft

jstjohn wants to merge 90 commits into
mainfrom
jstjohn/phix-loss-improvement

Conversation

@jstjohn

@jstjohn jstjohn commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Description

Addresses the following

  • Genome lengths were not realistically sampled due to a lack of EOD token sampling.
  • Picked genome length bounds that are biologically informed for PhiX174 based on observations of capsid packing and population frequency.
  • Some key capsid genes were often removed from the genome while others were sometimes duplicated due to gene function-level ambiguity in the reward.
  • Very large batched generations without model parallelism overflow the kv-cache addressing, limiting the ability to make use of gpus with large memory.
  • PhiX174 is a circular genome, and the original prompts at position 0 overlap a particularly gene-dense region with genes A, A* and B all encoded there. This version picks rotated prompts at other less gene dense regions of the assembly.
  • Skill text updated with information about various genome structures observed in phages which will hopefully help agents make smart decisions about prompting and assembly verification in other design tasks.

Usage

TODO: Add code snippet

Type of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Refactor
  • Documentation update
  • Other (please describe):

CI Pipeline Configuration

Configure CI behavior by applying the relevant labels. By default, only basic unit tests are run.

  • ciflow:skip - Skip all CI tests for this PR
  • ciflow:notebooks - Run Jupyter notebooks execution tests
  • ciflow:slow - Run slow single GPU integration tests marked as @pytest.mark.slow
  • ciflow:all - Run all tests, including unit tests, slow tests, notebooks, and every recipe/model directory.

Unit tests marked as @pytest.mark.multi_gpu or @pytest.mark.distributed are not run in the PR pipeline.

For more details, see CONTRIBUTING

Note

By default, only basic unit tests are run. Add appropriate labels to enable an additional test coverage.

Authorizing CI Runs

We use copy-pr-bot to manage authorization of CI
runs on NVIDIA's compute resources.

  • If a pull request is opened by a trusted user and contains only trusted changes, the pull request's code will
    automatically be copied to a pull-request/ prefixed branch in the source repository (e.g. pull-request/123)
  • If a pull request is opened by an untrusted user or contains untrusted changes, an NVIDIA org member must leave an
    /ok to test comment on the pull request to trigger CI. This will need to be done for each new commit.

Triggering Code Rabbit AI Review

To trigger a code review from code rabbit, comment on a pull request with one of these commands:

See https://docs.coderabbit.ai/reference/review-commands for a full list of commands.

Pre-submit Checklist

  • I have tested these changes locally
  • I have updated the documentation accordingly
  • I have added/updated tests as needed
  • All existing tests pass successfully

@copy-pr-bot

copy-pr-bot Bot commented Aug 28, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: NVIDIA-BioNeMo/bionemo-recipes/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 0ee2c422-30c1-4ce3-95da-4b6464f6885e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@jstjohn
jstjohn force-pushed the jstjohn/phix-loss-improvement branch from 1a64e04 to 33b42a1 Compare September 3, 2026 19:44
@copy-pr-bot

copy-pr-bot Bot commented Sep 3, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@jstjohn
jstjohn force-pushed the jstjohn/phix-loss-improvement branch from 33b42a1 to 4bedef6 Compare September 3, 2026 20:02
@jstjohn
jstjohn changed the base branch from main to jstjohn/packed-evo2-inference-predict September 3, 2026 22:01
@jstjohn
jstjohn force-pushed the jstjohn/phix-loss-improvement branch 2 times, most recently from 7ab3f0d to ddfe217 Compare September 3, 2026 22:38
Base automatically changed from jstjohn/packed-evo2-inference-predict to main September 4, 2026 22:50
@jstjohn
jstjohn force-pushed the jstjohn/phix-loss-improvement branch from cb3bb0b to 0d1d88b Compare September 4, 2026 23:39
…nes in the original implementation

Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
…osely related phages, as well as notes on genome architecture and linear genomes

Signed-off-by: John St John <jstjohn@nvidia.com>
…in the skills

Signed-off-by: John St John <jstjohn@nvidia.com>
…o the changes

Signed-off-by: John St John <jstjohn@nvidia.com>
…te genomes naturally

Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
@jstjohn
jstjohn force-pushed the jstjohn/phix-loss-improvement branch from da2b22b to 130eea4 Compare September 10, 2026 23:43
Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
…ensitivity for partial hits

Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
…ternatives

Replace annotation-label quotas with A/B/C/D/E/F/G/H/J slots and curated
PHROG alternatives, including the viable alternate J. Document experimental
rationale, conditional K/A* scope, and broader natural-homolog curation.

Reuse one-to-one assignment and reward mean normalized function coverage;
remove the MILP solver and redundant evidence-target knob. Align Arc,
calibration, logging, docs, and skills, and reject unusable CSV evidence.

Validation: 263 focused tests and 75 CPU environment tests passed; final
Arc/skill rerun passed 61 tests. Five asset-dependent tests skipped.
Prepared Arc wrapper matches direct scoring on 371 saved records, including
264 viable-control rotations at full credit. Generated mean changes from
0.364685 to 0.284122 as unsupported pilot-label substitutions lose credit;
maximum remains 0.981046 and all 96 generated rows retain positive reward.
…synteny

Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
Run the protein createdb/align/convertalis stages with a private NUL-terminated exhaustive candidate database. Preserve target indices, alignment settings, thresholds, error propagation and scoring formulas.

Regression coverage for page-aligned indices and native failure paths. Qualified 20 exact-image ARM runs on the retained 5199-ORF batch with identical 1152-row outputs, plus exact full-scorer objective-vector agreement on WT and negative/mixed controls.
…y train masking when no phylo tags are present

Signed-off-by: John St John <jstjohn@nvidia.com>
…hich we primarily use

Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
…ent that was removed

Signed-off-by: John St John <jstjohn@nvidia.com>
Signed-off-by: John St John <jstjohn@nvidia.com>
…ng the accessory gene criteria

Signed-off-by: John St John <jstjohn@nvidia.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant