Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Analyzes base editing and prime editing outcomes including editing efficiency, bystander edits, and indel frequencies. Use when quantifying CRISPR base editor results, comparing ABE vs CBE efficiency, or assessing prime editing fidelity.
.claude/skills/bio-crispr-screens-base-editing-analysis/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | — | — |
| case-02 | ✗→✓ | ▲ Improved | — | — |
| case-12 | ✗→✓ | ▲ Improved | — | — |
| case-01 | ✗→✓ | ▲ Improved | — | — |
| case-09 | ✗→✓ | ▲ 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.
"Analyze my base editing outcomes" → Quantify base editing efficiency, bystander edits, and indel frequencies from amplicon sequencing data for CBE, ABE, and prime editing experiments.
CRISPResso --fastq_r1 reads.fq --amplicon_seq ATGC --base_editor_outputGoal: Quantify base editing efficiency and bystander edits from amplicon sequencing.
Approach: Run CRISPResso with --base_editor_output and the expected edited amplicon sequence to measure target base conversion, bystander edits, and indel frequencies.
bash# Analyze base editing with expected outcome CRISPResso --fastq_r1 reads.fq.gz \ --amplicon_seq ATGCGATCGATCGATCGATCGATCG \ --guide_seq TCGATCGATCGATCGAT \ --expected_hdr_amplicon_seq ATGCGATCGATCGTTCGATCGATCG \ --base_editor_output \ -o results/
| Metric | Description | |--------|-------------| | Editing efficiency | % reads with target base change | | Bystander edits | Unintended edits in editing window | | Indel frequency | Insertions/deletions (should be low) | | Purity | Target edit without bystanders |
bash# C->T conversion (or G->A on opposite strand) CRISPResso --fastq_r1 reads.fq.gz \ --amplicon_seq $AMPLICON \ --guide_seq $GUIDE \ --base_editor_output \ --conversion_nuc_from C \ --conversion_nuc_to T
bash# A->G conversion (or T->C on opposite strand) CRISPResso --fastq_r1 reads.fq.gz \ --amplicon_seq $AMPLICON \ --guide_seq $GUIDE \ --base_editor_output \ --conversion_nuc_from A \ --conversion_nuc_to G
bash# Prime editing with pegRNA CRISPResso --fastq_r1 reads.fq.gz \ --amplicon_seq $AMPLICON \ --guide_seq $SPACER \ --expected_hdr_amplicon_seq $EDITED_AMPLICON \ --prime_editing_pegRNA_extension_seq $EXTENSION \ -o prime_edit_results/
pythonimport pandas as pd # Load CRISPResso quantification quant = pd.read_csv('CRISPResso_output/Quantification_window_nucleotide_percentage_table.txt', sep='\t') # Calculate per-position editing editing_window = quant[(quant['Position'] >= -5) & (quant['Position'] <= 5)]
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-06 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | 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. 22 cases were attempted. The headline lift of +23 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.