home / skills / gptomics / bioskills / mixcr-analysis

mixcr-analysis skill

/tcr-bcr-analysis/mixcr-analysis

This skill performs MiXCR-based V(D)J alignment and clonotype assembly from TCR/BCR data to identify clonotypes and their frequencies.

npx playbooks add skill gptomics/bioskills --skill mixcr-analysis

Review the files below or copy the command above to add this skill to your agents.

Files (3)
SKILL.md
4.7 KB
---
name: bio-tcr-bcr-analysis-mixcr-analysis
description: Perform V(D)J alignment and clonotype assembly from TCR-seq or BCR-seq data using MiXCR. Use when processing raw immune repertoire sequencing data to identify clonotypes and their frequencies.
tool_type: cli
primary_tool: MiXCR
---

## Version Compatibility

Reference examples tested with: MiXCR 4.6+, pandas 2.2+

Before using code patterns, verify installed versions match. If versions differ:
- Python: `pip show <package>` then `help(module.function)` to check signatures
- CLI: `<tool> --version` then `<tool> --help` to confirm flags

If code throws ImportError, AttributeError, or TypeError, introspect the installed
package and adapt the example to match the actual API rather than retrying.

# MiXCR Analysis

**"Extract TCR/BCR clonotypes from my sequencing data"** → Assemble immune receptor sequences from raw reads, identify V(D)J gene segments, and generate clonotype tables for repertoire analysis.
- CLI: `mixcr analyze` for end-to-end TCR/BCR extraction and clonotype assembly

## Complete Workflow (Recommended)

**Goal:** Run end-to-end V(D)J alignment and clonotype assembly from raw FASTQ files in a single command.

**Approach:** Use MiXCR's preset-based `analyze` command which chains alignment, assembly, and export steps automatically.

```bash
mixcr analyze generic-tcr-amplicon \
    --species human \
    --rna \
    --rigid-left-alignment-boundary \
    --floating-right-alignment-boundary C \
    input_R1.fastq.gz input_R2.fastq.gz \
    output_prefix

mixcr analyze 10x-vdj-tcr \
    input_R1.fastq.gz input_R2.fastq.gz \
    output_prefix
```

## Step-by-Step Workflow

**Goal:** Process immune repertoire data through individual alignment, refinement, assembly, and export stages for fine-grained control.

**Approach:** Chain MiXCR CLI steps sequentially: align reads to V(D)J references, refine UMIs and sort, assemble clonotypes, then export results.

### Step 1: Align Reads

```bash
mixcr align \
    --species human \
    --preset generic-tcr-amplicon-umi \
    input_R1.fastq.gz input_R2.fastq.gz \
    alignments.vdjca

mixcr align \
    --species human \
    --rna \
    -OallowPartialAlignments=true \
    input_R1.fastq.gz input_R2.fastq.gz \
    alignments.vdjca
```

### Step 2: Refine and Assemble

```bash
mixcr refineTagsAndSort alignments.vdjca alignments_refined.vdjca

mixcr assemble alignments_refined.vdjca clones.clns
```

### Step 3: Export Results

```bash
mixcr exportClones \
    --chains TRB \
    --preset full \
    clones.clns \
    clones.tsv

mixcr exportClones \
    --chains TRB \
    -cloneId -readCount -readFraction \
    -nFeature CDR3 -aaFeature CDR3 \
    -vGene -dGene -jGene \
    clones.clns \
    clones_custom.tsv
```

## Preset Protocols

| Protocol | Use Case |
|----------|----------|
| `generic-tcr-amplicon` | TCR amplicon sequencing |
| `generic-bcr-amplicon` | BCR amplicon sequencing |
| `generic-tcr-amplicon-umi` | TCR amplicon with UMIs |
| `rnaseq-tcr` | TCR extraction from bulk RNA-seq |
| `rnaseq-bcr` | BCR extraction from bulk RNA-seq |
| `10x-vdj-tcr` | 10x Genomics TCR enrichment |
| `10x-vdj-bcr` | 10x Genomics BCR enrichment |
| `takara-human-tcr-v2` | Takara SMARTer kit |

## Species Support

```bash
mixcr align --species human ...
mixcr align --species mmu ...

# Available: human, mmu, rat, rhesus, dog, pig, rabbit, chicken
```

## Output Format

| Column | Description |
|--------|-------------|
| cloneId | Unique clone identifier |
| readCount | Number of reads |
| cloneFraction | Proportion of repertoire |
| nSeqCDR3 | Nucleotide CDR3 sequence |
| aaSeqCDR3 | Amino acid CDR3 sequence |
| allVHitsWithScore | V gene assignments |
| allDHitsWithScore | D gene assignments |
| allJHitsWithScore | J gene assignments |

## Quality Metrics

**Goal:** Assess alignment and assembly quality to identify problematic samples.

**Approach:** Export MiXCR alignment reports and check key success rate metrics.

```bash
mixcr exportReports alignments.vdjca

# Key metrics:
# - Successfully aligned reads (>80% is good)
# - CDR3 found (>70% of aligned)
# - Clonotype count (varies by sample type)
```

## Parse MiXCR Output in Python

**Goal:** Load MiXCR clonotype tables into pandas for downstream analysis and integration.

**Approach:** Read tab-delimited export files and rename columns to standardized names.

```python
import pandas as pd

def load_mixcr_clones(filepath):
    df = pd.read_csv(filepath, sep='\t')
    df = df.rename(columns={
        'readCount': 'count',
        'cloneFraction': 'frequency',
        'aaSeqCDR3': 'cdr3_aa',
        'nSeqCDR3': 'cdr3_nt'
    })
    return df
```

## Related Skills

- vdjtools-analysis - Downstream diversity analysis
- scirpy-analysis - Single-cell VDJ integration
- repertoire-visualization - Visualize MiXCR output

Overview

This skill performs end-to-end V(D)J alignment and clonotype assembly from TCR-seq or BCR-seq data using MiXCR. It provides both a one-command workflow for quick processing and a stepwise CLI pattern for fine-grained control, plus Python helpers to load and normalize clonotype tables for downstream analysis. Use it to extract clonotypes, counts, frequencies, and gene calls ready for repertoire analysis.

How this skill works

The skill uses MiXCR CLI presets or discrete commands to align raw FASTQ reads to V/D/J references, refine alignments (UMI handling and sorting), assemble clonotypes, and export tabular clone lists. It also recommends quality-report exports and supplies a small Python utility to read and standardize MiXCR export files into pandas DataFrames for downstream analyses.

When to use it

  • Processing raw TCR-seq or BCR-seq FASTQ to get clonotypes and frequencies
  • Running a quick, reproducible end-to-end pipeline using MiXCR presets
  • Needing fine-grained control over alignment, UMI refinement, or assembly steps
  • Preparing MiXCR exports for downstream analysis in pandas or other tools
  • Assessing alignment and clonotype quality across samples before diversity analysis

Best practices

  • Prefer mixcr analyze with an appropriate preset for standard experiments to minimize parameter errors
  • Verify MiXCR and Python package versions before running examples and adapt flags if CLI signatures differ
  • Use preset protocols matching library chemistry (e.g., generic-tcr-amplicon, 10x-vdj-tcr) to improve alignment accuracy
  • Export and review MiXCR reports to check alignment success rate, CDR3 recovery, and clonotype counts
  • Normalize exported columns (readCount → count, cloneFraction → frequency) when loading into pandas for consistent downstream workflows

Example use cases

  • Run mixcr analyze generic-tcr-amplicon --species human --rna --rigid-left-alignment-boundary input_R1.fastq.gz input_R2.fastq.gz output_prefix for a quick end-to-end run
  • Align with mixcr align (with UMIs or RNA flags), refineTagsAndSort, assemble, then exportClones to customize assembly and export fields
  • Export MiXCR reports and confirm >80% successfully aligned reads and >70% CDR3 recovery before proceeding to diversity metrics
  • Load clones.tsv into pandas using the provided load_mixcr_clones helper and merge with sample metadata for cohort-level analyses
  • Use chain-specific exports (e.g., --chains TRB) to focus on a receptor of interest for downstream repertoire metrics

FAQ

What MiXCR version is required?

Examples target MiXCR 4.6+; verify with mixcr --version and adapt flags if your CLI differs.

How do I handle mismatched column names in exports?

Rename exported columns to a standardized schema (readCount→count, cloneFraction→frequency, aaSeqCDR3→cdr3_aa) when loading into pandas; a helper function is provided.