Connection check
verified live · 28h ago
workbench
Hosted DNA/RNA/protein tools: primers, oligos, PCR, cloning, CRISPR, alignment, batch & pipelines.
Tools
106
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
28h ago
Tools & capabilities
106 toolsRead from the running server on 28h ago.
alphafold_lookup
read-only
accession*
Look up a UniProt accession in the AlphaFold Protein Structure Database (CC-BY 4.0). Returns confidence, model version and structure file URLs, or {found:false} when no prediction… Look up a UniProt accession in the AlphaFold Protein Structure Database (CC-BY 4.0). Returns confidence, model version and structure file URLs, or {found:false} when no prediction exists for that accession.
aso_design
read-only
winglengthtarget*
Design antisense-oligonucleotide (ASO) gapmers against an mRNA target: scans candidate sites, builds the antisense oligo in the standard 5-10-5 architecture (chemically-modified wi… Design antisense-oligonucleotide (ASO) gapmers against an mRNA target: scans candidate sites, builds the antisense oligo in the standard 5-10-5 architecture (chemically-modified wings, central DNA gap for RNase H1, phosphorothioate backbone), and screens each for known liabilities (G-quadruplex motifs, CpG immunostimulation, self-complementarity, GC extremes). No transcriptome-wide off-target search.
assembly_outcomes
read-only
namesenzymemethoddatasetcircularfragments*
+2
Enumerate the specific wrong plasmids a multi-part Golden Gate or Gibson assembly can produce — a part dropped, inverted, duplicated, two parts swapped, the backbone self-circulari… Enumerate the specific wrong plasmids a multi-part Golden Gate or Gibson assembly can produce — a part dropped, inverted, duplicated, two parts swapped, the backbone self-circularised — as full sequences, ranked by how few independent mis-ligations each needs. Golden Gate outcomes are annotated with the MEASURED overhang cross-talk they would have to exploit (Potapov/Pryor ligation data). Feed the result to diagnostic_digest to pick a screening enzyme. Reports no probability per outcome: the ligation data does not measure transformation or vector background.
band_traceback
read-only
circulartemplate*toleranceBpobservedSize*forwardPrimer*maxCandidates
+3
Explain a band you measured on a gel. Given the template, both primers and the observed size, it enumerates every pair of priming sites — including a single primer priming both str… Explain a band you measured on a gel. Given the template, both primers and the observed size, it enumerates every pair of priming sites — including a single primer priming both strands — that would give a product that size, and ranks them by how much of each primer's 3' end matches without interruption, which is what decides whether a mispriming event can extend at all. Reports no yield and assigns no share of the band: the band is the input, not the output. Says plainly when nothing on this template explains the size, and what that points to instead.
base_editing_design
read-only
editortarget*frameStarttargetPosition
Design cytosine (CBE, C→T) or adenine (ABE, A→G) base-editing gRNAs for an SpCas9 target: for each NGG gRNA it reports every editable base inside the editor's activity window, flag… Design cytosine (CBE, C→T) or adenine (ABE, A→G) base-editing gRNAs for an SpCas9 target: for each NGG gRNA it reports every editable base inside the editor's activity window, flags bystander edits (more than one editable base in the window), and — with a CDS reading frame — classifies each edit's amino-acid consequence (silent / missense / nonsense / stop-loss). Bystander-free guides are ranked first. Handles both strands (a C→T on the protospacer of a reverse-strand guide is reported as the forward-strand G→A).
base_edit_quant
read-only
tofromeditoroffsetwindowEndzThreshold
+8
Quantify CBE/ABE base editing from a pair of Sanger traces — an unedited control and the edited pool — without NGS. At each editable position in the activity window the edited trac… Quantify CBE/ABE base editing from a pair of Sanger traces — an unedited control and the edited pool — without NGS. At each editable position in the activity window the edited trace is treated as a mixture of the unedited and converted peaks, and the control's OWN alt-channel signal at that same position is subtracted as background, because dye crosstalk is position- and context-dependent and a global constant would be wrong per position. Significance comes from a null built from the same sample (every control position outside the window carrying the same base), so the threshold adapts to the run's chemistry instead of being hardcoded. Returns per-position percentages with z-scores, the target and its bystanders, the background distribution (including a robust estimate of its spread and a count of its outliers), and the noise floor — the percentage the background alone reaches, or null when the run's own null has no spread to derive one from. A window position whose control already carries the converted base is reported but not quantified, because the (1 − b) rescale amplifies error by 1/(1 − b) and turns a 0.1-point wobble into half the pool. Locate the window with an editor id plus the protospacer, or give it explicitly. Blind to indels, which shift the trace rather than mixing a base. PREDICTED, NOT MEASURED. None is published for this implementation. Every run instead reports what it rests on: the background mean, sd, robust (MAD-based) sd, outlier count and n, and a noiseFloorPercent that says how much apparent editing the background alone reaches at the significance threshold — null, rather than 0, when the run has no null with any spread to derive a limit from. This implementation's recovery of known synthetic mixtures (to under a percentage point) is deliberately NOT offered as validation — it tests the arithmetic and the coordinate handling, not whether the linear mixture model fits a real capillary trace. Two properties ARE characterised. The bias is directional and one-sided: the (1 − b) rescale assumes a fully converted position would read as alt fraction 1.0, which real chemistry does not reach, so percentages run low by roughly the crosstalk fraction (order 5-10% relative at typical 3% bleed). The variance is not constant across positions: dividing by (1 − b) amplifies the error in a and b by 1/(1 − b), so the variance of the estimate goes as 1/(1 − b)². Positions whose control alt fraction b exceeds 0.25 are therefore reported but NOT quantified, which bounds that amplification at 1.33x on everything the tool does quantify. Valid for: A pool edited by a cytosine or adenine base editor, read on the same amplicon and chemistry as an unedited control that starts within ±40 bases of it, where the editing is a SUBSTITUTION. Not valid for indels — a base editor also makes them, and an indel-bearing allele shifts the downstream trace so that it degrades the fit at every window position rather than showing up anywhere. Not valid where the control read already carries the alt base at a window position (a pre-existing variant, or the wrong control), since then there is nothing left to correct against — that condition is DETECTED rather than only described: a window position whose control alt fraction exceeds 0.25 is reported with an excludedReason and an editedPercent of 0 instead of a number, warned about, and failed by the hard control-supports-the-window-base-calls gate check. Reported percentages are pool-level: Sanger sees the superposition, so which allele carries which combination of bystander edits is not recoverable from it at all.
batch
read-only
argstool*input*
Run one SeqBench tool over many records at once. `input` is multi-FASTA or one sequence per line; `tool` is any batchable tool name; `args` are shared arguments. Returns a table of… Run one SeqBench tool over many records at once. `input` is multi-FASTA or one sequence per line; `tool` is any batchable tool name; `args` are shared arguments. Returns a table of per-record results.
characterize_sequence
read-only
maxOrfsminOrfAasequence*endPrimerLength
One-paste 'tell me everything': auto-detects DNA/RNA/protein, then reports composition, ORFs, single-cutter enzymes, end primers or protein properties, plus a BLAST link. One-paste 'tell me everything': auto-detects DNA/RNA/protein, then reports composition, ORFs, single-cutter enzymes, end primers or protein properties, plus a BLAST link.
cloning_diagnose
read-only
partsmethod*enzymessymptom*coloniesscreened
+21
Work out why a cloning experiment failed: no colonies, every clone empty vector, or no PCR band. Takes your design (method, parts, enzymes, primers, host methylation state) plus wh… Work out why a cloning experiment failed: no colonies, every clone empty vector, or no PCR band. Takes your design (method, parts, enzymes, primers, host methylation state) plus what you actually observed (colony counts on the plate and on each control, screening tally, band sizes, whether the ladder ran) and returns causes ranked by evidence — each with the deterministic fact from the design or the observation that implicates it, the cheapest observation that would separate it from the next candidate, and the next experiment. Causes the observations eliminate are reported as eliminated, naming the observation that did it; causes the design makes impossible are not listed. No probability is computed anywhere — the ordering is of evidence, not of likelihood, and `ranking.evidenceBased` says so when the inputs separate nothing.
cloning_simulate
read-only
namesenzymeinsertmethod*vectorenzyme3
+14
Assemble fragments by Gibson/overlap, Golden Gate (Type IIS), restriction–ligation (sticky or blunt), TOPO/TA, LIC or SLIC (T4-polymerase chew-back) or In-Fusion/CPEC, returning th… Assemble fragments by Gibson/overlap, Golden Gate (Type IIS), restriction–ligation (sticky or blunt), TOPO/TA, LIC or SLIC (T4-polymerase chew-back) or In-Fusion/CPEC, returning the product, the junctions and — for the primer-design methods — the junction primers. Each method is modelled as its own chemistry rather than as one product model with different labels: LIC's chew-back stops at the first occurrence of the single dNTP supplied, so a tail carrying that base stops it early and a tail without one lets it run past the junction, and both are refused with the offending base and position named.
codon_adaptation_index
read-only
organismsequence*frameStartrareThreshold
Codon Adaptation Index (CAI) and per-codon relative adaptiveness of a CDS against an expression host, with rare-codon and GC3 analysis. Codon Adaptation Index (CAI) and per-codon relative adaptiveness of a CDS against an expression host, with rare-codon and GC3 analysis.
codon_optimize
read-only
protein*organisminputType
Codon-optimise a protein (or coding DNA) for an expression host by picking the most-frequent codon per residue. Codon-optimise a protein (or coding DNA) for an expression host by picking the most-frequent codon per residue.
construct_autofix
read-only
gcLowgcHighgcWindoworganismsequence*maxPasses
+4
Iteratively substitutes synonymous codons to resolve unwanted restriction sites (domestication for Golden Gate), homopolymers, tandem repeats, predicted secondary structure, crypti… Iteratively substitutes synonymous codons to resolve unwanted restriction sites (domestication for Golden Gate), homopolymers, tandem repeats, predicted secondary structure, cryptic RBS/polyA motifs and hidden alternate-frame ORFs that construct_qc flags — without changing the encoded protein (verified). Does NOT touch premature stops or GC extremes; re-run construct_qc afterward to confirm. A native TypeScript alternative to a constraint-solver sidecar.
construct_qc
read-only
gcLowgcHighgcWindowsequence*frameStartavoidEnzymes
+2
Lint a coding DNA sequence for premature stops, internal RBS/polyA motifs, unwanted restriction sites, GC extremes and repeats. Lint a coding DNA sequence for premature stops, internal RBS/polyA motifs, unwanted restriction sites, GC extremes and repeats.
crispr_grna_design
read-only
minScorenucleasesequence*searchReverseStrand
Find and score candidate guide RNAs (protospacer + PAM) in a target DNA for common nucleases (SpCas9, SpCas9-NG, SaCas9, Cas12a). PREDICTED, NOT MEASURED. No held-out skill statist… Find and score candidate guide RNAs (protospacer + PAM) in a target DNA for common nucleases (SpCas9, SpCas9-NG, SaCas9, Cas12a). PREDICTED, NOT MEASURED. No held-out skill statistic is claimed. Both are pre-2016 models superseded in accuracy by Rule Set 2 / Azimuth and by DeepSpCas9, neither of which is shipped here. Treat the ordering as a ranking aid, not an efficiency prediction. Valid for: SpCas9 with an NGG PAM and a 20 nt spacer, and only when enough genomic flanking context is present to build the model's 30-mer / 35-mer window — both scores are null rather than padded otherwise. Nothing is predicted for SaCas9, Cas12a or SpCas9-NG.
crispr_hdr_donor
read-only
editEndblockPamguideEndnucleasearmLengtheditStart
+6
Build an HDR donor (homology arms flanking an edit) from a target sequence and either an explicit edit window (editStart/editEnd) or a guide's cut site (guideStart/guideEnd/guideSt… Build an HDR donor (homology arms flanking an edit) from a target sequence and either an explicit edit window (editStart/editEnd) or a guide's cut site (guideStart/guideEnd/guideStrand/nuclease — SpCas9-family only; Cas12a's staggered cut needs an explicit editStart/editEnd). Also designs genotyping primers spanning the edit site on the original sequence (a real size-shift or sequencing target to confirm the edit), reusing the same primer-design engine as primer_design.
crispr_offtarget_check
read-only
nucleaseprotospacer*maxMismatches
Screen a guide's protospacer for off-target sites (protospacer match + valid PAM, both strands) against a small curated set of common lab reference genomes (see genomesChecked) — N… Screen a guide's protospacer for off-target sites (protospacer match + valid PAM, both strands) against a small curated set of common lab reference genomes (see genomesChecked) — NOT a whole human/mouse genome search. For SpCas9 with a 20 nt spacer each site also gets a Doench 2016 CFD score, so sites are ranked by predicted cut likelihood rather than by mismatch count alone, and the guide gets an aggregate specificity. Use this the same way primer_specificity is used: a useful sanity check within the covered organisms, not a clearance guarantee for a mammalian expression host. PREDICTED, NOT MEASURED. Best of the common off-target scores on the authors' GUIDE-Seq comparison, at Pearson r = 0.40 over 9 guides and 402 sites (vs CCTop 0.31, Hsu-Zhang 0.26) — a useful ranking, not a reliable magnitude. Weights were measured for SINGLE mismatches; multiple mismatches are multiplied, and Listgarten et al. 2018 note the training data never contained a mismatch and an alternative PAM together, so that combination is extrapolation. Valid for: SpCas9 with a 20 nt spacer, which is the only case scored — every other nuclease returns null rather than a number from the wrong enzyme's table. One locus, one cell line. Substitutions only: DNA/RNA bulges are neither searched nor scorable, and a low score is not a claim that a site is safe.
cross_dimer
read-only
sequenceA*sequenceB*
Screen two oligos for the most stable heterodimer (cross-dimer) between them. Screen two oligos for the most stable heterodimer (cross-dimer) between them.
diagnostic_digest
read-only
enzymescircularintended*alternatives*includePairsagarosePercent
+1
Pick the restriction digest that tells your intended construct apart from the wrong ones on a screening gel. Digests every candidate, works out which bands would actually resolve a… Pick the restriction digest that tells your intended construct apart from the wrong ones on a screening gel. Digests every candidate, works out which bands would actually resolve at the chosen agarose percentage (size ratio, the gel's resolving window, and whether a band is too faint to score), and ranks single enzymes — then buffer-checked pairs if no single one works. The criterion is separating the INTENDED construct from every alternative; telling the alternatives apart from each other is reported as a bonus. Get the alternatives from assembly_outcomes.
dna_molarity
read-only
typelengthmassNgsequencevolumeUltargetUnit
+2
Nucleic-acid quantity conversions: molar mass, amount (pmol/nmol), molar and mass concentration, and copy number, from mass ± volume and either a length or a sequence. Nucleic-acid quantity conversions: molar mass, amount (pmol/nmol), molar and mass concentration, and copy number, from mass ± volume and either a length or a sequence.
double_digest
read-only
enzymeA*enzymeB*
Recommend a single NEB buffer (and flag caveats) for digesting with two enzymes in one tube. Recommend a single NEB buffer (and flag caveats) for digesting with two enzymes in one tube.
editing_plate_quantify
read-only
tofrommode*guardeditorsamples*
+17
Quantify a whole plate of edited samples against ONE untreated control trace and return a single sortable table — the plate-scale form of sanger_indel_spectrum, base_edit_quant and… Quantify a whole plate of edited samples against ONE untreated control trace and return a single sortable table — the plate-scale form of sanger_indel_spectrum, base_edit_quant and sanger_knockin_quant, chosen with `mode`. Each sample gives one row keyed by its id, carrying the headline number for that mode (edited fraction / editing at the target base / intended knock-in percentage), the fit-quality numbers behind it (R², or the background n and noise floor for base mode), and fitAdequate — the single-sample tool's own gate verdict on that row, so the plate cannot drift from the per-well answer. Failure is isolated per well: a sample whose read is short, mismatched or unfittable becomes a failed ROW with its error message and the other 95 still come back, while an error about the control trace, the mode or the work ceilings throws, because it is wrong for every row. Duplicate sample ids are suffixed (against the whole plate, so the suffix never lands on another well's name) rather than merged. Arguments are strict: an argument belonging to another mode, an unknown argument, an out-of-range limit, and an `offset` override (which is a property of one pair of reads, not of a plate) are all rejected rather than ignored or clamped, because at plate scale a substituted setting rewrites every row identically and nothing in the table looks odd. Returns the rows in input order, a tally, and a CSV. Comparing two wells' percentages is only meaningful when both rows are fitAdequate, which is why the plate summary is computed over those rows alone. PREDICTED, NOT MEASURED. None is published for this implementation, and being a batch does not soften that: each row is exactly the claim the corresponding single-sample tool makes. What every row instead reports is what it rests on — R² for the indel and knock-in modes, the background n, sd and noise floor for base mode — plus fitAdequate, which is the single-sample tool's OWN gate verdict on that row rather than a threshold re-invented here. Recovery of known synthetic mixtures is deliberately NOT offered as validation: it tests the arithmetic and the plate plumbing, not whether the model fits a real capillary trace, and for a knock-in with novel inserted bases it is circular, because a synthetic trace is built from the same idealised peaks the basis assumes. Quoting it would be the mistake rbs_predict made when it shipped a calibration residual as held-out skill. Valid for: One control read and a set of edited reads that are all the SAME amplicon, chemistry and primer as that control, with each read extending well past the edit site. COMPARING TWO WELLS' PERCENTAGES IS ONLY MEANINGFUL WHEN BOTH ROWS ARE fitAdequate: a percentage from a badly fitting well is not a smaller number than one from a well that fitted, it is a different kind of statement, and the plate summary here is therefore computed over the adequate rows only. Ranking wells also assumes they differ only in the variable under test — the same control is subtracted from all of them, so a well whose read started 30 bases later or whose reaction was dirty carries that difference into its number. Mode-specific limits carry over unchanged: indel mode is blind to substitutions, base mode is blind to indels and its percentages run low by roughly the crosstalk fraction, and knock-in mode cannot separate an intended pure deletion from an NHEJ deletion of the same length at the same site.
export_echo_picklist
read-only
reactions*
Generate a downloadable Beckman/Labcyte Echo acoustic-liquid-handler picklist CSV (columns: Source Plate Name, Source Plate Type, Source Well, Destination Plate Name, Destination W… Generate a downloadable Beckman/Labcyte Echo acoustic-liquid-handler picklist CSV (columns: Source Plate Name, Source Plate Type, Source Well, Destination Plate Name, Destination Well, Transfer Volume, Name — the header row reproduced from PyEcho, a real open-source Echo-picklist generator) for the given PCR reactions, at the same well positions export_plate_layout assigns. Assumes a 5 uL Echo-scale PCR reaction (master mix 2500 nL, each primer 250 nL, template 250 nL, water 1750 nL) — a commonly used acoustic-dispensing miniaturization scale, not a universal standard; rescale the volumes for your own protocol. Source/Destination Plate Type uses a placeholder Echo plate-type code (384PP_AQ_BP) — replace with the exact type from your own Echo Plate Type Library. Each distinct template label gets its own well on the TemplateSource plate, row-major (A1, A2, … A24, then B1, …) across that 384-well source plate.
export_opentrons_protocol
read-only
reactions*protocolName
Generate a downloadable Opentrons Python Protocol API (v2, OT-2) script that sets up the given PCR reactions on a 96-well PCR plate, at the same well positions export_plate_layout… Generate a downloadable Opentrons Python Protocol API (v2, OT-2) script that sets up the given PCR reactions on a 96-well PCR plate, at the same well positions export_plate_layout assigns. Uses real Opentrons labware/pipette API names confirmed against docs.opentrons.com and the Opentrons shared-data labware-definitions repository (opentrons_96_wellplate_200ul_pcr_full_skirt, opentrons_96_tiprack_20ul, opentrons_24_tuberack_nest_1.5ml_snapcap, nest_12_reservoir_15ml, p20_single_gen2) and the confirmed load_labware/load_instrument/transfer method signatures. Master-mix/primer/template/water volumes are clearly-labeled placeholder constants at the top of the script — this is a starting point to review and adapt for your own enzyme and instrument, not a certified ready-to-run protocol.
export_plate_layout
read-only
reactions*
Assign a set of PCR reactions (name + forward/reverse primer + optional template label) to wells on a 96-well plate, row-major (A1, A2, … A12, then B1, B2, … up to H12). Returns th… Assign a set of PCR reactions (name + forward/reverse primer + optional template label) to wells on a 96-well plate, row-major (A1, A2, … A12, then B1, B2, … up to H12). Returns the well-assignment data for rendering a plate diagram; export_opentrons_protocol and export_echo_picklist build their downloadable files from this exact same layout, so all three always agree.
expression_heatmap_cluster
read-only
genes*values*linkagesamples*zScoreRowsclusterCols
+2
Hierarchically cluster a genes x samples expression matrix (UPGMA/average, complete, or single linkage; Euclidean or correlation distance) and return the row/column leaf order, den… Hierarchically cluster a genes x samples expression matrix (UPGMA/average, complete, or single linkage; Euclidean or correlation distance) and return the row/column leaf order, dendrogram merge trees, and row-z-scored values for the Clustered Expression Heatmap visualization.
fastq_qc_report
read-only
input*qualityOffset
FastQC-style deep quality-control report for a FASTQ file: per-base quality and content, GC and length distributions, sequence duplication levels, overrepresented sequences, and ad… FastQC-style deep quality-control report for a FASTQ file: per-base quality and content, GC and length distributions, sequence duplication levels, overrepresented sequences, and adapter content — each with a warn/fail verdict against FastQC's own published thresholds.
fastq_trim
read-only
input*minLengthqualityOffsetqualityThreshold
Trim FASTQ reads: an ungapped sliding-suffix adapter match (against the same named Illumina adapters as the QC report) followed by a BWA-style 3' quality trim (the same algorithm C… Trim FASTQ reads: an ungapped sliding-suffix adapter match (against the same named Illumina adapters as the QC report) followed by a BWA-style 3' quality trim (the same algorithm Cutadapt's own -q option reuses), then drops reads below a minimum length. Returns the trimmed FASTQ plus before/after read-count, mean-length and mean-quality stats.
find_orfs
read-only
sequence*minAaLengthrequireStop
Find open reading frames (ATG…stop) across all six frames. Find open reading frames (ATG…stop) across all six frames.
format_sequence
read-only
widthconvertreversecaseModesequence*stripNonLetters
Clean, case-fold, DNA↔RNA convert, reverse and line-wrap a sequence. Clean, case-fold, DNA↔RNA convert, reverse and line-wrap a sequence.
functional_enrichment
read-only
genes*backgroundcollectionsmaxTermSizeminTermSize
Over-representation analysis: test which GO terms (biological process / molecular function / cellular component) and Reactome pathways are statistically enriched in a query gene li… Over-representation analysis: test which GO terms (biological process / molecular function / cellular component) and Reactome pathways are statistically enriched in a query gene list versus a background, using the hypergeometric test with Benjamini-Hochberg FDR correction across all tested terms. Uses bundled GO Consortium + Reactome reference data (human only). KEGG is not included (its license does not permit bundling gene sets).
gc_content
read-only
sequence*
GC content, AT content and per-base composition of a sequence. GC content, AT content and per-base composition of a sequence.
gene_dossier
read-only
gene*
A gene/drug-target dossier fanned out to five independent sources in one call: Open Targets (function, tractability, top associated diseases), an NCBI/UniProt plain-English functio… A gene/drug-target dossier fanned out to five independent sources in one call: Open Targets (function, tractability, top associated diseases), an NCBI/UniProt plain-English function summary, ChEMBL (known drugs and their mechanism/clinical phase, cross-referenced with indications), ClinicalTrials.gov (trials by gene/condition term), and Europe PMC (top cited papers). Each source fails independently — a down source returns null/empty for its own section rather than failing the whole call, and every failure is listed in "sourceErrors" rather than silently omitted.
gene_expression
read-only
gene*
A gene's tissue-expression fingerprint: per-tissue median TPM from GTEx (v8) and subcellular localization / RNA tissue-specificity / protein class from the Human Protein Atlas, in… A gene's tissue-expression fingerprint: per-tissue median TPM from GTEx (v8) and subcellular localization / RNA tissue-specificity / protein class from the Human Protein Atlas, in one call.
gene_model
read-only
gene*
The real exon/UTR/CDS structure of a human gene's canonical transcript, fetched live from Ensembl (the same exon/CDS map the HGVS Converter tool uses) — for rendering an exon diagr… The real exon/UTR/CDS structure of a human gene's canonical transcript, fetched live from Ensembl (the same exon/CDS map the HGVS Converter tool uses) — for rendering an exon diagram.
golden_gate_fidelity
read-only
datasetoverhangs*riskThresholdcompareToNamedSet
Score a candidate set of 4-base Golden Gate/MoClo junction overhangs against real published T4-ligase ligation-count data: per-overhang specificity, the weakest link in the set, an… Score a candidate set of 4-base Golden Gate/MoClo junction overhangs against real published T4-ligase ligation-count data: per-overhang specificity, the weakest link in the set, and any risky cross-reacting pairs. Optionally compare against a named published overhang set. This is SeqBench's own transparent scoring methodology — it does not reproduce NEB's/Potapov's own published aggregate fidelity percentages for named sets (their exact formula isn't disclosed anywhere accessible).
golden_gate_from_parts
read-only
parts*enzyme
Golden Gate as the reaction runs: digest pre-domesticated part plasmids with a Type IIS enzyme and assemble them in the order their OVERHANGS dictate. The fragment released from ea… Golden Gate as the reaction runs: digest pre-domesticated part plasmids with a Type IIS enzyme and assemble them in the order their OVERHANGS dictate. The fragment released from each part is the one carrying no recognition site (the site goes out with the backbone, which is why a mis-ordered assembly is not re-cut), and the assembly order is an OUTPUT — a set whose overhangs do not close into a single cycle has no product, and the reason is the answer. Distinct from cloning_simulate's `goldengate` method, which does the other job: designing the primers that ADD the sites to BARE parts, assembled in the order you list them.
hgvs_convert
read-only
variant*
Parse an HGVS "c." variant description (by gene symbol, RefSeq NM_, or Ensembl ENST accession), convert it to genomic (g.) coordinates via a real, live-fetched Ensembl exon/CDS map… Parse an HGVS "c." variant description (by gene symbol, RefSeq NM_, or Ensembl ENST accession), convert it to genomic (g.) coordinates via a real, live-fetched Ensembl exon/CDS map (transcripts resolved through the bundled MANE RefSeq<->Ensembl crosswalk), apply 3'-rule normalization to any del/dup/ins, and predict the protein (p.) effect where that is safely computable. Refuses cleanly — rather than guessing — for circular/mitochondrial genomes, RNA-level or protein-level input, uncertain/mosaic syntax, splice-junction-adjacent or inversion protein effects, and non-MANE/non-Ensembl transcripts.
id_map_poll
read-only
jobId*
Check a UniProt id-mapping job submitted via id_map_submit. Returns {status, ready:false} while still running; once FINISHED, also returns the mapped ids (normalized regardless of… Check a UniProt id-mapping job submitted via id_map_submit. Returns {status, ready:false} while still running; once FINISHED, also returns the mapped ids (normalized regardless of which target database was requested) and any ids that failed to map.
id_map_submit
read-only
to*ids*from*taxId
Submit up to 1000 ids to UniProt's ID mapping service for a single confirmed-safe hop (e.g. Gene_Name -> UniProtKB-Swiss-Prot, or UniProtKB_AC-ID -> Ensembl/GeneID/RefSeq_Protein/G… Submit up to 1000 ids to UniProt's ID mapping service for a single confirmed-safe hop (e.g. Gene_Name -> UniProtKB-Swiss-Prot, or UniProtKB_AC-ID -> Ensembl/GeneID/RefSeq_Protein/Gene_Name). Returns a jobId immediately — poll it with id_map_poll.
in_silico_pcr
read-only
circulartemplate*forwardPrimermaxMismatchesreversePrimermaxProductLength
Predict PCR products for a template and a pair of primers (IUPAC-aware, allows mismatches, handles circular templates). Primers may carry a non-templated 5' tail — a restriction si… Predict PCR products for a template and a pair of primers (IUPAC-aware, allows mismatches, handles circular templates). Primers may carry a non-templated 5' tail — a restriction site, a Gibson arm, a Kozak, a tag: a primer primes on its 3' end, and the tail is carried into the product rather than required to match. start/end are the TEMPLATE-derived span, `length` is the whole product including tails, and `features` marks which product bases came from the oligos (present only when there is a tail). Each end reports annealedLength and tailLength.
kasp_primer_design
read-only
target*alleleA*alleleB*maxAmpliconminAmpliconsnpPosition*
+2
Design KASP/ARMS allele-specific genotyping primers for a SNP: two allele-specific forward primers differing only at the 3' terminal base (one per allele), each with the standard K… Design KASP/ARMS allele-specific genotyping primers for a SNP: two allele-specific forward primers differing only at the 3' terminal base (one per allele), each with the standard KASP universal tail (FAM for allele A, HEX for allele B), a deliberate internal ARMS secondary mismatch near the 3' end whose strength complements that primer's own natural allele mismatch (strong↔weak), and one common downstream reverse primer sized to a chosen amplicon range. Because a forward primer reads the antisense strand, each primer's 3' base sits opposite the complement of the other allele, so the two primers get different mismatch classes and are reported separately (graded from the measured PCR yields in Kwok et al. 1990). Reuses the site's nearest-neighbor Tm engine.
ligation_setup
read-only
insertsvectorNgmolarRatioinsertNgPerUlvectorNgPerUl*insertLengthBp
+3
Work out how many microlitres of vector and insert to pipette to hit a target molar ratio, from each part's length and stock concentration. Handles one insert or several with indep… Work out how many microlitres of vector and insert to pipette to hit a target molar ratio, from each part's length and stock concentration. Handles one insert or several with independent equivalents (Gibson, Golden Gate, MoClo), reports pmol and ng per part alongside the volumes, and flags the two things that actually go wrong on a bench: a volume below what a pipette measures reliably, and a plan whose DNA does not leave room for buffer and enzyme. A molar ratio is about moles, so a shorter insert at 3 molar equivalents goes in at LESS mass than the vector — that conversion is the point.
melting_temperature
read-only
mgMMnaMMdntpMMoligoNMsequence*targetTm
+1
Primer/oligo melting temperature: nearest-neighbour (SantaLucia 1998) at the supplied reaction conditions, recommended from 14 nt up, with the Wallace rule for shorter oligos, a fi… Primer/oligo melting temperature: nearest-neighbour (SantaLucia 1998) at the supplied reaction conditions, recommended from 14 nt up, with the Wallace rule for shorter oligos, a fixed-100 mM-Na+ Schildkraut-Lifson reference estimate, and molecular weights.
motif_finder
read-only
motif*sequence*maxMismatchessearchReverseStrand
Find (overlapping) occurrences of an IUPAC motif on either strand, allowing mismatches. Find (overlapping) occurrences of an IUPAC motif on either strand, allowing mismatches.
multiple_sequence_alignment
read-only
input*
Center-star multiple sequence alignment of a multi-FASTA input, with consensus and per-column conservation. Center-star multiple sequence alignment of a multi-FASTA input, with consensus and per-column conservation.
multiplex_panel_design
read-only
targets*ampliconMaxampliconMinmaxTmSpreadagarosePercentdimerThresholdDG
+2
Choose one primer pair per target so the whole panel works in one tube: no cross-dimer between any two of the primers, every amplicon resolvable from every other on the gel you wil… Choose one primer pair per target so the whole panel works in one tube: no cross-dimer between any two of the primers, every amplicon resolvable from every other on the gel you will run, and one annealing temperature that serves all of them. Searches combinations rather than picking each target's best pair in isolation, which is what makes panels fail — and when no compatible panel exists it names the target pairs that cannot be multiplexed at all, so you know which one to redesign.
oligo_analysis
read-only
mgMMnaMMdntpMMoligoNMsequence*
Full oligo analysis: nearest-neighbour Tm/ΔG/ΔH/ΔS plus hairpin and self-dimer screening with base-pair diagrams and warnings. Full oligo analysis: nearest-neighbour Tm/ΔG/ΔH/ΔS plus hairpin and self-dimer screening with base-pair diagrams and warnings.
oligo_cofold
read-only
a*balphabetpartitiontemperature
Minimum-free-energy structure and ΔG for one oligo (hairpin) or two oligos together (homo/heterodimer), using ViennaRNA's published loop model at a temperature you choose — DNA par… Minimum-free-energy structure and ΔG for one oligo (hairpin) or two oligos together (homo/heterodimer), using ViennaRNA's published loop model at a temperature you choose — DNA parameters (Mathews 2004) by default, RNA (Turner 2004) on request. Reports each strand alone, the duplex, and the interaction ΔG the two gain by pairing with each other rather than folding alone, which is the number a primer-dimer screen wants. Unlike oligo_analysis's fast stack-sum screen this is a full loop model with bulge, internal-loop and dangling-end terms; the two are on different parameter sets and must not be compared. PREDICTED, NOT MEASURED. No skill statistic is claimed for predicting whether a PCR fails. Loop-model MFE folding reproduces measured structure well for short duplexes and progressively worse with length; the ΔG itself carries roughly kcal/mol-scale uncertainty and the MFE structure is one structure out of an ensemble — request `partition` for the ensemble free energy, which is the more honest single number when several structures compete. Valid for: short oligos, at most 200 nt per strand, at the temperature given. It models two strands in isolation at no particular concentration: it does not know your primer concentration, salt, or cycling programme, so it cannot say whether a dimer will actually form in your tube.
oligo_pool_screen
read-only
mgMMnaMMfastadntpMMoligosoligoNM
+3
Screen a whole set of oligos you already have — every pair for cross-dimers, every oligo for its own hairpin and self-dimer, and the set for duplicates and Tm spread — and get back… Screen a whole set of oligos you already have — every pair for cross-dimers, every oligo for its own hairpin and self-dimer, and the set for duplicates and Tm spread — and get back the conflicts ranked rather than a table of every combination. This is the pool-level answer cross_dimer gives one pair at a time: 51 primers is 1,275 pairs, which is 1,275 separate calls done by hand and one call done here. Not to be confused with multiplex_panel_design, which DESIGNS primers from templates; this takes the primers you have already ordered. A pairing that involves an oligo's 3' END is judged at a weaker ΔG than one that only pairs internally, because that end is where extension starts — the same two-bar rule the multiplex panel designer uses. Every number is a nearest-neighbour calculation over the sequences supplied, not a prediction of what the reaction will do.
ortholog_map
read-only
typesymbols*sourceSpeciestargetSpecies*
Look up the orthologous (or paralogous) gene for up to 50 gene symbols in a target species, via Ensembl's homology-by-symbol REST endpoint. Symbols with no homology record are repo… Look up the orthologous (or paralogous) gene for up to 50 gene symbols in a target species, via Ensembl's homology-by-symbol REST endpoint. Symbols with no homology record are reported in `unmapped`, never silently dropped.
pairwise_alignment
read-only
gapmodeseqA*seqB*matchgapOpen
+1
Global (Needleman-Wunsch), local (Smith-Waterman) or semi-global/fitting pairwise alignment of two sequences, with match/mismatch scoring and affine gap costs (Gotoh). Global (Needleman-Wunsch), local (Smith-Waterman) or semi-global/fitting pairwise alignment of two sequences, with match/mismatch scoring and affine gap costs (Gotoh).
parse_genbank
read-only
text*
Parse a GenBank flat file into its locus, definition, features and sequence. Parse a GenBank flat file into its locus, definition, features and sequence.
parse_sanger_trace
read-only
fileNamefileBase64*includeTraces
Decode a Sanger ABIF (.ab1 / .abi) chromatogram: base calls, per-base quality, the four dye-channel traces, peak locations, and the run's own labels (sample name, well, plate, inst… Decode a Sanger ABIF (.ab1 / .abi) chromatogram: base calls, per-base quality, the four dye-channel traces, peak locations, and the run's own labels (sample name, well, plate, instrument, run start).
parts_library_search
read-only
kindslimitquerymaxLengthminLengthincludeSequence
Search a parts list harvested from the annotated features of the vector library — promoters, terminators, RBSs, polyA signals, origins, selection markers, affinity tags, reporters,… Search a parts list harvested from the annotated features of the vector library — promoters, terminators, RBSs, polyA signals, origins, selection markers, affinity tags, reporters, linkers/MCSs — by name, kind or length. Nothing here is transcribed: every part is the exact sequence a GenBank record annotated, and each hit carries the accession and 1-based span it was cut from, plus every other library vector the same part was found in. Parts whose location is spliced or approximate are excluded, because their sequence is not fully determined.
plasmid_annotate
read-only
sequence*
Auto-detect common cloning features (promoters, tags, origins, resistance markers, MCS, primers) on both strands. Signatures under 20 bp must match exactly; longer ones tolerate up… Auto-detect common cloning features (promoters, tags, origins, resistance markers, MCS, primers) on both strands. Signatures under 20 bp must match exactly; longer ones tolerate up to ~10% mismatches so point mutants still annotate — each feature reports its own `mismatches` count and an `exact` flag.
plasmid_deep_annotate
read-only
circularsequence*
Annotate a plasmid against pLannotate's open-source feature library — a much larger signature set (GenoLIB parts + Swiss-Prot + FPbase + Rfam, cross-referenced against ~195k Addgen… Annotate a plasmid against pLannotate's open-source feature library — a much larger signature set (GenoLIB parts + Swiss-Prot + FPbase + Rfam, cross-referenced against ~195k Addgene-deposited plasmids) than plasmid_annotate's built-in curated list, and it reports partial and low-identity hits as graded alignments rather than the pass/fail signature match plasmid_annotate does (that one is not exact-only either — signatures of 20 bp or more tolerate up to ~10% mismatches — but it reports a hit or nothing, with a `mismatches` count and an `exact` flag). Each feature here carries its percent identity, reference coverage and a fragment flag so you can judge a weak hit. Runs a multi-second search on a shared service and is therefore rate limited (see 429/503); use plasmid_annotate for an instant, unmetered first pass.
plasmid_full_report
read-only
topNcircularsequence*
One combined view of 'what is this plasmid': recognized common features (from plasmid_annotate), backbone identity / possible chimera (from plasmid_identify), and — the two crossed… One combined view of 'what is this plasmid': recognized common features (from plasmid_annotate), backbone identity / possible chimera (from plasmid_identify), and — the two crossed together — any region that neither a curated backbone nor a recognized common feature explains. That last list is a triage signal (an unusual insert, an unannotated part, or worth a closer look), not a defect finding: a real gene-of-interest legitimately has no curated-feature match.
plasmid_identify
read-only
topNcircularsequence*
Screen a query plasmid against a small curated set of common backbones (cloning vectors, expression vectors, BACs — see referencesChecked for the exact list) to identify which one(… Screen a query plasmid against a small curated set of common backbones (cloning vectors, expression vectors, BACs — see referencesChecked for the exact list) to identify which one(s) it resembles, separate an unmatched region (normal — your own insert) from a POSSIBLE CHIMERA (a region matching a different known backbone than its neighbor), and report per-match %identity/%coverage. NOT a search against Addgene's ~100k-plasmid catalog or PlasmidScope's 850k+ — a curated-set screen only.
prime_editing_design
read-only
target*editEnd*editStart*pbsLengthframeStartinsertedSeq
+1
Design SpCas9 prime-editing pegRNAs for a substitution, insertion, deletion, or small replacement: for each usable NGG PAM it builds the spacer, a primer-binding-site (PBS) length… Design SpCas9 prime-editing pegRNAs for a substitution, insertion, deletion, or small replacement: for each usable NGG PAM it builds the spacer, a primer-binding-site (PBS) length sweep targeting a ~30 C melting temperature, the reverse-transcriptase template (RTT) that encodes the edit, and the full 3' extension, plus PE3 nicking-sgRNA suggestions 40-90 bp away on the opposite strand. Designs where the edit destroys the pegRNA's own PAM (preventing re-nicking of the edited allele) are ranked first. Coordinates: every pegRNA coordinate (protospacer span, nick position, editStart/editEnd) is 1-based inclusive in the submitted PRE-EDIT target's frame — the protospacer+PAM search runs on the unedited sequence, because Cas9 has to bind the allele you actually have. The one exception is edit-dependent PE3b nicking guides, which exist only once the edit is installed; each nickingGuides entry therefore carries a `coordinateFrame` field of "target" or "editedSequence" naming the frame its own start/end/nickToNickDistance are measured in, and for a length-changing edit the two frames differ downstream of the edit. Off-target activity is not evaluated (no in-browser reference genome).
prime_editing_efficiency
read-only
topNcellTypesequence*use5Folds
Predict per-pegRNA prime-editing efficiency for one edit with PRIDICT2.0, and return the top-scoring pegRNA designs ranked by it. Takes the target as context, the edit in brackets,… Predict per-pegRNA prime-editing efficiency for one edit with PRIDICT2.0, and return the top-scoring pegRNA designs ranked by it. Takes the target as context, the edit in brackets, then context — ACGT...(A/G)...ACGT, with roughly 100+ bp each side — and enumerates PBS/RTT length combinations, scoring every one in HEK293 and K562. Each candidate comes back with both scores, its percentile against the training library, its rank, the spacer, PBS and RTT lengths, the full pegRNA, and Golden Gate cloning oligos. Use it to CHOOSE between designs; the number is not a promised editing percentage. PREDICTED, NOT MEASURED (Spearman ρ = 0.85 on held-out data from the libraries it was trained on). Spearman rho of about 0.85 for intended edits on held-out library data — the best-validated figure of any model in this registry, and roughly double OSTIR's 0.39 on independent data. That figure is still within the library and cell lines it was trained on. Valid for: human sequence, and efficiency ranking within one locus. It is parameterised on HEK293 and K562; your cell type, delivery method, and chromatin context will all move the absolute efficiency, chromatin alone by severalfold. Nothing here is predicted for a non-human host or for editors outside the PE2/PE3 architecture the training libraries used.
prime_editing_twin_design
read-only
target*pbsLengthreplaceEnd*newSequence*replaceStart*overlapLength
Design a twinPE pegRNA pair (Anzalone et al. 2022) for a replacement too large for a single pegRNA's RTT: a left pegRNA nicks the + strand at/before the replacement window and a ri… Design a twinPE pegRNA pair (Anzalone et al. 2022) for a replacement too large for a single pegRNA's RTT: a left pegRNA nicks the + strand at/before the replacement window and a right pegRNA nicks the - strand at/after it, each synthesizing a new 3' flap; both flaps are truncated at a shared overlap in the middle of the new sequence so they anneal and resolve the edit without an HDR donor. Coordinates: both pegRNAs' protospacerStart/protospacerEnd/nickPosition are 1-based inclusive in the submitted PRE-EDIT target's frame (the PAM search runs on the unedited sequence, on both sides), while replaceSpan is the span of the new content in the returned editedSequence. Off-target activity is not evaluated (no in-browser reference genome).
primer_design
read-only
mgMMnaMMgcMaxgcMintmMaxtmMin
+13
De-novo PCR primer design (Primer3-style penalty picker): enumerate and score candidate primer pairs against length/Tm/GC/3'-clamp/structure constraints. De-novo PCR primer design (Primer3-style penalty picker): enumerate and score candidate primer pairs against length/Tm/GC/3'-clamp/structure constraints.
primer_specificity
read-only
forwardPrimer*maxMismatchesreversePrimer*intendedTemplatemaxProductLength
Self-hosted e-PCR-style screen for off-target amplicons predicted by a primer pair against a small set of curated reference genomes (currently: E. coli K-12 MG1655, B. subtilis 168… Self-hosted e-PCR-style screen for off-target amplicons predicted by a primer pair against a small set of curated reference genomes (currently: E. coli K-12 MG1655, B. subtilis 168, human mitochondrion rCRS, Mycoplasma hyorhinis SK76 — see genomesChecked in the response for the exact list, and note that the nuclear human and mouse genomes are NOT covered). Amplicons are 1-based inclusive on the plus strand; a product across a circular genome's origin reports an end lower than its start and sets wraps: true. This checks background/host-genome specificity, NOT whether the primers hit your intended target — pair it with in_silico_pcr against your own template for that. Each off-target end reports its 3' ANCHOR — the primer's unbroken run of matched bases at the extending end — with that anchor's nearest-neighbour ΔG and a margin against the intended, fully matched reaction, so a site can be told apart by WHERE its mismatches fall rather than only how many there are: one mismatch at the 5' end leaves a site nearly as strong, and one at the 3' base leaves it unable to prime at all. Batchable over candidate REVERSE primers against one fixed forward primer (screen many candidates against a shared partner) — not independent primer-pair batching, which this tool doesn't support. A primer may carry a non-templated 5' tail (a restriction site, a Gibson arm, a tag): the screen looks for a 3'-anchored annealing region as well as a full-length match, so a tailed cloning primer is screened rather than silently matching nothing. Each end's `anchor` is the annealed run, which is the length that matters for extension, and `start`/`end` are measured on the ANNEALED footprints — the bases each primer actually pairs with on the genome — so `length` (the product, tails included) equals end - start + 1 only for untailed primers. Screening a TAILED primer without `intendedTemplate` inflates every margin by the tail's own free energy, because nothing about an oligo says where its non-templated part ends; `intended.basis` reports which footprint the margins rest on.
protease_digestion
read-only
maxMassminMassproteasesequence*maxPeptidesmissedCleavages
In-silico protease/chemical digestion: cleave a protein and report each peptide's position, length and neutral mass. In-silico protease/chemical digestion: cleave a protein and report each peptide's position, length and neutral mass.
protein_annotate_poll
read-only
jobId*
Check an InterProScan job submitted via protein_annotate_submit. Returns {status, ready:false} while still running; once FINISHED, also returns the parsed domain architecture, per-… Check an InterProScan job submitted via protein_annotate_submit. Returns {status, ready:false} while still running; once FINISHED, also returns the parsed domain architecture, per-match details and deduplicated GO terms.
protein_annotate_submit
read-only
applgotermssequence*
Submit a protein sequence to EBI InterProScan for domain architecture, family and GO-term annotation. Returns a jobId immediately — the job itself takes minutes; poll it with prote… Submit a protein sequence to EBI InterProScan for domain architecture, family and GO-term annotation. Returns a jobId immediately — the job itself takes minutes; poll it with protein_annotate_poll.
protein_hydrophobicity
read-only
scalewindowsequence*
Sliding-window hydropathy/hydrophobicity profile (ProtScale-style) over a published amino-acid scale. Sliding-window hydropathy/hydrophobicity profile (ProtScale-style) over a published amino-acid scale.
protein_properties
read-only
sequence*chargeStep
Protein properties: molecular weight, isoelectric point, GRAVY, extinction coefficient and composition. Protein properties: molecular weight, isoelectric point, GRAVY, extinction coefficient and composition.
random_sequence
read-only
kindlength*gcContent
Generate a random DNA, RNA or protein sequence, optionally with a target GC content. Generate a random DNA, RNA or protein sequence, optionally with a target GC content.
rbs_design
read-only
cds*limitleadercurrentUtrtargetExpressionantiShineDalgarno
Design a 5' UTR / ribosome binding site for a given CDS. Generates a spread of Shine-Dalgarno cores and SD-to-start spacings, scores every one with OSTIR in the context of your own… Design a 5' UTR / ribosome binding site for a given CDS. Generates a spread of Shine-Dalgarno cores and SD-to-start spacings, scores every one with OSTIR in the context of your own CDS (which matters — the rate depends on how the RBS interacts with that CDS's 5' folding), and returns them ranked. Supply targetExpression to rank by closeness to a target rate instead of by maximum strength, and supply your existing 5' UTR to get a measured baseline and fold-change for each candidate. Runs ViennaRNA on a shared service and is therefore rate limited (see 429/503). PREDICTED, NOT MEASURED (Spearman ρ = 0.39 on two 5' UTR datasets it was not fitted to). Spearman ρ = 0.39 against measured expression on two 5' UTR datasets it was not fitted to (Gilliot & Gorochowski, Nucleic Acids Res 2024;52(13):e58). The widely quoted 53% within 2-fold / 91% within 10-fold are calibration residuals on the fitting set, not held-out validation. Valid for: translation INITIATION only, in E. coli-like Gram-negative hosts (the model is parameterised on the E. coli anti-Shine-Dalgarno sequence). Rankings within one construct context; the absolute value has no units and no meaning.
rbs_predict
read-only
endstartsequence*antiShineDalgarno
Predict the translation initiation rate at each start codon in a bacterial mRNA using OSTIR, the open-source continuation of the Salis lab RBS Calculator, with ViennaRNA free energ… Predict the translation initiation rate at each start codon in a bacterial mRNA using OSTIR, the open-source continuation of the Salis lab RBS Calculator, with ViennaRNA free energies. Returns the predicted rate plus the full thermodynamic breakdown (16S rRNA:mRNA hybridisation, mRNA unfolding, spacing, standby site, start-codon binding) for every start codon found. Rates are on an arbitrary scale — compare them as ratios, not as absolute expression levels. Runs ViennaRNA on a shared service and is therefore rate limited (see 429/503). PREDICTED, NOT MEASURED (Spearman ρ = 0.39 on two 5' UTR datasets it was not fitted to). Spearman ρ = 0.39 against measured expression on two 5' UTR datasets it was not fitted to (Gilliot & Gorochowski, Nucleic Acids Res 2024;52(13):e58). The widely quoted 53% within 2-fold / 91% within 10-fold are calibration residuals on the fitting set, not held-out validation. Valid for: translation INITIATION only, in E. coli-like Gram-negative hosts (the model is parameterised on the E. coli anti-Shine-Dalgarno sequence). Rankings within one construct context; the absolute value has no units and no meaning.
repeat_instability
read-only
circularmaxPairssequence*minRepeatLengthincludeSequences
Find the exact direct repeats in a construct that make it deletable, and build the molecule each pair would collapse to. Two copies of the same terminator or promoter in a multi-ge… Find the exact direct repeats in a construct that make it deletable, and build the molecule each pair would collapse to. Two copies of the same terminator or promoter in a multi-gene assembly let the DNA between them recombine out — silently, so the clone grows and the map looks right until it is sequenced. Returns each repeat pair's coordinates plus the resulting sequence(s), ordered by repeat length and spacer, the two factors that govern how readily a pair recombines. Reports no deletion RATE: none is derivable from sequence alone. Feed a deletion product to diagnostic_digest to screen for it.
restriction_sites
read-only
enzymescircularsequence*
Find restriction enzyme recognition sites in a DNA sequence. Find restriction enzyme recognition sites in a DNA sequence.
reverse_complement
read-only
typesequence*
Reverse, complement and reverse complement of a DNA or RNA sequence. Reverse, complement and reverse complement of a DNA or RNA sequence.
reverse_translate
read-only
modeprotein*organism
Back-translate a protein to DNA (most-frequent codon per organism, or degenerate IUPAC consensus). Back-translate a protein to DNA (most-frequent codon per organism, or degenerate IUPAC consensus).
rna_fold
read-only
sequence*
Predict an RNA secondary structure by minimum free energy (MFE) using a Zuker dynamic program with Turner 1999 nearest-neighbor stacking energies (no pseudoknots). Returns the dot-… Predict an RNA secondary structure by minimum free energy (MFE) using a Zuker dynamic program with Turner 1999 nearest-neighbor stacking energies (no pseudoknots). Returns the dot-bracket structure, the estimated MFE (kcal/mol), and the list of base pairs. A from-scratch, in-browser implementation (there is no usable browser ViennaRNA); the simplified loop energy model makes the MFE a good comparative estimate, not a lab-grade absolute. PREDICTED, NOT MEASURED. No held-out skill statistic is claimed for this implementation. The loop model omits terminal mismatches, dangling ends, coaxial stacking and special hairpins that ViennaRNA and RNAstructure include, so the MFE is a comparative estimate between candidates rather than a lab-grade absolute. Valid for: a single strand up to 600 nt at a fixed 37 °C. No pseudoknots, no two-strand hybridisation, and no temperature dependence — a structure predicted here is not a structure at your annealing temperature.
sanger_indel_spectrum
read-only
guardoffsetmaxIndelcutPosition*editedBases*controlBases*
+3
Quantify CRISPR editing from a pair of Sanger traces — an unedited control and the edited pool — by decomposing the edited trace onto shifted copies of the control. Returns the ind… Quantify CRISPR editing from a pair of Sanger traces — an unedited control and the edited pool — by decomposing the edited trace onto shifted copies of the control. Returns the indel spectrum (how much of the pool carries each insertion or deletion size), the unedited fraction, and the R² of the decomposition, which is the number that says whether the model fits your traces at all. Non-negative least squares, so no allele is ever assigned a negative share. Does not work for base editing, which makes a mixed base rather than a shift. PREDICTED, NOT MEASURED. Every run reports its own R²: how much of the observed window the shifted-control basis actually explains. That is a measured adequacy of the model on YOUR traces, and a low value means the assumption is wrong here rather than that the edit is weak. On accuracy against a reference method for real samples, none is published for this implementation — the underlying decomposition is TIDE's, whose authors report their own concordance with amplicon sequencing, and that number does not transfer to this code so it is not quoted. This implementation's exact recovery of synthetic mixtures is deliberately not offered as validation either: it tests the arithmetic, not whether the model fits a real trace. Valid for: A pool of alleles that differ from one control read by simple insertions or deletions at a known cut site, where both reads come from the same amplicon and chemistry and both extend well past the cut. NOT valid for substitution-only edits — base editing produces a mixed base, not a shift, and this model cannot see it — nor for a knock-in whose insert is novel sequence rather than a frame shift of the control, nor for any run whose R² comes back low.
sanger_knockin_quant
read-only
offseteditKind*maxIndelaltAllelerefAllelecutPosition
+8
Measure the rate of a SPECIFIC intended edit from a pair of Sanger traces — an unedited control and the edited pool — by decomposing the edited trace onto three things at once: the… Measure the rate of a SPECIFIC intended edit from a pair of Sanger traces — an unedited control and the edited pool — by decomposing the edited trace onto three things at once: the wild-type allele, the intended edited allele, and the unintended indels. Serves both readouts that need this: HDR knock-in rate (what fraction of the pool carries the donor's edit, including an insert of novel sequence), and prime editing (the pegRNA's intended substitution, insertion, deletion or replacement as the intended column, and the indel byproducts at the nick as the shift columns). This is what sanger_indel_spectrum cannot do: that tool's basis is indexed by indel LENGTH, so an intended 6 bp knock-in and an accidental 6 bp NHEJ deletion are one column there. Returns knock-in / wild-type / unintended-indel percentages, the byproduct spectrum by shift, and the R² that says whether the model fits your traces at all. Non-negative least squares, so no allele is ever assigned a negative share. For a substitution or replacement the reference allele you name is checked against the control read before anything is fitted; an insertion and a deletion name no reference bases, so there only the position can be range-checked. PREDICTED, NOT MEASURED. Every run reports its own R²: how much of the observed window the basis actually explains, measured on YOUR traces, where a low value means the model is wrong here rather than that the edit is weak. On agreement with a reference method for real samples — amplicon sequencing or clonal genotyping — none is published for this implementation. The underlying decomposition is TIDE/TIDER's, whose authors report their own concordance, and that number does not transfer to this code so it is not quoted. This implementation's near-exact recovery of synthetic mixtures is deliberately not offered as validation: a synthetic mixture is built from the same idealised one-hot peaks the basis assumes, so recovering it tests the arithmetic and cannot test the assumption. Valid for: A pool whose intended edit is known EXACTLY, read against a control amplicon of the same locus and chemistry, with both reads extending well past the edit. The novel inserted bases of a knock-in carry an assumed peak shape rather than a measured one (returned as constructedPositions) — the more of the window they occupy, the more of the fit is testing that assumption. NOT valid when the reported R² is low; nor for separating an intended pure DELETION from an unintended indel of the same net length ANYWHERE in the window, not only one at the same site (the tool reports which case it is in `sameShiftByproduct`: when that column is not fitted, knockinPercent is the sum of the two); nor for telling an on-target knock-in from a random integration of the same donor; nor for resolving haplotypes, since a Sanger trace of a pool has no phase information.
sanger_plate_verify
read-only
reads*circulargroupinginsertEndreference*insertLabel
+3
Judge a whole plate of Sanger reads against one construct and return one row per clone: PASS, POINT_MUTATION, INDEL, VECTOR_ONLY (the insert is absent), WRONG_INSERT (the backbone… Judge a whole plate of Sanger reads against one construct and return one row per clone: PASS, POINT_MUTATION, INDEL, VECTOR_ONLY (the insert is absent), WRONG_INSERT (the backbone matches and the insert does not), LOW_COVERAGE, or AMBIGUOUS. Reads are grouped into clones from their FASTA/FASTQ record names (facility conventions like PlateA_A01_pXY-1_M13F, pXY-1_T7-F, 2026-08-01_pXY_clone3_R), and every read's assignment is reported with a confidence so a grouping can be corrected rather than trusted. Each clone's reads are piled up in reference coordinates, so a difference one read reports where other covering reads read the reference is reported as the sequencing error it is, not as a mutation — and a position no read covered is never PASS. Every verdict cites the positions it rests on. Give insertStart/insertEnd to have clones judged over the insert alone, which is also what VECTOR_ONLY and WRONG_INSERT need.
sanger_vs_reference
read-only
readfileNamereference*fileBase64minCoverage
Align a Sanger ABIF read to a reference and report identity plus every mismatch, insertion and deletion. Align a Sanger ABIF read to a reference and report identity plus every mismatch, insertion and deletion.
save_permalink
read-only
args*tool*
Run a registered tool and save its (arguments, result) pair under a short permanent code that anyone with the link can view read-only (/permalink/{code}). Use this to cite or share… Run a registered tool and save its (arguments, result) pair under a short permanent code that anyone with the link can view read-only (/permalink/{code}). Use this to cite or share a specific result (e.g. a verify_construct or verify_assembly check) rather than re-pasting it.
seqfile_stats
read-only
input*qualityOffset
Statistics for a FASTA or FASTQ file: count, length distribution, N50, GC content and (FASTQ) mean quality. Statistics for a FASTA or FASTQ file: count, length distribution, N50, GC content and (FASTQ) mean quality.
sequence_fetch
read-only
dbformataccession*
Fetch a public DNA/protein record by accession from NCBI Nucleotide, NCBI Protein, UniProt, or Ensembl (e.g. NM_000546, NP_000537, P04637, ENSG00000141510). Only the accession is s… Fetch a public DNA/protein record by accession from NCBI Nucleotide, NCBI Protein, UniProt, or Ensembl (e.g. NM_000546, NP_000537, P04637, ENSG00000141510). Only the accession is sent upstream. Use sequence_search first if you only know a gene/organism name, not an accession. For an Ensembl transcript ID this returns spliced cDNA; for a gene ID it returns the full genomic locus (introns included) — Ensembl's own default for each ID type.
sequence_format_convert
read-only
tofrominput*
Convert between FASTA and GenBank (whole sequence, CDS or protein), or export to TSV. Convert between FASTA and GenBank (whole sequence, CDS or protein), or export to TSV.
sequence_report
read-only
maxOrfsminOrfAasequence*endPrimerLength
One-click DNA analysis: composition, ORFs, restriction-enzyme scan (single cutters) and end-primer Tm composed into a single report with a copyable text block. One-click DNA analysis: composition, ORFs, restriction-enzyme scan (single cutters) and end-primer Tm composed into a single report with a copyable text block.
sequence_search
read-only
dbgenetermorganismmaxResults
Resolve a gene/organism name — or a raw NCBI search term — to candidate accessions, instead of guessing one. Returns up to maxResults hits (accession, title, organism); pass the ac… Resolve a gene/organism name — or a raw NCBI search term — to candidate accessions, instead of guessing one. Returns up to maxResults hits (accession, title, organism); pass the accession you want to sequence_fetch.
sequencing_readback_verify
read-only
reads*circularplatformreference*minSvLengthminSvSupport
+2
Align raw Sanger or NGS reads (FASTA or FASTQ) back onto a claimed reference sequence using minimap2, and report per-read mapping identity plus exact variant positions (substitutio… Align raw Sanger or NGS reads (FASTA or FASTQ) back onto a claimed reference sequence using minimap2, and report per-read mapping identity plus exact variant positions (substitutions/insertions/deletions), with a consensus view across reads and a corrected consensus sequence (the reference with every consensus-supported edit applied). Each alignment also reports how much of the READ was used (queryCoveragePct/clippedBases), since identity is measured over the aligned portion only and a partially-used read would otherwise score perfectly. Set circular: true for a plasmid so reads crossing the reference's arbitrary linear start are aligned through the join rather than cut short at it. Also calls STRUCTURAL variants from split alignments — a large deletion, tandem duplication, inversion or backbone rearrangement never appears as a run of mismatches, only as one read aligning at several distant reference positions, so per-base calling reports a perfect clone — and returns a coverage depth profile with the regions no read reached at all, since "never read" is not "correct". On a circular reference one junction cannot always tell an event of length d from one of length referenceLength − d the other way round; where the read's own blocks and the coverage profile settle it they do, and where they do not the call carries an alternateInterpretation with the other reading rather than presenting one as a finding. Set platform (nanopore/pacbio/illumina/sanger) to pick minimap2's preset; the preset used is reported back. Complements verify_construct/verify_assembly: those re-derive what a design SHOULD produce from its own stated inputs; this checks what a real sequencer actually read back.
session_create
entries
Start a scratch session that holds several named sequences/values (e.g. vector, insert, forward/reverse primer) for use across multiple tool calls via session_run, instead of re-pa… Start a scratch session that holds several named sequences/values (e.g. vector, insert, forward/reverse primer) for use across multiple tool calls via session_run, instead of re-pasting them into every call. Sessions expire after 24 hours.
session_get
read-only
namessessionId*
Fetch named entries from a session. Prefer session_run for actually USING the values — it keeps raw sequences out of your context. Use this mainly to inspect or debug what a sessio… Fetch named entries from a session. Prefer session_run for actually USING the values — it keeps raw sequences out of your context. Use this mainly to inspect or debug what a session currently holds.
session_run
argstool*sessionId*writeBackfromSession
Run any SeqBench tool, resolving selected arguments from a session's named entries instead of pasting them inline, and optionally store selected result fields back into the session… Run any SeqBench tool, resolving selected arguments from a session's named entries instead of pasting them inline, and optionally store selected result fields back into the session by name. This is the main way to chain a multi-part design (vector + insert + primers) across calls without shuttling raw sequences through your own context.
session_set
entries*sessionId*
Add or overwrite named entries in an existing session. Add or overwrite named entries in an existing session.
sirna_design
read-only
target*shRnaLoopminReynolds
Design siRNA duplexes against an mRNA target using the established Reynolds (2004) 8-criteria score and the Ui-Tei (2004) rules, plus the siDirect seed-duplex Tm off-target flag (≥… Design siRNA duplexes against an mRNA target using the established Reynolds (2004) 8-criteria score and the Ui-Tei (2004) rules, plus the siDirect seed-duplex Tm off-target flag (≥21.5 °C, computed on siDirect's own RNA/RNA scale: Freier 1986 nearest-neighbour parameters, helix initiation A = −10.8, CT = 100 µM, 100 mM Na⁺). Returns ranked candidates with sense/guide oligos (with UU 3' overhangs) and, per candidate, a ready shRNA cassette (sense–loop–antisense–Pol III terminator). Heuristic sequence rules only — no RNA-folding accessibility model and no transcriptome-wide off-target search. PREDICTED, NOT MEASURED. These are rule counts, not a regression, and no skill statistic is claimed for the ranking. Target-site accessibility is not modelled (no folding) and no transcriptome-wide off-target search is performed, so a top-ranked candidate is a starting point for a knockdown panel, not a predicted knockdown level. Valid for: mRNA targets. The seed Tm is computed on siDirect's own RNA/RNA scale (Freier 1986 parameters, helix initiation A = -10.8, CT = 100 µM, 100 mM Na+) and is not comparable with the DNA/DNA Tm reported elsewhere in the toolkit.
site_directed_mutagenesis
read-only
mgMMnaMMstyledntpMMinsertnewBase
+11
Design site-directed mutagenesis primers (QuikChange overlapping or Q5 back-to-back) for a base substitution, an amino-acid codon swap, or an insertion/deletion/delins. The edit ca… Design site-directed mutagenesis primers (QuikChange overlapping or Q5 back-to-back) for a base substitution, an amino-acid codon swap, or an insertion/deletion/delins. The edit can be given as fields or, more simply, by NAME in `mutation`: "E52K", "p.Glu52Lys", "c.155A>G", "c.76_78del", "c.76_77insGGA", "c.76_78dup". A named mutation is checked against the template — if the reference allele it states is not what is actually at that position, the call is refused and the real base or residue is quoted back, because a coordinate belonging to a different transcript or the other strand yields perfectly well-formed primers for the wrong base. `interpretedAs` in the response says which reading was designed.
translate
read-only
frametoStopsequence*
Translate a nucleotide sequence to protein (single frame or all six frames; standard code). Translate a nucleotide sequence to protein (single frame or all six frames; standard code).
variant_annotate
read-only
variant*assembly
One-box variant lookup against MyVariant.info: accepts an rsID, chrom:pos:ref:alt, genomic HGVS ("chr17:g.7676154G>C"), or transcript HGVS c. ("NM_000546.6:c.215C>G" / "TP53:c.215C… One-box variant lookup against MyVariant.info: accepts an rsID, chrom:pos:ref:alt, genomic HGVS ("chr17:g.7676154G>C"), or transcript HGVS c. ("NM_000546.6:c.215C>G" / "TP53:c.215C>G", bridged via the hgvs_convert tool). Returns a ClinVar significance summary, gnomAD exome/genome allele frequencies, and CADD/SIFT/PolyPhen2/REVEL pathogenicity predictor scores — each section explicitly null when that source has no data, never silently omitted. See the result's own "caveats" for real data-freshness limits (frozen gnomAD/CADD snapshots, periodic ClinVar snapshot).
variant_comparator
read-only
query*codingreference*frameStart
Align a query to a reference and call variants (substitutions, insertions, deletions) in HGVS g. notation, with optional coding effects. Align a query to a reference and call variants (substitutions, insertions, deletions) in HGVS g. notation, with optional coding effects.
variant_to_construct
read-only
flanklabelstylevariantpositionsequence
+7
Turn one variant into one buildable plan: verify the reference allele actually sits where the coordinate says, apply the edit, design site-directed mutagenesis primers to install i… Turn one variant into one buildable plan: verify the reference allele actually sits where the coordinate says, apply the edit, design site-directed mutagenesis primers to install it, design KASP/ARMS allele-specific primers to genotype it afterwards, and consolidate everything into a single oligo order table. Takes either a construct sequence with a 1-based position and ref/alt alleles (offline, deterministic), or an HGVS "c." description resolved through the MANE crosswalk and a live Ensembl exon map. A mismatched reference allele is refused with the bases that were actually found there, because a coordinate that is right for another isoform yields a perfectly valid primer set for the wrong base. Bases shared by both alleles are trimmed first, so a VCF-anchored pair is designed as the substitution or indel it actually is. Mutagenesis covers every class (a substitution, an insertion, a deletion and a multi-base replacement are all one interval replacement); KASP needs a single-base substitution's 3'-terminal base, so for an indel the genotyping half comes back as a named omission with the reason and the readout that does work, never as an empty list.
vector_library_get
read-only
id*includeSequence
Return one vector from the library: its GenBank accession and version, length, topology, organism/definition, complete sequence, and the full annotated feature table (type, label,… Return one vector from the library: its GenBank accession and version, length, topology, organism/definition, complete sequence, and the full annotated feature table (type, label, 1-based inclusive start/end, strand, spliced length, and the location descriptor as the record wrote it). Accepts the library id, the vector name, or the accession. An unrecognised id is an error carrying the closest names — never an empty result.
vector_library_search
read-only
limitqueryfeaturecategorymaxLengthminLength
Browse a curated library of publicly deposited, feature-annotated cloning and expression vectors — by name, category (E. coli cloning/expression, yeast, mammalian, plant binary, BA… Browse a curated library of publicly deposited, feature-annotated cloning and expression vectors — by name, category (E. coli cloning/expression, yeast, mammalian, plant binary, BAC/fosmid, recombineering, phage/M13), length window, or annotated feature (e.g. 'T7 promoter', 'ori', 'AmpR'). Each hit reports the vector's accession, length, topology and feature count; vector_library_get returns the sequence and the full feature table. A curated public-record set, NOT a vendor catalogue — see the gate's notChecked.
verify_assembly
read-only
namescodingenzymeinsertmethod*vector
+19
Deterministic self-check: given the same method/parts cloning_simulate would use (restriction-ligation, Gibson, Golden Gate, LIC, SLIC or In-Fusion/CPEC — optionally deriving a par… Deterministic self-check: given the same method/parts cloning_simulate would use (restriction-ligation, Gibson, Golden Gate, LIC, SLIC or In-Fusion/CPEC — optionally deriving a part by in-silico PCR first), re-derive the expected WHOLE product and diff it against a claimed final sequence. Returns pass/fail plus the exact position and nature of any discrepancy — not an opinion, the same deterministic simulation SeqBench already runs, run a second time as a check. A recipe that can give more than one molecule is checked against ALL of them and `matchedCandidate` names the one the claim matched: a non-directional ligation really does put the insert in both ways round (half the plate carries each), a vector cut more than twice offers more than one backbone, and a Gibson junction whose fragments already share terminal sequence has two honest readings (one homology arm, or a tandem repeat present twice). See verify_construct for a narrower, insert-only check that doesn't require declaring the vector/enzymes/method.
verify_construct
read-only
insertTemplate*claimedConstruct*templateCircularexpectedFrameStartinsertForwardPrimer*insertReversePrimer*
+1
Re-derive a construct's insert from the PCR (template + primers) claimed to have produced it, then check — independently of that claim — whether the expected insert actually appear… Re-derive a construct's insert from the PCR (template + primers) claimed to have produced it, then check — independently of that claim — whether the expected insert actually appears (either orientation) in the claimed final construct, at what identity, and with exact mismatch positions if not. Optionally also checks for a premature stop in a declared reading frame. Primers may carry a non-templated 5' tail (a restriction site, a Gibson arm, a tag): a construct missing ONLY tail bases still passes, since that is exactly what digesting a tailed amplicon removes before ligation — see match.templateCoveragePct and match.unalignedIsTailOnly, and note the pass does not establish that the right enzyme made the cut. This re-derives from the claim's own stated inputs; it does not review the claim's prose.
virtual_gel
read-only
ladderenzymescircularsequence*
Predict restriction-digest fragment sizes and their gel migration positions against a chosen DNA ladder. Predict restriction-digest fragment sizes and their gel migration positions against a chosen DNA ladder.
volcano_plot_data
read-only
rows*
Validate a differential-expression table (gene, log2 fold-change, p-value/FDR) and compute -log10(p) plus up/down/non-significant counts at conventional default thresholds (|log2FC… Validate a differential-expression table (gene, log2 fold-change, p-value/FDR) and compute -log10(p) plus up/down/non-significant counts at conventional default thresholds (|log2FC|>=1, p<=0.05), for the Volcano Plot visualization. Invalid rows (non-finite log2FC, or p-value outside (0,1]) are dropped and reported rather than failing the whole batch.
web_search
read-only
query*max_results
Search the live web (via Tavily) for information not covered by SeqBench's own tools — recent literature, protocols, vendor/reagent info, general facts. Returns a short synthesized… Search the live web (via Tavily) for information not covered by SeqBench's own tools — recent literature, protocols, vendor/reagent info, general facts. Returns a short synthesized answer (if available) plus ranked source snippets with URLs. This does not run any bioinformatics calculation itself; use the dedicated tools for that.
workflow
read-only
input*steps*