Skip to contents

tantale logo

Transcription activator-like effector (TALE) genes, found in plant-pathogenic Xanthomonas bacteria, encode proteins built around a central array of near-identical ~34-residue repeats. Two residues in each repeat, its RVD, specify a single base of the DNA sequence the whole array binds, so an array’s repeat sequence is effectively a readable code for its target site. That modularity makes TALEs a favourite tool for genome engineering, and a recurring subject of study in plant pathology, where the targets themselves are frequently a plant susceptibility gene the pathogen exploits.

Crystal structure of the TALE PthXo1 bound to DNA: the repeats wind around the double helix, with the RVD residues lining the major groove

PthXo1, a TALE of Xanthomonas oryzae pv. oryzae, bound to its DNA target in the OsSWEET11 promoter, seen from the side (left) and down the DNA axis from the N-terminal end (right). Each repeat (alternately sand and olive) is a pair of helices joined by a loop that carries the RVD (indigo spheres). The repeats wind around the DNA in a right-handed superhelix that follows the major groove, one repeat per base pair, so that each RVD loop reaches into the groove next to the base it specifies. The N-terminal region is in wine. Crystal structure 3UGM (Mak et al. 2012), drawn with PyMOL by pkgdown/crd_figure.py.

tantale is an R package for finding, comparing, aligning and predicting the targets of TALE genes in genomic sequence. It wraps several purpose-built external tools (AnnoTALE, Talvez, PrediTALE) and reimplements others in R (DisTAL and functal) behind a single, consistent set of R objects, so that a whole study (discovery, correction, classification, alignment, target prediction) can be scripted and reproduced without switching tools or file formats along the way.

The main functions of tantale in the order of an analysis, from tell_tales() to plot.tales_msa()

The main functions, in the order of an analysis. Filled boxes are the R objects passed between functions; outlined boxes are functions, with plot methods outlined in sand. tell_tales() finds the TALE genes in a genome, and tales_from_telltales() reads its results into a tales object, a table with one row per repeat or terminus of each TALE. Distances between TALEs, computed from their domains or in one step, group related TALEs across genomes; a group can then be aligned, drawn as a heatmap, or used to predict target sites. The Reference page opens with a map of every exported function.

A typical study, in one figure

Grouping arrays into related TALEs answers the question the package is built around: “which TALEs, across genomes, are versions of the same thing?”

Hierarchical clustering of 26 TALE arrays from three related Xanthomonas oryzae strains into nine groups, eight of them with one member per strain

Three related genomes, clustered by relatedness: nine groups, eight of them with exactly one member per strain, the pattern a set of TALE alleles related by descent is expected to produce. See Classifying TALE sequences from genomes for how this is built, from raw genomic FASTA to this tree.

Getting started

Getting started with tantale is a two-minute tour using data already bundled with the package, with no external tools to install first. From there, Learn tantale walks through the full pipeline on real genomes (discovery and frameshift correction, classification into groups, multiple alignment, and target prediction), with deep dives into the two central object classes, tales/tales_msa, and a case study on naturally truncated TALEs.

See the README for installation instructions, including the conda environment tantale builds for itself to drive its external tools.

Licence

tantale’s own code is under the MIT licence. The programs and data it bundles or downloads from other projects keep their own terms, listed file by file, with upstream sources, in inst/COPYRIGHTS:

  • AnnoTALE, PrediTALE and TALEcorrection, from the Jstacs project, are under the GNU GPL, version 3 or later. Their source code is at https://github.com/Jstacs/Jstacs; the licence text travels with them in the tools archive (LICENSES/COPYING.GPL-3).
  • TALVEZ 3.2 and the QueTAL FuncTAL table behind rvd_dna_specificity carry no licence and are redistributed by permission of their author, Alvaro L. Pérez-Quintero.

Use of large language models

The authors used large language models (Claude, Anthropic – including Claude Sonnet 5) to assist with code development, debugging, and documentation writing throughout this package. The authors affirm that they are fully responsible for the content of the codebase and its documentation.