predict_allele_specific_effects
Analyze how genetic variants affect gene regulation differently across alleles to support allele-specific expression analysis and imprinting studies.
Instructions
Analyze allele-specific regulatory effects.
Detailed analysis of how each allele affects gene regulation differently.
Perfect for: ASE analysis, imprinting studies.
Example: "Analyze allele-specific effects of chr15:67890123A>G"
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chromosome | Yes | ||
| position | Yes | ||
| ref | Yes | ||
| alt | Yes | ||
| tissue_type | No |
Implementation Reference
- src/index.ts:242-248 (handler)MCP callTool request handler case that executes the tool by calling the AlphaGenomeClient method.case 'predict_allele_specific_effects': { const params = validateInput(variantPredictionSchema, args) as VariantPredictionParams; const result = await getClient().predictAlleleSpecificEffects(params); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }], }; }
- src/tools.ts:582-602 (schema)Tool schema definition including input validation schema, description, and name.export const PREDICT_ALLELE_SPECIFIC_EFFECTS_TOOL: Tool = { name: 'predict_allele_specific_effects', description: `Analyze allele-specific regulatory effects. Detailed analysis of how each allele affects gene regulation differently. Perfect for: ASE analysis, imprinting studies. Example: "Analyze allele-specific effects of chr15:67890123A>G"`, inputSchema: { type: 'object', properties: { chromosome: { type: 'string', pattern: '^chr([1-9]|1[0-9]|2[0-2]|X|Y)$' }, position: { type: 'number', minimum: 1 }, ref: { type: 'string', pattern: '^[ATGCatgc]+$' }, alt: { type: 'string', pattern: '^[ATGCatgc]+$' }, tissue_type: { type: 'string' }, }, required: ['chromosome', 'position', 'ref', 'alt'], }, };
- src/tools.ts:709-730 (registration)Registration of the tool in the ALL_TOOLS array exported for use in MCP listTools handler.export const ALL_TOOLS: Tool[] = [ PREDICT_VARIANT_TOOL, BATCH_SCORE_TOOL, ASSESS_PATHOGENICITY_TOOL, PREDICT_TISSUE_SPECIFIC_TOOL, COMPARE_VARIANTS_TOOL, PREDICT_SPLICE_IMPACT_TOOL, PREDICT_EXPRESSION_IMPACT_TOOL, ANALYZE_GWAS_LOCUS_TOOL, COMPARE_ALLELES_TOOL, BATCH_TISSUE_COMPARISON_TOOL, PREDICT_TF_BINDING_IMPACT_TOOL, PREDICT_CHROMATIN_IMPACT_TOOL, COMPARE_PROTECTIVE_RISK_TOOL, BATCH_PATHOGENICITY_FILTER_TOOL, COMPARE_VARIANTS_SAME_GENE_TOOL, PREDICT_ALLELE_SPECIFIC_EFFECTS_TOOL, ANNOTATE_REGULATORY_CONTEXT_TOOL, BATCH_MODALITY_SCREEN_TOOL, GENERATE_VARIANT_REPORT_TOOL, EXPLAIN_VARIANT_IMPACT_TOOL, ];
- scripts/alphagenome_bridge.py:578-598 (handler)Core handler function implementing the allele-specific effects prediction by calculating ASE ratio from reference and alternate expression scores.def predict_allele_specific_effects(client, params: Dict[str, Any]) -> Dict[str, Any]: """Analyze allele-specific expression effects.""" result = predict_variant_effect(client, params) rna_data = result['predictions'].get('rna_seq', {}) ref_score = rna_data.get('reference_score', 0) alt_score = rna_data.get('alternate_score', 0) # Calculate allele-specific ratio if ref_score + alt_score > 0: ase_ratio = alt_score / (ref_score + alt_score) else: ase_ratio = 0.5 return { 'variant': result['variant'], 'ref_expression': ref_score, 'alt_expression': alt_score, 'ase_ratio': float(ase_ratio), 'interpretation': 'alt_biased' if ase_ratio > 0.6 else ('ref_biased' if ase_ratio < 0.4 else 'balanced') }
- src/alphagenome-client.ts:412-418 (helper)Helper client method that invokes the Python bridge for the tool execution.async predictAlleleSpecificEffects(params: VariantPredictionParams): Promise<any> { try { return await this.callPythonBridge('predict_allele_specific_effects', params); } catch (error) { if (error instanceof ApiError) throw error; throw new ApiError(`Allele-specific effects prediction failed: ${error}`, 500); }