Agent skill

Bio Crispr Screens Base Editing Analysis

by GPTomics in GPTomics/bioSkills

Analyzes base-editing screens for variant function. An agent skill from GPTomics/bioSkills.

MITAuto-check passedResearch & Science

Install Bio Crispr Screens Base Editing Analysis

skills CLI
$ npx skills add GPTomics/bioSkills --skill bio-crispr-screens-base-editing-analysis -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install GPTomics/bioSkills bio-crispr-screens-base-editing-analysis --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/crispr-screens/base-editing-analysis .claude/skills/bio-crispr-screens-base-editing-analysis && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
bio-crispr-screens-base-editing-analysis
GitHub stars
1.2k
Used in
1 other repo
Token cost
~5.8k tokens
SKILL.md length
1,932 words
Files
3
Skills in repo
559
Repo updated
First seen
Licence
MIT

At a glance

Analyzes base-editing screens for variant function. An agent skill from GPTomics/bioSkills.

  • Works in 4 steps: Tile multiple sgRNAs with different… → Use orthogonal chemistry: Run the same… → Bystander stratification: From… → …
  • Designing a BE variant screen
  • SKILL.md covers Version Compatibility, Base Editing Screen Analysis, Base Editor Chemistry Selection and Editing Window Math, plus 13 more sections
  • Runs Shell scripts from its folder; calls pip, git and docker; reaches github.com

What it does

Bio Crispr Screens Base Editing Analysis is an agent skill from GPTomics/bioSkills. Analyzes base-editing screens for variant function. Covers library design (Hanna 2021 ClinVar-scale CBE screen benchmarked on BRCA1/2, Cuella-Martin 2021 DDR saturation), CBE vs ABE chemistry choice (BE3/BE4 vs ABE7.10/ABE8.20/ABE8e), editing-window math (positions 4-8 from PAM-distal end; 4-7 for ABE7.10), bystander-edit quantification and the variant-call ambiguity it creates, sgRNA-efficiency filtering before hit calling, indel byproduct interpretation, the substitution-vs-indel diagnostic, variant annotation…

Its SKILL.md is about 5.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `examples/base_editing_analysis.sh` and `usage-guide.md`).

It sits in Research & Science, covering Bioinformatics. The repository describes itself as: a set of SKILLS.md for doing bioinformatics with agents like claude code. The licence is MIT.

When your agent uses it

  • Designing a BE variant screen
  • Choosing CBE vs ABE for a specific edit
  • Interpreting bystander-confounded hits
  • Distinguishing functional signal from indel artifact

Example prompts

  • “Use the bio-crispr-screens-base-editing-analysis skill to analyz base-editing screens for variant function. An agent skill from GPTomics/bioSkills”
  • “/bio-crispr-screens-base-editing-analysis”

Requirements

  • Python 3
  • A Bash shell

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Tile multiple sgRNAs with different bystander patterns: If 5 different sgRNAs all hit the target base but have different bystanders…
  2. Use orthogonal chemistry: Run the same variant scan with prime editor (no bystanders); cross-validate. See [[prime-editing-screens]].
  3. Bystander stratification: From CRISPResso2 allele table, partition reads by exact edit pattern (target only, target+bystander_1…
  4. Restrict library: Use only sgRNAs with zero bystanders in the editing window (rare; may exclude most candidate spacers).

What it can do on your machine

Read from SKILL.md and the folder at commit d91ed3d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • pip
    • git
    • docker

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    Also links to:

    • broadinstitute.github.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Bio Crispr Screens Base Editing Analysis loads about 5.8k tokens when it runs. Until then it costs about 223 tokens; SKILL.md has 1,932 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~223
When it runs · the whole SKILL.md, loaded when a task matches
~5.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from GPTomics/bioSkills at commit d91ed3d, republished under its MIT licence (© GPTomics). 1,932 words, ~5,812 tokens.

Download SKILL.mdSave it as .claude/skills/bio-crispr-screens-base-editing-analysis/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
bio-crispr-screens-base-editing-analysis
description
Analyzes base-editing screens for variant function. Covers library design (Hanna 2021 ClinVar-scale CBE screen benchmarked on BRCA1/2, Cuella-Martin 2021 DDR saturation), CBE vs ABE chemistry choice (BE3/BE4 vs ABE7.10/ABE8.20/ABE8e), editing-window math (positions 4-8 from PAM-distal end; 4-7 for ABE7.10), bystander-edit quantification and the variant-call ambiguity it creates, sgRNA-efficiency filtering before hit calling, indel byproduct interpretation, the substitution-vs-indel diagnostic, variant annotation against ClinVar / COSMIC, and the Broad be-validation-pipeline. Use when designing a BE variant screen, choosing CBE vs ABE for a specific edit, interpreting bystander-confounded hits, distinguishing functional signal from indel artifact, integrating CRISPResso2 output with screen scoring, or deciding BE vs PE for SNV installation.
tool_type
mixed
primary_tool
CRISPResso2

Version Compatibility

Reference examples tested with: CRISPResso2 2.2.14+, BE-Hive 1.0+ (BE prediction), pandas 2.2+, biopython 1.83+, numpy 1.26+, scipy 1.12+, scikit-learn 1.4+; Broad be-validation-pipeline notebooks (repo HEAD).

Before using code patterns, verify installed versions match. If versions differ:

  • CLI: CRISPResso --version
  • Python: pip show CRISPResso2; BE-Hive is a GitHub clone (maxwshen/be_predict_bystander), not a PyPI package

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

Base Editing Screen Analysis

"Analyze my base-editor variant-function screen" -> Quantify per-sgRNA target-base conversion, bystander rate, and indel byproducts from amplicon sequencing; filter on editing efficiency; map each sgRNA to its intended SNV (target + bystander pattern); compute per-variant fitness from the screen log-fold change; reconcile target vs bystander variant attribution; annotate against ClinVar / COSMIC.

  • CLI: CRISPResso --base_editor_output for per-amplicon BE quantification
  • CLI: Broad be-validation-pipeline for end-to-end pooled-screen analysis with editing-efficiency filtering
  • Python: BE-Hive (Arbab 2020) for editing-efficiency prediction; clone maxwshen/be_predict_bystander and import via sys.path
  • Web: BE-Designer (Hwang 2018, RGEN Tools) for variant-encoding sgRNA design

Base Editor Chemistry Selection

EditorReactionEditing windowIndel byproduct rateWhen to use
BE3 (Komor 2016)C->T (also G->A on opposite strand)Pos 4-8 from PAM-distal end5-10%Original; superseded
BE4 / BE4max (Koblan 2018)C->TPos 4-8<5%CBE standard
eA3A-BE3C->T narrow specificityPos 5-7<5%Specifically TC contexts (eA3A prefers TC)
ABE7.10 (Gaudelli 2017)A->G (T->C opposite strand)Pos 4-7<2%First ABE; slow at non-TA contexts
ABE8.20 (Gaudelli 2020)A->GPos 4-8<2%Modern ABE; high activity
ABE8e (Richter 2020)A->GPos 4-8<2%Highest editing activity; more processive than ABE7.10
evoCDA-BEC->T (broader)Pos 1-95-10%Larger editing window; more bystander
CGBE1 (Kurt 2021)C->GPos 5-75-10%C-to-G transversion; rare use
GBE (Zhao 2021)C->G or C->APos 4-75-10%Transversions; less mature

Decision rule: For a target SNV at position 4-8 of a candidate spacer with no bystander Cs/As in the same window, BE3-BE4 or ABE7.10 is sufficient. For high-throughput variant scanning where bystander tolerance must be minimized, use eA3A-BE3 (TC contexts only) for C->T, or ABE7.10 rather than ABE8e/ABE8.20 for A->G -- its 4-7 window is the narrowest ABE.

Editing Window Math

Why this matters for postdoc-level use: Base editors are tethered to dCas9 (or nCas9) and the deaminase acts on the displaced ssDNA "R-loop" formed when Cas9 binds. The deaminase has a fixed reach -- positions 4-8 from the PAM-distal end of the protospacer for canonical BE3/BE4, and 4-7 for ABE7.10. Outside this window, editing efficiency drops by 10-50x.

PAM-distal end                                                            PAM-proximal
   |                                                                          |
   1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18 19 20    NGG
                  ^^^^^^^^^^^
                  Canonical editing window (positions 4-8)

   For BE4max: positions 4-8 are 5-50x more efficient than positions 1-3 or 9-13 (ABE7.10: 4-7)
   For SpABE8e: positions 4-8 (Richter 2020), matching the corresponding CBEs rather than ABE7.10's narrower 4-7
   For evoCDA-BE: window 1-9 (broader; more bystander)

Critical implication for variant interpretation: If the intended edit is at position 5 and there is an additional editable C/A at position 7, both will be edited in the same molecule. The screen scores the combination of edits, not the intended one alone. This is bystander confounding.

sgRNA Library Design for BE Screens

Goal: Tile editing-window-positioned spacers across a protein region of interest to enable variant scanning.

Approach: For each amino acid in the target region, find NGG-adjacent spacers where the SNV-of-interest base falls in editing positions 4-8 with minimal bystander C/A in the same window. Annotate each spacer with the predicted amino acid changes (target + bystander).

python
import pandas as pd
import re
from Bio.Seq import Seq

def find_be_spacers(cds_sequence, cds_protein_start, target_aa, target_base='C', editor='BE4max'):
    '''Find sgRNAs that place target_base in editor-specific window at target_aa.
    Returns spacers with bystander annotation.

    Args:
        cds_sequence: nucleotide CDS (translated frame 1)
        cds_protein_start: amino acid number of CDS start (usually 1)
        target_aa: amino acid number to install variant (e.g., 130 for residue 130)
        target_base: 'C' (CBE) or 'A' (ABE)
        editor: 'BE3', 'BE4max', 'eA3A-BE3', 'ABE7.10', 'ABE8.20', 'ABE8e', 'evoCDA-BE'

    Returns: DataFrame with spacer, position-in-cds, target-base-position-in-spacer,
             bystander_positions, predicted_aa_changes
    '''
    # Editor-specific editing window (positions from PAM-distal end of spacer)
    window_by_editor = {
        'BE3': (4, 8),       'BE4max': (4, 8),    'eA3A-BE3': (5, 7),
        'ABE7.10': (4, 7),   'ABE8.20': (4, 8),   'ABE8e': (4, 8),     # SpABE8e matches CBE window (Richter 2020)
        'evoCDA-BE': (1, 9),
    }
    window_lo, window_hi = window_by_editor[editor]
    aa_index = target_aa - cds_protein_start  # 0-indexed in protein
    aa_start_nt = aa_index * 3                # nt offset in cds
    candidates = []
    spacer_len = 20
    pam_pattern = re.compile(r'(?=([ACGT]GG))')
    for strand, seq in [('+', cds_sequence), ('-', str(Seq(cds_sequence).reverse_complement()))]:
        for pam_match in pam_pattern.finditer(seq):
            pam_pos = pam_match.start()
            spacer_start = pam_pos - spacer_len
            if spacer_start < 0:
                continue
            spacer = seq[spacer_start:pam_pos]
            # Editor-specific window from PAM-distal end (1-indexed)
            # Find all editable bases in window
            edit_bases_in_window = []
            for i, b in enumerate(spacer[window_lo-1:window_hi], start=window_lo):
                if b == target_base:
                    edit_bases_in_window.append(i)
            if not edit_bases_in_window:
                continue
            # Annotate which edits hit the target_aa codon
            target_codon_start = aa_start_nt
            target_codon_end = target_codon_start + 3
            target_position_in_spacer = []
            for i in edit_bases_in_window:
                genomic_pos = spacer_start + i - 1
                if target_codon_start <= genomic_pos < target_codon_end:
                    target_position_in_spacer.append(i)
            bystander_positions = [i for i in edit_bases_in_window if i not in target_position_in_spacer]
            candidates.append({
                'spacer': spacer,
                'strand': strand,
                'spacer_start': spacer_start,
                'target_positions': target_position_in_spacer,
                'bystander_positions': bystander_positions,
                'n_bystanders': len(bystander_positions),
            })
    return pd.DataFrame(candidates).sort_values('n_bystanders')

Decision rule: Select spacers with target_positions != empty AND n_bystanders minimized. For variant-by-variant scanning, accept up to 1-2 bystanders if biology of those positions is interpretable; flag for downstream variant attribution.

Editing Efficiency Filtering (Critical Pre-Hit-Calling)

Goal: Drop sgRNAs that do not edit efficiently, since unedited reads represent no biological perturbation.

Approach: From CRISPResso2 output, compute target-base-conversion percentage per sgRNA; filter library to sgRNAs with >50% target editing in a pilot or co-screened control.

python
def filter_by_editing_efficiency(crispresso_outputs_dir, target_pos, target_base, efficiency_threshold=0.5):
    '''Drop sgRNAs that edit <efficiency_threshold of reads at target position.
    crispresso_outputs_dir: directory containing CRISPResso per-sample outputs.'''
    from pathlib import Path
    results = []
    for sample_dir in Path(crispresso_outputs_dir).glob('CRISPResso_on_*'):
        sgrna_id = sample_dir.name.replace('CRISPResso_on_', '')
        quant_file = sample_dir / 'Quantification_window_nucleotide_percentage_table.txt'
        if not quant_file.exists():
            continue
        df = pd.read_csv(quant_file, sep='\t')
        # Find target position in the quantification window
        target_row = df[df['Position'] == target_pos]
        if target_row.empty:
            continue
        # Editing = sum of non-original bases at target position
        original_pct = target_row[target_base].values[0]
        editing_pct = (100 - original_pct) / 100
        results.append({'sgrna_id': sgrna_id, 'editing_pct': editing_pct,
                         'pass_filter': editing_pct >= efficiency_threshold})
    return pd.DataFrame(results)

Convention: Drop sgRNAs below 50% editing for variant-function screens. A common working split is a 30% editing floor for primary screening and a 50% floor for confirmed hits. Below 30%, the screen has insufficient power; above 70%, results approach saturation editing.

Bystander Edit Attribution

Why this matters: When a sgRNA's editing window contains the target base AND a bystander base, the screen scores the combination. To attribute screen signal to the target variant alone, either (a) include sgRNAs that edit only the target (no bystander) -- often impossible -- or (b) deconvolute via parallel measurements.

Strategies for variant-by-variant attribution:

  1. Tile multiple sgRNAs with different bystander patterns: If 5 different sgRNAs all hit the target base but have different bystanders, common signal across them is target-attributable (Hanna 2021 approach).

  2. Use orthogonal chemistry: Run the same variant scan with prime editor (no bystanders); cross-validate. See [[prime-editing-screens]].

  3. Bystander stratification: From CRISPResso2 allele table, partition reads by exact edit pattern (target only, target+bystander_1, target+bystander_2, etc.); separately score each pattern's contribution to the phenotype.

  4. Restrict library: Use only sgRNAs with zero bystanders in the editing window (rare; may exclude most candidate spacers).

python
def deconvolute_bystander(allele_table_path, target_pos, bystander_pos_list):
    '''From CRISPResso2 allele table, partition reads by edit pattern at target + bystanders.
    Returns: per-pattern frequency for each combination of target/bystander edits.'''
    alleles = pd.read_csv(allele_table_path, sep='\t', compression='zip')
    # Mark target_edited and per-bystander_edited
    alleles['target_edited'] = alleles['Aligned_Sequence'].str[target_pos-1] != alleles['Reference_Sequence'].str[target_pos-1]
    for bp in bystander_pos_list:
        alleles[f'bystander_{bp}_edited'] = alleles['Aligned_Sequence'].str[bp-1] != alleles['Reference_Sequence'].str[bp-1]
    return alleles.groupby(['target_edited'] + [f'bystander_{bp}_edited' for bp in bystander_pos_list])['Reference_pct'].sum().reset_index()

Hit Calling for Variant-Function Screens

Goal: Score per-variant fitness from a base-editor screen.

Approach: Filter library to efficiency-passing sgRNAs (>50% editing), then run MAGeCK MLE or drugZ on the sgRNA-level counts; map each significant sgRNA to its predicted variant + bystander pattern; aggregate to per-variant scores.

python
def aggregate_variant_scores(mageck_sgrna_summary, variant_annotation_df):
    '''Aggregate sgRNA-level scores to per-variant scores.
    variant_annotation_df: per-sgRNA -> predicted variants (target + bystanders).'''
    df = mageck_sgrna_summary.merge(variant_annotation_df, on='sgRNA')
    # Target-only contribution: sgRNAs with no bystanders
    target_only = df[df['n_bystanders'] == 0]
    target_only_scores = target_only.groupby('target_variant')['LFC'].agg(['mean', 'std', 'count'])
    # Mixed signal: sgRNAs with bystanders
    mixed = df[df['n_bystanders'] > 0]
    return target_only_scores, mixed

Hanna 2021 BRCA1/2 Variant-Function Screen Methodology

Hanna et al 2021 Cell 184:1064 benchmarked CBE variant scanning at scale, screening 68,526 sgRNAs covering 52,034 ClinVar variants across 3,584 genes, with BRCA1 and BRCA2 as the positive/negative-selection benchmark:

  1. Design the CBE library from predicted variant impact (ClinVar annotation), covering each variant with the sgRNAs that install it
  2. Run drug-modifier screens (PARPi sensitivity) with vehicle vs drug
  3. Score per variant by aggregating over all sgRNAs that install it; cross-check against bystander-controlled sgRNAs

Standard surrounding practice: verify editing efficiency at a control timepoint via amplicon sequencing, drop low-efficiency sgRNAs (see the editing-efficiency convention above), and call sensitizers with a bidirectional method such as drugZ.

Quantified result: Recovered known loss-of-function variants in BRCA1 and BRCA2 with high precision, and identified PARP1 variants conferring resistance to PARP inhibitors.

Cuella-Martin 2021 DDR-Gene Variant Screening

Cuella-Martin et al 2021 Cell 184:1081-1097 screened ~86 DNA-damage-response (DDR) genes (including BRCA1/2) with CBE saturation mutagenesis:

  • Saturation CBE design across 86 DDR genes (not BRCA1/2 alone)
  • Identified pathogenic/likely-pathogenic variants in critical protein domains
  • Combined with biochemical and genetic validation (for example the 53BP1-USP28 interaction surface)
  • Demonstrated saturation mutagenesis is feasible at protein-domain scale

Relationship to Hanna 2021: the two studies appeared back-to-back in the same Cell issue and apply the same CBE variant-scanning strategy to complementary targets -- Hanna benchmarks against ClinVar-annotated variants genome-wide, Cuella-Martin saturates 86 DDR genes. Treat them as complementary methodology references, not as cross-validations of each other.

Cas9 vs Base Editor vs Prime Editor for Variant Installation

ApproachWhat it doesBystanderIndelsWhen to use
Cas9 + HDR templateInstalls precise edit + templateNoneHigh (NHEJ competition)When precise edit needed; high indel byproduct
Cas9 (no template)Random indels at cut siteNone70%+Loss-of-function; not variant-specific
CBE (BE3/BE4)C->T at editing windowYes (multiple Cs)<5%C->T variants with manageable bystanders
ABE (ABE7.10/ABE8e)A->G at editing windowYes (multiple As)<2%A->G variants; clean for single-A spacers
CGBE / GBEC->G or C->AYes5-10%Transversions; rare use cases
Prime editor (PE2/PE3)Templated edit; any base changeNone1-3%Precise variants; lower efficiency

Decision: For C->T or A->G with available editing window: base editor is preferred (higher efficiency than PE). For other transitions/transversions, multi-base edits, or zero-bystander requirements: prime editor.

Show full SKILL.md (727 more words)Show less

Broad be-validation-pipeline

The Broad Institute's be-validation-pipeline (https://broadinstitute.github.io/be-validation-pipeline/) is a CRISPResso2 post-processing and validation toolkit for BE amplicon data -- a set of Jupyter notebooks, not a workflow-engine pipeline. Run CRISPResso2 first, then execute the notebooks in order:

bash
git clone https://github.com/broadinstitute/be-validation-pipeline
cd be-validation-pipeline
pip install -r requirements.txt

# Step 1: run CRISPResso2 in batch mode (or use the BEV tool on GPP LIMS).
# The batch file is tab-delimited with columns: name, fastq_r1, amplicon_seq, guide_seq
# (plus optional -w, -wc, --exclude_bp_from_left/right).
docker run -v ${PWD}:/DATA -w /DATA -i pinellolab/crispresso2 \
    CRISPRessoBatch --batch_settings batch_file.txt --skip_failed --base_edit

# Step 2: run the notebooks in order against the CRISPResso2 output
#   notebooks/01_BEV_allele_frequencies.ipynb
#   notebooks/02_BEV_nucleotide_percentage_plots.ipynb
#   notebooks/03_BEV_editing_efficiency.ipynb
# Outputs: allele-frequency tables, nucleotide-percentage plots, editing-efficiency heat maps

The notebooks cover allele-frequency tabulation, nucleotide-level editing quantification and editing-efficiency summaries. Hit calling is NOT part of this toolkit -- score the screen separately with drugZ or MAGeCK.

Failure Modes

Mostly indels in BE sample

Trigger: Cas9 contamination, wrong vector (e.g., used pCas9-BE3 plasmid but selected on Cas9 line), or evoCDA-BE / broader-window chemistry. Mechanism: Cas9 cuts dsDNA; BE relies on nicked-ssDNA deamination. Cas9 expression in the same cell creates indels. Symptom: Substitution-vs-indel ratio <3 in CRISPResso output. Fix: Verify vector (nCas9-BE3 not Cas9-BE3); confirm cell line lacks Cas9 background; restrict to specifically engineered BE-cell lines.

High editing but no biological signal

Trigger: Bystander C/A is dominating; intended variant is not the perturbation driving phenotype. Mechanism: When target is at position 5 and bystander is at position 7, the molecule carries both; phenotype is from the bystander. Symptom: Strong screen signal but variant attribution unclear. Fix: Run orthogonal prime-editor scan of the same intended variants; restrict library to bystander-free spacers when possible; deconvolute via allele-frequency table.

sgRNA shows perfect editing but no fitness signal

Trigger: Intended variant is silent or compensatory; the protein function is unchanged. Mechanism: Variants can be tolerated; not all variants are LoF or GoF. Symptom: High editing efficiency (>70%) but per-sgRNA LFC near zero. Fix: Expected outcome for many variants; flag silent / compensatory variants in the report.

Low editing across all guides

Trigger: Wrong cell line for the BE; cell line has poor BE activity (some lines lack APOBEC or have low expression). Mechanism: BE efficiency depends on cell-line expression of TadA or APOBEC components. Symptom: Median editing <30% across library. Fix: Test in a BE-validated cell line (HEK293T, U2OS, K562 generally work); pilot before full screen.

Library missing intended-variant sgRNAs

Trigger: No NGG-adjacent spacer places target base in editing window for that codon. Mechanism: Editor window is fixed; some codons cannot be targeted with given chemistry. Symptom: Specific variants absent from screen. Fix: Use PAM-relaxed BE variants (SpRY-CBE, SpRY-ABE); use prime editor for variants outside BE accessibility; accept that some variants cannot be installed.

Quantitative Thresholds

ThresholdValueSource / Rationale
Editing windowPositions 4-8 from PAM-distal end (BE3/BE4); 4-7 (ABE7.10); 4-8 (SpABE8e)Komor 2016; Gaudelli 2017; Richter 2020
Editing efficiency for screen power>30% (primary); >50% (validation)Field convention (BE variant screens)
Indel byproduct (clean BE)<5%; <2% for ABEKoblan 2018 (BE4max); Gaudelli 2017 (ABE)
Substitution-vs-indel ratio>10 (clean BE); <3 (Cas9-like)CRISPResso2 diagnostic
Bystander rate (target attribution)<10% acceptable; <5% ideal for clean attributionApplication-dependent
Cell-line BE activity (pilot)>30% editing at validated targetBelow = wrong cell line for BE
Per-amino-acid sgRNA density10-15 (saturation designs); 5-8 (smaller screens)Tradeoff with library size

Common Errors

Error / symptomCauseSolution
Substitution-vs-indel ratio <3Cas9 contamination or wrong BEVerify vector / cell line; pilot first
All edits at bystander positionsTarget base outside windowRe-design spacer with target at pos 4-8
Variant attribution unclearBystander confoundingRun orthogonal PE; restrict library
Library lacks intended variantNo NGG-PAM accessibilitySpRY-CBE; prime editor; accept exclusion
Editing <30% library-wideCell-line BE inactivityRe-validate cell line
Hit list dominated by single sgRNABystander-driven phenotypeCross-check with bystander-free sgRNAs

References

  • Komor AC et al. 2016. Nature 533:420. BE3.
  • Gaudelli NM et al. 2017. Nature 551:464. ABE7.10.
  • Koblan LW et al. 2018. Nat Biotechnol 36:843. BE4max + improved CBE.
  • Richter MF et al. 2020. Nat Biotechnol 38:883. ABE8e; phage-assisted evolution of ABE7.10.
  • Lapinaite A et al. 2020. Science 369:566. ABE8e mechanism.
  • Gaudelli NM et al. 2020. Nat Biotechnol 38:892. ABE8 series (ABE8.20).
  • Hanna RE et al. 2021. Cell 184:1064. Massively parallel BRCA1/2 variant function via CBE.
  • Cuella-Martin R et al. 2021. Cell 184:1081-1097. CBE saturation across 86 DDR genes (BRCA1/2 plus others).
  • Arbab M et al. 2020. Cell 182:463. BE-Hive prediction of editing outcomes.
  • Anzalone AV et al. 2019. Nature 576:149. Prime editing (PE2/PE3).
  • Clement K et al. 2019. Nat Biotechnol 37:224. CRISPResso2.
  • Kurt IC et al. 2021. Nat Biotechnol 39:41. CGBE1.
  • crispr-screens/crispresso-editing - CRISPResso2 BE/PE mode and allele tables
  • crispr-screens/library-design - base-editor library design
  • crispr-screens/prime-editing-screens - Orthogonal PE for variant attribution
  • crispr-screens/hit-calling - Variant-level hit aggregation
  • crispr-screens/screen-qc - Editing-efficiency QC
  • crispr-screens/drugz-chemogenomic - drugZ for BE drug-modifier screens
  • clinical-databases/clinvar-lookup - Variant pathogenicity annotation
  • variant-calling/variant-annotation - VEP for predicted amino acid changes

© GPTomics, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in crispr-screens/base-editing-analysis of GPTomics/bioSkills.

  • SKILL.md
  • examples/base_editing_analysis.sh
  • usage-guide.md

Open the folder on GitHubat commit d91ed3d

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in GPTomics/bioSkills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Bio Crispr Screens Base Editing Analysis next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Bio Crispr Screens Base Editing Analysis compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Bio Crispr Screens Base Editing Analysis this skillGPTomics/bioSkills1.2k1 repos~5.8kAutomated safety check: PassMIT
Alphagenome Single Variant Analysisgoogle-deepmind/science-skills3.2k2 repos~3kAutomated safety check: NotesApache-2.0
13C Metabolic Flux AnalysisK-Dense-AI/scientific-agent-skills48k1 repos~3.2kAutomated safety check: PassMIT
Clinvar Databasegoogle-deepmind/science-skills3.2k2 repos~3.9kAutomated safety check: NotesApache-2.0
Metabolic Study Planneraiming-lab/AutoResearchClaw15k—~1.9kAutomated safety check: PassMIT
Dbsnp Databasegoogle-deepmind/science-skills3.2k2 repos~3.4kAutomated safety check: NotesApache-2.0

Similar skills

  • Alphagenome Single Variant Analysis

    google-deepmind/science-skills

    Analyzes genetic variant effects on gene expression (RNA-seq), chromatin accessibility (DNASE), histone marks (ChIP), and transcription factors using the AlphaGenome API.

    3.2k GitHub starsUsed in 2 repos~3k tokens
    Research & ScienceAuto-check: notes
  • 13C Metabolic Flux Analysis

    K-Dense-AI/scientific-agent-skills

    Estimates reaction fluxes inside cells from steady-state carbon-13 labeling data with a bundled mfapy-based solver, and reports which fluxes the data pin down.

    48k GitHub starsUsed in 1 repo~3.2k tokens
    Research & ScienceAuto-check passed
  • Clinvar Database

    google-deepmind/science-skills

    A skill your agent uses when needing clinical significance, pathogenicity classifications (e.g., Pathogenic, Benign, VUS), clinical evidence rationales, or finding "hard positive" benchmark controls…

    3.2k GitHub starsUsed in 2 repos~3.9k tokens
    Research & ScienceAuto-check: notes
  • Metabolic Study Planner

    aiming-lab/AutoResearchClaw

    Turns a broad metabolic modelling topic into a concrete, paper-shaped plan with organism, model, perturbations, metrics and figures before any FBA code is written.

    15k GitHub stars~1.9k tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • Dbsnp Database

    google-deepmind/science-skills

    A skill your agent uses when you want to look up, map, and search for short genetic variants (SNPs, indels) in NCBI's dbSNP database.

    3.2k GitHub starsUsed in 2 repos~3.4k tokens
    Research & ScienceAuto-check: notes
  • MFA Pipeline Orchestrator

    aiming-lab/AutoResearchClaw

    Runs a metabolic flux analysis from model loading to phenotype prediction and figures by handing work to four sub-agents in sequence.

    15k GitHub stars~923 tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed

More from GPTomics/bioSkills

All 559 skills in this repo
  • Bio Alignment Io

    GPTomics/bioSkills

    Read, write, and convert multiple sequence alignment files using Biopython Bio.AlignIO.

    1.2k GitHub starsUsed in 3 repos~4.9k tokens
    Auto-check passed
  • bioSkills Installer

    GPTomics/bioSkills

    Installs the bioSkills collection of 425 bioinformatics skills in one step, or only chosen categories, so sequencing, RNA-seq, single-cell and variant tasks get specialized help.

    1.2k GitHub starsUsed in 1 repo~789 tokens
    Auto-check passed
  • Bio Write Sequences

    GPTomics/bioSkills

    Write biological sequences to files (FASTA, FASTQ, GenBank, EMBL) using Biopython Bio.SeqIO.

    1.2k GitHub starsUsed in 3 repos~2.1k tokens
    Auto-check passed
  • Amplicon Primer Clipping

    GPTomics/bioSkills

    Soft- or hard-clips PCR primer footprints from aligned amplicon BAMs so primer bases stop masquerading as confirmed reference sequence.

    1.2k GitHub starsUsed in 2 repos~2.2k tokens
    Auto-check passed
  • Filters BAM alignments by FLAG bits, mapping quality and regions with samtools view or pysam, with recipes for common keep and drop cases.

    1.2k GitHub starsUsed in 2 repos~3.6k tokens
    Auto-check passed
  • Bio Alignment Indexing

    GPTomics/bioSkills

    Create and use BAI/CSI indices for BAM/CRAM files using samtools and pysam.

    1.2k GitHub starsUsed in 2 repos~2.4k tokens
    Auto-check passed

Questions about Bio Crispr Screens Base Editing Analysis

What does Bio Crispr Screens Base Editing Analysis do?

Analyzes base-editing screens for variant function. An agent skill from GPTomics/bioSkills. Bio Crispr Screens Base Editing Analysis is an agent skill from GPTomics/bioSkills. Analyzes base-editing screens for variant function.

When should I use Bio Crispr Screens Base Editing Analysis?

Bio Crispr Screens Base Editing Analysis fits situations like: designing a BE variant screen; choosing CBE vs ABE for a specific edit; interpreting bystander-confounded hits; distinguishing functional signal from indel artifact.

How do I install Bio Crispr Screens Base Editing Analysis in Claude Code?

Run `npx skills add GPTomics/bioSkills --skill bio-crispr-screens-base-editing-analysis -a claude-code`. Or copy the skill folder (crispr-screens/base-editing-analysis in GPTomics/bioSkills) into .claude/skills/bio-crispr-screens-base-editing-analysis in your project. Claude Code loads it when a task matches its description.

How do I install Bio Crispr Screens Base Editing Analysis in Codex?

Run `npx skills add GPTomics/bioSkills --skill bio-crispr-screens-base-editing-analysis -a codex`. Or copy the skill folder (crispr-screens/base-editing-analysis in GPTomics/bioSkills) into .agents/skills/bio-crispr-screens-base-editing-analysis in your project. Codex loads it when a task matches its description.

Can I use Bio Crispr Screens Base Editing Analysis in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add GPTomics/bioSkills --skill bio-crispr-screens-base-editing-analysis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bio-crispr-screens-base-editing-analysis, .gemini/skills/bio-crispr-screens-base-editing-analysis, .github/skills/bio-crispr-screens-base-editing-analysis and .opencode/skills/bio-crispr-screens-base-editing-analysis in your project.

What does Bio Crispr Screens Base Editing Analysis need to run?

Going by SKILL.md and its folder, Bio Crispr Screens Base Editing Analysis needs a shell for the scripts in its folder and the command-line tools its instructions call (pip, git and docker). Our summary lists: Python 3; A Bash shell.

Does Bio Crispr Screens Base Editing Analysis access the network?

SKILL.md names 2 domains. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. As links in the text: broadinstitute.github.io. This is read from the text; nothing was executed.

Is Bio Crispr Screens Base Editing Analysis safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Bio Crispr Screens Base Editing Analysis use?

Bio Crispr Screens Base Editing Analysis is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Bio Crispr Screens Base Editing Analysis use?

About 5.8k tokens (SKILL.md is roughly 23k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Bio Crispr Screens Base Editing Analysis?

Skills that share tags, products or a category with Bio Crispr Screens Base Editing Analysis: Alphagenome Single Variant Analysis (google-deepmind/science-skills, 3.2k stars), 13C Metabolic Flux Analysis (K-Dense-AI/scientific-agent-skills, 48k stars), Clinvar Database (google-deepmind/science-skills, 3.2k stars) and Metabolic Study Planner (aiming-lab/AutoResearchClaw, 15k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Bio Crispr Screens Base Editing Analysis?

GPTomics (a GitHub organization) maintains it in GPTomics/bioSkills, which has 1,218 GitHub stars. The repository holds 559 skills in this directory. The repository was last updated on August 15, 2026.

Source: GPTomics/bioSkills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.