Install any skill in seconds. Free to start, no credit card required.
Get Started Free →CRISPResso2 for analyzing CRISPR gene editing outcomes. Quantifies indels, HDR efficiency, and generates comprehensive editing reports. Use when analyzing amplicon sequencing data from CRISPR editing experiments to assess editing efficiency.
.claude/skills/bio-crispr-screens-crispresso-editing/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | — | — |
| case-10 | ✗→✓ | ▲ Improved | — | — |
| case-06 | ✗→✓ | ▲ Improved | — | — |
| case-01 | ✗→✓ | ▲ Improved | — | — |
| case-02 | ✗→✓ | ▲ Improved | — | — |
Reference examples tested with: CRISPResso2 2.2+, pandas 2.2+
Before using code patterns, verify installed versions match. If versions differ:
pip show <package> then help(module.function) to check signatures<tool> --version then <tool> --help to confirm flagsIf code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
"Quantify CRISPR editing from my amplicon data" → Analyze amplicon sequencing to measure indel frequencies, HDR efficiency, and frameshift rates from CRISPR gene editing experiments.
CRISPResso --fastq_r1 reads.fq --amplicon_seq ATGC --guide_seq GUIDEGoal: Quantify CRISPR editing outcomes from amplicon sequencing of a single target site.
Approach: Align amplicon reads against the reference and guide sequences with CRISPResso, which reports indel frequencies, allele tables, and editing efficiency plots.
bash# Analyze single amplicon CRISPResso \ --fastq_r1 sample_R1.fastq.gz \ --fastq_r2 sample_R2.fastq.gz \ --amplicon_seq AATGTCCCCCAATGGGAAGTTCATCTGGCACTGCCCACAGGTGAGGAGGTCATGATCCCCTTCTGGAGCTCCCAACGGGCCGTGGTCTGGTTCATCATCTGTAAGAATGGCTTCAAGAGGCTCGGCTGTGGTT \ --guide_seq CTGCCCACAGGTGAGGAGGT \ --output_folder crispresso_output \ --name sample1 # Output includes: # - Editing efficiency statistics # - Indel distribution # - Allele frequency plots
bash# Analyze HDR editing CRISPResso \ --fastq_r1 hdr_sample_R1.fastq.gz \ --fastq_r2 hdr_sample_R2.fastq.gz \ --amplicon_seq AATGTCCCCCAATGGGAAGTTCATCTGGCACTGCCCACAGGTGAGGAGGTCATGATCCCCTTCTGGAGCTCCCAACGGGCCGTGGTCTGGTTCATCATCTGTAAGAATGGCTTCAAGAGGCTCGGCTGTGGTT \ --guide_seq CTGCCCACAGGTGAGGAGGT \ --expected_hdr_amplicon_seq AATGTCCCCCAATGGGAAGTTCATCTGGCACTGCCCACAGGTGAGGAGGTCATGATCCCCTTCTGGAGCTCCCAACGGGCCGTGGTCTGGTTCATCATCTGTAAGAATGGCTTCAAGATGCTCGGCTGTGGTT \ --output_folder hdr_output \ --name hdr_sample
Goal: Process multiple CRISPR editing samples in a single run.
Approach: Define a batch file listing sample names, FASTQ paths, amplicon sequences, and guide sequences, then run CRISPRessoBatch for parallel multi-sample analysis.
bash# Create batch file (tab-separated) # batch.txt: # name fastq_r1 fastq_r2 amplicon_seq guide_seq # sample1 s1_R1.fq.gz s1_R2.fq.gz AMPLICON1 GUIDE1 # sample2 s2_R1.fq.gz s2_R2.fq.gz AMPLICON2 GUIDE2 CRISPRessoBatch \ --batch_settings batch.txt \ --output_folder batch_output \ --n_processes 8
bash# Analyze pooled amplicons CRISPRessoPooled \ --fastq_r1 pooled_R1.fastq.gz \ --fastq_r2 pooled_R2.fastq.gz \ --amplicon_file amplicons.txt \ --output_folder pooled_output \ --n_processes 8 # amplicons.txt format: # amplicon_name amplicon_seq guide_seq
bash# Analyze off-target editing from WGS CRISPRessoWGS \ --bam aligned.bam \ --reference genome.fa \ --regions_file targets.bed \ --output_folder wgs_output
Goal: Extract editing metrics from CRISPResso output for downstream analysis or reporting.
Approach: Load the mapping statistics and quantification files from the CRISPResso output directory, and parse the compressed allele frequency table for allele-level detail.
pythonimport pandas as pd import json # Load mapping statistics with open('crispresso_output/CRISPResso_mapping_statistics.txt') as f: stats = {} for line in f: key, value = line.strip().split('\t') stats[key] = value print(f"Reads aligned: {stats['READS_ALIGNED']}") print(f"Reads aligned %: {stats['READS_ALIGNED_PERCENTAGE']}") # Load quantification quant = pd.read_csv('crispresso_output/CRISPResso_quantification_of_editing_frequency.txt', sep='\t') print(quant) # Load allele frequency alleles = pd.read_csv('crispresso_output/Alleles_frequency_table.zip', compression='zip', sep='\t') print(f"Unique alleles: {len(alleles)}") print(alleles.head(10))
CRISPResso_output/
├── CRISPResso_mapping_statistics.txt # Read mapping stats
├── CRISPResso_quantification_of_editing_frequency.txt # Summary
├── Alleles_frequency_table.zip # All allele sequences
├── CRISPResso_RUNNING_LOG.txt # Analysis log
├── Indel_histogram.png # Indel size distribution
├── Insertion_deletion_substitution.png # Edit type pie chart
├── Alleles_frequency_table.png # Top allele bar plot
└── CRISPResso2_info.json # Machine-readable summarybash# Define expected outcomes CRISPResso \ --fastq_r1 sample_R1.fastq.gz \ --amplicon_seq AMPLICON \ --guide_seq GUIDE \ --coding_seq CODING_REGION \ --quantification_window_size 5 \ --quantification_window_center -3 \ --output_folder output
bash# For base editors (CBE/ABE) CRISPResso \ --fastq_r1 base_edit_R1.fastq.gz \ --amplicon_seq AMPLICON \ --guide_seq GUIDE \ --base_editor_output \ --conversion_nuc_from C \ --conversion_nuc_to T \ --output_folder base_edit_output
bash# For prime editing CRISPResso \ --fastq_r1 prime_edit_R1.fastq.gz \ --amplicon_seq AMPLICON \ --guide_seq GUIDE \ --prime_editing_pegRNA_spacer_seq SPACER \ --prime_editing_pegRNA_extension_seq EXTENSION \ --prime_editing_pegRNA_scaffold_seq SCAFFOLD \ --output_folder prime_edit_output
bash# Compare two CRISPResso runs CRISPRessoCompare \ --crispresso_output_folder_1 sample1_output \ --crispresso_output_folder_2 sample2_output \ --output_folder comparison_output
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-19 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-23 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 22 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +61 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.