Skip to main content

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

Project description

License: MIT PyPI version codecov Downloads

tSplit the TE-splitter

Extract terminal repeats from retrotransposons (LTRs) or DNA transposons (TIRs). Returns compontent segments of the element for use with transposon mapping tools.

Optionally, tsplit TIR can also compose synthetic MITES from complete DNA transposons.

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)

Options and usage

Installing tSplit

Requirements:

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
  1. Clone from this repository and install as a local Python package.

Do this if you want to edit the code.

git clone https://github.com/Adamtaranto/tSplit.git && cd tSplit && pip install -e '.[dev]'

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.

tsplit TIR

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.

Additionally, synthetic MITEs will be constructed by concatenation of left and right TIRs, with internal segments excised.

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

# 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 --makemites --keeptemp

Output: TIR_split_tsplit_output.fasta

tsplit LTR

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 -p LTR_split

Output: LTR_split_tsplit_output.fasta

License

Software provided under GPL-3 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tsplit-0.1.5.tar.gz (42.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tsplit-0.1.5-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

Details for the file tsplit-0.1.5.tar.gz.

File metadata

  • Download URL: tsplit-0.1.5.tar.gz
  • Upload date:
  • Size: 42.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tsplit-0.1.5.tar.gz
Algorithm Hash digest
SHA256 985e8867d3c0e3ad32953f75bcf7d1ef97c3672a2a0123e8fd980396a14e1f21
MD5 a4f3950aedee086d9000058c83e5cd7c
BLAKE2b-256 686ec0cafee7337640e4731dfc6c8b257638eb7c49213905a9826f291a3c3ab0

See more details on using hashes here.

Provenance

The following attestation bundles were made for tsplit-0.1.5.tar.gz:

Publisher: publish.yml on Adamtaranto/tSplit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tsplit-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: tsplit-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 31.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tsplit-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 8a5f757ceeef3ed4005e2e0e13c7001afbc8436d29189651ec3e5e63d1eca814
MD5 a020ad6114ab97c83a19a10479ee54ed
BLAKE2b-256 f7acf6a5221b77fa3ab9abdd42372db58f62a7213e25e5688fb9c957843c131b

See more details on using hashes here.

Provenance

The following attestation bundles were made for tsplit-0.1.5-py3-none-any.whl:

Publisher: publish.yml on Adamtaranto/tSplit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page