Package: amplican 1.35.4

Eivind Valen

amplican: Automated analysis of CRISPR experiments

`amplican` performs alignment of the amplicon reads, normalizes gathered data, calculates multiple statistics (e.g. cut rates, frameshifts) and presents results in form of aggregated reports. Data and statistics can be broken down by experiments, barcodes, user defined groups, guides and amplicons allowing for quick identification of potential problems.

Authors:Kornel Labun [aut], Eivind Valen [cph, cre]

amplican_1.35.4.tar.gz
amplican_1.35.4.zip(r-4.7)amplican_1.35.4.zip(r-4.6)amplican_1.35.4.zip(r-4.5)
amplican_1.35.4.tgz(r-4.6-x86_64)amplican_1.35.4.tgz(r-4.6-arm64)amplican_1.35.4.tgz(r-4.5-x86_64)amplican_1.35.4.tgz(r-4.5-arm64)
amplican_1.35.4.tar.gz(r-4.7-arm64)amplican_1.35.4.tar.gz(r-4.7-x86_64)amplican_1.35.4.tar.gz(r-4.6-arm64)amplican_1.35.4.tar.gz(r-4.6-x86_64)
amplican_1.35.4.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
amplican/json (API)

# Install 'amplican' in R:
install.packages('amplican', repos = c('https://bioc.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/valenlab/amplican/issues

Uses libs:
  • c++– GNU Standard C++ Library v3

On BioConductor:amplican-1.35.1(bioc 3.24)amplican-1.34.0(bioc 3.23)

immunooncologytechnologyalignmentqpcrcrisprcpp

8.40 score 12 stars 61 scripts 53 exports 93 dependencies

Last updated from:c3ec0014bc. Checks:1 FAILURE, 11 WARNING, 2 OK. Indexed: yes.

TargetResultTimeFilesSyslog
bioc-checksFAILURE253
linux-devel-arm64WARNING269
linux-devel-x86_64WARNING253
source / vignettesOK370
linux-release-arm64WARNING273
linux-release-x86_64WARNING305
macos-release-arm64WARNING224
macos-release-x86_64WARNING537
macos-oldrel-arm64WARNING208
macos-oldrel-x86_64WARNING330
windows-develWARNING270
windows-releaseWARNING251
windows-oldrelWARNING256
wasm-releaseOK155

Exports:AlignmentsExperimentSetamplican_print_readsamplicanAlignamplicanConsensusamplicanFilteramplicanMapamplicanNormalizeamplicanOverlapamplicanPipelineamplicanPipelineConservativeamplicanReportamplicanSummarizeassignedCountbarcodeDatabarcodeData<-cigarsToEventscomb_alongexperimentDataexperimentData<-extractEventsfindEOPfindLQRfindPDfwdReadsfwdReads<-fwdReadsTypefwdReadsType<-get_seqgetEventsis_hdr_strictlookupAlignmentmetaplot_deletionsmetaplot_insertionsmetaplot_mismatchespairToEventsplot_cutsplot_deletionsplot_heightplot_heterogeneityplot_insertionsplot_mismatchesplot_variantsreadCountsreadCounts<-rveReadsrveReads<-rveReadsTyperveReadsType<-unassignedCountunassignedDataunassignedData<-wafflewriteAlignments

Dependencies:abindbase64encBHBiobaseBiocGenericsBiocParallelBiostringsbitopsbslibcachemcigarillocliclustercodetoolscpp11crayondata.tableDelayedArraydeldirdigestevaluatefarverfastmapfontawesomeformatRfsfutile.loggerfutile.optionsgenericsGenomicAlignmentsGenomicRangesggplot2ggthemesgluegridExtragtablehighrhtmltoolshwriterinterpIRangesisobandjpegjquerylibjsonliteknitrlabelinglambda.rlatticelatticeExtralifecyclemagrittrMASSMatrixMatrixGenericsmatrixStatsmemoisemimepillarpkgconfigpngpurrrpwalignR6rappdirsRColorBrewerRcppRcppEigenRhtslibrlangrmarkdownRsamtoolsS4ArraysS4VectorsS7sassscalesSeqinfoShortReadsnowSparseArraystringistringrSummarizedExperimenttibbletinytexutf8vctrsviridisLitewithrxfunXVectoryaml

ampliCan Code Explained
The big picture | Step 1: Setup and validation | What happens | Key options and their impact | Quirks | Step 2: Reading and quality filtering | Step 3: Collapsing identical reads | Key options | Step 4: Assigning reads to experiments | Step 5: Aligning reads to amplicons | Step 6: HDR detection | Step 7: The AlignmentsExperimentSet container | Step 8: Extracting events | Step 9: Filtering artifacts | Step 10: Consensus from both strands | Step 11: Cut-site overlap detection | Step 12: Shifting to relative coordinates | Step 13: Normalization against controls | Step 14: Summarization | Step 15: Reporting | Importing external alignments | Plotting and visualization | Quick reference: parameter summary | Quick reference: pipeline default differences

Last update: 2026-06-13
Started: 2026-06-13

Preparing amplican config from Excel with LLM assistance
Why transform through code, not by hand | The 12 required columns | The Amplicon column: case is everything | Strategy A: uppercase the guide plus a buffer (typical) | Strategy B: uppercase the whole interior (for controls or broad analysis) | Summary of buffer interaction | Direction: 0 or 1 | Primers: anchoring sequences, not necessarily PCR primers | What primers do in amplican | Rules for primers | Practical tip | The LLM workflow | Step 1: Export your column headers | Step 2: Prepare the prompt | Step 3: Review and run the generated code | Prompt template | Example: uppercase by guide with buffer | Example: uppercase whole interior (for controls) | Example: detect direction | Example: validate config | Donor extension (advanced) | Validation checklist | Putting it all together

Last update: 2026-06-13
Started: 2026-06-13

Tweaking amplican output
Prerequisites | Quick test with subsampling | Running the full pipeline | Simple one-liner | With custom parameters | Parallel processing | Output folder structure | Reading and interpreting results | config_summary.csv | barcode_reads_filters.csv | Tweak: primer matching | Tweak: which reads to use | Tweak: normalization | When normalization helps | When to disable normalization | How to check if normalization is working correctly | Adjusting the frequency threshold | Tweak: cut buffer | Tweak: PRIMER_DIMER threshold | Tweak: consensus strictness | HDR tweaking | Two detection modes | Decision tree | donor_mismatch behaves differently in each mode | Interaction with cut_buffer | How to check HDR results | Adding a custom HDR percentage column | Iteration workflow | Name folders by parameters | Subsample first, then run full | Compare across runs | Always check RunParameters.txt | Quick reference: tweak decision tree

Last update: 2026-06-13
Started: 2026-06-13

Report breakdown by amplicon sequence
Description | Amplicon Summary | Amplicon groups | Read distribution | Filtered Reads | Edit rates | Frameshift | Alignments plots

Last update: 2026-04-26
Started: 2017-06-02

Report breakdown by ID
Description | ID Summary | Read distribution | Filtered reads | Edit rates | Frameshift | Alignments plots

Last update: 2026-04-26
Started: 2017-06-02

Report breakdown by barcode
Description | Barcode Summary | Groups IDs | Read distribution | Filtered Reads | Edit rates | Frameshift

Last update: 2026-04-01
Started: 2017-06-02

Report breakdown by group
Description | Group Summary | Read distribution | Filtered reads | Edit rates | Frameshift | Alignments plots

Last update: 2026-04-01
Started: 2017-06-02

Report breakdown by guideRNA
Description | guideRNA Summary | Read distribution | Filtered Reads | Edit rates | Frameshift | Alignments plots

Last update: 2026-04-01
Started: 2017-06-02

ampliCan Overview
Introduction | Configuration file | Default options | Files created during analysis | barcode_reads_filters.csv | config_summary.csv | RunParameters.txt | "alignments" folder | reports folder | Detailed analysis | Aligning reads | Normalization | Making reports | Plotting alignments events

Last update: 2026-03-31
Started: 2016-08-23

Summary Read Report
Explanation of variables | Total reads | Read Quality | Read assignment | Edits | Reads by barcode | Summary Table

Last update: 2025-11-11
Started: 2017-04-20

ampliCan FAQ
Can ampliCan be used for TALENs, NICKASE or other types of genome editing? | I have one control that I want to use for many guides? How should I design the config file? | What is unique reads? | Why are Reads_Edited different from the sum of Reads_Del and Reads_Ins? | Can amplican handle ABI files? | When should I adjust the cutoff for normalization? | What when I have not used unique dual indexing pooling combinations?

Last update: 2023-05-02
Started: 2018-09-14

Readme and manuals

Help Manual

Help pageTopics
Automated analysis of CRISPR experiments.amplican-package amplican
Pretty print forward and reverse reads aligned to each other.amplican_print_reads
Align reads to amplicons.amplicanAlign
Extract consensus out of forward and reverse events.amplicanConsensus
Filter Events Overlapping Primers, PRIMER DIMERS and Low Alignment Score Events.amplicanFilter
Map events to their respective relative coordinates specified with UPPER case.amplicanMap
Remove events that can be found in Controls.amplicanNormalize
Check which events overlap expected cut sites.amplicanOverlap
Wraps main package functionality into one function.amplicanPipeline
Wraps main package functionality into one function.amplicanPipelineConservative
Prepare reports as .Rmd files.amplicanReport
Summarize how many reads have frameshift and how many reads have deletions.amplicanSummarize
Transform extended CIGAR strings into GRanges.cigarsToEvents
Generate all combinations along string exchanging m characters at a time with dictionary letters.comb_along
Find Events Overlapping Primers.findEOP
Find Off-targets and Fragmented alignments from reads.findLQR
Find PRIMER DIMER reads.findPD
Create quadratic or cubic bezier curves [copied from ggforce]geom_bezier stat_bezier
Transform aligned strings into GRanges representation of events.getEvents
Determine which reads conform to HDR using the donor (strict, event-presence).is_hdr_strict
Find full or partial primer start positions with mismatches.locate_pr_start
MetaPlots deletions using ggplot2.metaplot_deletions
MetaPlots insertions using ggplot2.metaplot_insertions
MetaPlots mismatches using ggplot2.metaplot_mismatches
Read "pair" format of EMBOSS needle into GRanges as events.pairToEvents
Plots cuts using ggplot2.plot_cuts
Plots deletions using ggplot2.plot_deletions
Get figure height in inches for number of elements on y axis.plot_height
Plots heterogeneity of the reads using ggplot2.plot_heterogeneity
Plots insertions using ggplot2.plot_insertions
Plots mismatches using ggplot2.plot_mismatches
Plots most frequent variants using ggplot2.plot_variants
Create a Waffle Chart using ggplot2waffle