Skip to content

Extract terminal repeats from retrotransposons (LTRs) or DNA transposons (TIRs). Compose synthetic MITES from complete DNA transposons.

License

Notifications You must be signed in to change notification settings

Adamtaranto/tSplit

Repository files navigation

License: GPL v3 PyPI version codecov Downloads

tSplit the TE-splitter

tSplit is designed to identify terminal repeats from retrotransposons (LTRs) or DNA transposons (TIRs) by processing self-alignments.

Returns compontent internal and external segments of the element for use with transposon mapping tools.

Table of contents

Algorithm overview

tSplit attempts to identify terminal repeats in transposable elements by first aligning each element to itself using blastn or nucmer, and then applying a set of tuneable heuristics to select an alignment pair most likely to represent an LTR or TIR, as follows:

  1. Exclude all diagonal/self-matches
  2. If tsplit LTR: Retain only alignment pairs on the same strand (tandem repeats)
  3. If tsplit TIR: Retain only alignment pairs on opposite strands (inverse repeats)
  4. Retain pairs for which the 5' match begins within x bases of element start and whose 3' match ends within x bases of element end
  5. If multiple candidates remain select alignment pair with largest internal segment (i.e. closest to element ends)

Installing tSplit

Requirements:

You can create a Conda environment with these dependencies using the YAML file in this repo.

conda env create -f environment.yml

conda activate tsplit

After activating the tsplit environment you can use pip to install the latest version of tsplit.

Installation options:

  1. Install from PyPi. This will get you the latest stable release.
pip install tsplit
  1. Pip install directly from this git repository.

This is the best way to ensure you have the latest development version.

pip install git+https://github.com/Adamtaranto/tSplit.git

Example usage

tSplit can be run in two modes: tsplit LTR and tsplit TIR, for extracting long terminal repeats or terminal inverted repeats, respectively.

Options are the same for each.

See CLI tutorial page for extended examples.

tsplit TIR example

For each element in TIR_element.fa split into internal and external (TIR) segments.

Split segments will be written to TIR_split_tsplit_output.fasta with suffix "_I" for internal or "_TIR" for external segments.

TIRs must be at least 10bp in length and share 80% identity and occur within 10bp of each end of the input element.

tsplit TIR -i tests/data/TIR_element.fa -p TIR_split

# Equivalet to defaults
tsplit TIR -i tests/data/TIR_element.fa -p TIR_split --maxdist 10 --minid 80.0 --minterm 10 --method blastn --splitmode split
# Use '--both' if you want to report both left and right TIRs

Output: TIR_split_tsplit_output.fasta

Visualise annotated dotplot

Use the --gff and --paf options to output selected best termial repeat annotations and full self-alignments.

tsplit TIR -i tests/data/TIR_element.fa -d results --splitmode split \
--blast_evalue 0.001 --minid 60.0 --paf --gff

Output:

  • results/TIR_element_tsplit_output.fasta
  • results/TIR_element.gff3
  • results/TIR_element.paf

These files can be visualised with FlexiDot.

flexidot -i tests/data/TIR_element.fa -a results/TIR_element.paf -m 2 \
-o results/blast_dotplot --gff results/TIR_element.gff3

Output:

TIR element blastn self-align dotplot with detected TIRs highlighted in red on the diagonal.

tsplit LTR example

For each element in LTR_retrotransposon.fa split into internal and external segments.

Split segments will be written to LTR_split_tsplit_output.fasta with suffix "_I" for internal or "_LTR" for external segments.

LTRs must be at least 10bp in length and share 80% identity and occur within 10bp of each end of the input element.

tsplit LTR -i tests/data/LTR_retrotransposon.fa -d results --splitmode split \
--blast_evalue 0.001 --minid 60.0 --paf --gff

Output:

  • results/LTR_retrotransposon_tsplit_output.fasta
  • results/LTR_retrotransposon.gff3
  • results/LTR_retrotransposon.paf
flexidot -i tests/data/LTR_retrotransposon.fa -a results/LTR_retrotransposon.paf \
-m 2 -o results/blast_dotplot --gff results/LTR_retrotransposon.gff3

LTR element blastn self-align dotplot with detected LTRs highlighted in red on the diagonal.

About

Extract terminal repeats from retrotransposons (LTRs) or DNA transposons (TIRs). Compose synthetic MITES from complete DNA transposons.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages