Skip to content

Add AlphaGenome tool suite (5 tools)#7680

Open
dannon wants to merge 4 commits intomainfrom
alphagenome
Open

Add AlphaGenome tool suite (5 tools)#7680
dannon wants to merge 4 commits intomainfrom
alphagenome

Conversation

@dannon
Copy link
Member

@dannon dannon commented Feb 13, 2026

Summary

Galaxy tool wrappers for Google DeepMind's AlphaGenome genomic foundation model. Five tools covering the main API endpoints:

  • Variant Effectpredict_variant() with max-abs log-fold-change scoring, VCF in/out
  • Variant Scorerscore_variant() with server-side gene-level aggregation and quantile normalization
  • ISM Scannerscore_ism_variants() for in-silico saturation mutagenesis
  • Interval Predictorpredict_interval() for baseline regulatory track characterization
  • Sequence Predictorpredict_sequence() for raw DNA sequence input (synbio, non-reference genomes)

All tools use Galaxy vault-backed credentials for the API key and the alphagenome bioconda package as the primary dependency.

Tests use a fixture-based approach (--test-fixture flag) that loads pre-computed API response data from JSON files, bypassing the API while still exercising the output-writing pipeline. Fixtures were captured from real API runs against the test inputs.

Caveat: I haven't written tools in forever, so I'm sure this needs additional work and I'm happy to address anything that pops up.

…ry genomics, 5 tools wrapping Google DeepMind's alphagenome API
Each script gets a --test-fixture arg that loads pre-computed data from a JSON file and writes output through the normal formatting path, bypassing model creation and API calls. variant_effect exercises the full VCF read/write/INFO annotation pipeline with fixture scores; the 4 TSV tools write fixture rows through csv.writer or pandas. Fixture JSON files contain synthetic placeholder data for now.
Copy link
Member

@bgruening bgruening left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @dannon ... I have added some very generic comments to help maybe testing without additional user-facing parameters.

I think many of the params can be moved into the macros file and can be reused in the tools.

<credentials name="alphagenome" version="1.0"
label="AlphaGenome API"
description="API key from Google DeepMind AlphaGenome">
<secret name="api_key" inject_as_env="ALPHAGENOME_API_KEY"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please look at the indentation or reformat it with the galaxy-language server?

</when>
</conditional>

<param name="verbose" type="boolean" checked="false" truevalue="true" falsevalue="false"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would remove this param from the user-visible params, either enable or disable by default.

<param name="verbose" type="boolean" checked="false" truevalue="true" falsevalue="false"
label="Verbose logging"/>

<param name="test_fixture" type="data" format="json" optional="true"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should also be removed I think, instead use type="hidden" set it to true and in the command section, when the hidden-param is set to true, use $__tool_directory__ to point to your test json.

<param name="ontology_terms" type="text" value="" label="Ontology terms (optional)"
help="Comma-separated UBERON/CL terms for tissue context, e.g. UBERON:0002107,CL:0000746"/>

<param name="sequence_length" type="select" label="Prediction window size">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are those bases or bytes?

<option value="mouse">Mouse (mm10)</option>
</param>

<param name="output_types" type="select" multiple="true" display="checkboxes"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

optional=false?

Comment on lines +177 to +183
-----

**Citation**

Avsec et al. (2025). "Predicting the impact of genetic variants on chromatin,
genes, and RNA processing with a unified model." *Nature*.
DOI: 10.1038/s41586-025-10014-0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
-----
**Citation**
Avsec et al. (2025). "Predicting the impact of genetic variants on chromatin,
genes, and RNA processing with a unified model." *Nature*.
DOI: 10.1038/s41586-025-10014-0

Comment on lines +29 to +31
#if $verbose
--verbose
#end if
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

set by default and remove from user input?

<option value="1MB">1 MB</option>
</param>

<param name="max_sequences" type="integer" value="20" min="1" max="1000"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

put into macro?

<validator type="no_options" message="Select at least one output type"/>
</param>

<param name="ontology_terms" type="text" value="" label="Ontology terms (optional)"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add a validator?

<option value="mouse">Mouse (mm10)</option>
</param>

<param name="output_types" type="select" multiple="true" display="checkboxes"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add to macro?

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.

2 participants