Skip to main content
Glama
taehojo
by taehojo

predict_tissue_specific

Predicts how genetic variants affect gene regulation in specific tissues like brain, liver, and heart to identify tissue-specific disease mechanisms.

Instructions

Predict variant effects across multiple tissues.

Compares regulatory impact in different tissues to identify tissue-specific effects.

Default tissues: brain, liver, heart (customizable)

Returns impact levels and expression changes for each tissue.

Perfect for: understanding tissue-specific disease mechanisms, prioritizing relevant tissues.

Example: "Compare rs429358 effects in brain, liver, and heart"

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chromosomeYesChromosome
positionYesGenomic position
refYesReference allele
altYesAlternate allele
tissuesNoList of tissues to test (default: brain, liver, heart)

Implementation Reference

  • Core handler function implementing predict_tissue_specific tool logic: iterates over tissues, calls predict_variant_effect for each, aggregates tissue-specific impact results.
    def predict_tissue_specific(client, params: Dict[str, Any]) -> Dict[str, Any]:
        """
        Predict variant effects across multiple tissues.
        """
        tissues = params.get('tissues', ['brain', 'liver', 'heart'])
    
        results = {}
        for tissue in tissues:
            tissue_params = params.copy()
            tissue_params['tissue_type'] = tissue
            try:
                result = predict_variant_effect(client, tissue_params)
                results[tissue] = {
                    'expression_impact': result['predictions'].get('rna_seq', {}).get('fold_change', 0),
                    'splice_impact': result['predictions'].get('splice', {}).get('delta', 0),
                    'impact_level': result['interpretation']['impact_level']
                }
            except Exception as e:
                print(f"Warning: Failed to predict for tissue {tissue}: {e}", file=sys.stderr)
                results[tissue] = {'error': str(e)}
    
        return {
            'variant': f"{params.get('chromosome')}:{params.get('position')}{params.get('ref')}>{params.get('alt')}",
            'tissue_results': results
        }
  • Tool schema definition including name, description, and inputSchema for validation (chromosome, position, ref, alt, optional tissues).
    export const PREDICT_TISSUE_SPECIFIC_TOOL: Tool = {
      name: 'predict_tissue_specific',
      description: `Predict variant effects across multiple tissues.
    
    Compares regulatory impact in different tissues to identify tissue-specific effects.
    
    Default tissues: brain, liver, heart (customizable)
    
    Returns impact levels and expression changes for each tissue.
    
    Perfect for: understanding tissue-specific disease mechanisms, prioritizing relevant tissues.
    
    Example: "Compare rs429358 effects in brain, liver, and heart"`,
      inputSchema: {
        type: 'object',
        properties: {
          chromosome: {
            type: 'string',
            description: 'Chromosome',
            pattern: '^chr([1-9]|1[0-9]|2[0-2]|X|Y)$',
          },
          position: {
            type: 'number',
            description: 'Genomic position',
            minimum: 1,
          },
          ref: {
            type: 'string',
            description: 'Reference allele',
            pattern: '^[ATGCatgc]+$',
          },
          alt: {
            type: 'string',
            description: 'Alternate allele',
            pattern: '^[ATGCatgc]+$',
          },
          tissues: {
            type: 'array',
            items: {
              type: 'string',
            },
            description: 'List of tissues to test (default: brain, liver, heart)',
          },
        },
        required: ['chromosome', 'position', 'ref', 'alt'],
      },
    };
  • src/index.ts:154-158 (registration)
    MCP server handler registration: switch case dispatching to AlphaGenome client predictTissueSpecific method.
    case 'predict_tissue_specific': {
      const result = await getClient().predictTissueSpecific(args);
      return {
        content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
      };
  • src/tools.ts:709-730 (registration)
    Tool registration in ALL_TOOLS array export, including PREDICT_TISSUE_SPECIFIC_TOOL (line 713).
    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,
    ];
  • Python bridge dispatch: routes 'predict_tissue_specific' action to the handler function.
    elif action == 'predict_tissue_specific':
        result = predict_tissue_specific(client, params)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/taehojo/alphagenome-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server