Initial Release help-frontend

Dr. Frontend

Sequence Analysis (GYDE)

Frequency analysis component for analyzing amino acid mutations across sequence alignments. Originally from the GYDE (Genentech Antibody Design Environment) application.

Live Demo

Features

Mutation Frequency Analysis

Analyze the frequency of amino acid substitutions at each position in a multiple sequence alignment.

Selection Modes

Single, multiple, and frequency cutoff selection modes for flexible analysis.

Chain Navigation

Support for multi-chain sequences like heavy and light chains in antibodies.

CSV Export

Export frequency analysis results for further processing.

Implementation Guide

Step 1: Install Dependencies

Add the required packages to your project:

npm install @mui/material @emotion/react @emotion/styled

Step 2: Copy Component Files

Copy these files from the GYDE source to your project:

  • src/gyde/frequencyAnalysis/FrequencyAnalysis.js
  • src/gyde/frequencyAnalysis/frequencyAnalysisUtils.js
  • src/gyde/frequencyAnalysis/Summary.js

Step 3: Prepare Your Data

Format your sequence alignment data as columnar arrays:

// columnarData: object with sequence columns
const columnarData = {
  seq_heavy: ['EVQLV...', 'QVQLV...', ...],
  seq_light: ['DIQMT...', 'EIVLT...', ...]
};

// alignments: aligned sequences with gaps
const alignments = {
  heavy: ['-EVQLV...', 'QVQLV-...'],
  light: ['DIQMT-...', '-EIVLT...']
};

// references: reference sequence for each chain
const references = {
  heavy: 'EVQLVESGG...',
  light: 'DIQMTQSPS...'
};

Step 4: Add the Component

Import and use the FrequencyAnalysis component:

import FrequencyAnalysis from './gyde/frequencyAnalysis/FrequencyAnalysis';

function MyApp() {
  const [selectedColumns, setSelectedColumns] = useState({});

  return (
    <FrequencyAnalysis
      data={columnarData}
      alignments={alignments}
      references={references}
      seqColumns={['seq_heavy', 'seq_light']}
      selectedColumns={selectedColumns}
      updateSelectedColumns={setSelectedColumns}
    />
  );
}

Step 5: Handle Selection Events

The updateSelectedColumns callback receives selected positions for mutation analysis or design workflows.