Skip to main content

A package to count the number of repeats in a Short Tandem Repeat Expansion from long reads.

Project description

STRcount

Software tool to analyse STR loci from long read data. STRcount can count the number of repeats in a repeat expansion and give you the count in a tabular format for further downstream analysis.

Release notes

  • 0.1.0: Initial release with tools updated on Pypi and ready to use.

Dependencies

Developed and tested on Python 3.7.10. Dependencies include:

Installation instructions

Install GraphAligner

STRcount requires and uses GraphAligner as it's alignment tool. To install this you could either install it using Anaconda:

Or you could install it from source using the instructions here

Installation using pip

Use the following command to install STRcount and all dependencies:

pip install STRcount

Installation from source

git clone https://github.com/sabiqali/strcount.git
cd strcount
python setup.py install

Installation to develop

To develop using STRcount, you will need to create a conda environment or python virtual environment, then perform the following steps:

git clone https://github.com/sabiqali/strcount.git
cd strcount
python -m pip install -r requirements.txt
python src/STRcount/STRcount.py -h

Config file format

The config file should be in the following format:

chr begin end name repeat prefix suffix
chr9 27573527 27573544 c9orf72 GGCCCC <150bp_left_flank> <150bp_right_flank>

Usage

If installed using pip or from source, you will be able to use it using STRcount else if you have installed to develop, you will be able to use it using python src/STRcount/STRcount.py

STRcount [-h] --reference REFERENCE --fastq FASTQ --config CONFIG
                  --output OUTPUT [--min-identity MIN_IDENTITY]
                  [--min-aligned-fraction MIN_ALIGNED_FRACTION]
                  [--write-non-spanned]
                  [--repeat_orientation REPEAT_ORIENTATION]
                  [--prefix_orientation PREFIX_ORIENTATION]
                  [--suffix_orientation SUFFIX_ORIENTATION]
                  [--cleanup CLEANUP] [--output_directory OUTPUT_DIRECTORY]
                  [--multiseed-DP MULTISEED_DP]
                  [--precise-clipping PRECISE_CLIPPING]

optional arguments:
 -h, --help            show this help message and exit
 --reference REFERENCE
                       the reference from which the STR Graph will be
                       generated
 --fastq FASTQ         the baseaclled reads in fastq format
 --config CONFIG       the config file
 --output OUTPUT       the output file
 --min-identity MIN_IDENTITY
                       only use reads with identity greater than this
 --min-aligned-fraction MIN_ALIGNED_FRACTION
                       require alignments cover this proportion of the query
                       sequence
 --write-non-spanned   do not require the reads to span the prefix/suffix
                       region
 --repeat_orientation REPEAT_ORIENTATION
                       the orientation of the repeat string. + or -
 --prefix_orientation PREFIX_ORIENTATION
                       the orientation of the prefix, + or -
 --suffix_orientation SUFFIX_ORIENTATION
                       the orientation of the suffix, + or -
 --cleanup CLEANUP     do you want to clean up the temporary file?
 --output_directory OUTPUT_DIRECTORY
                       the output directory for all output and temporary
                       files
 --multiseed-DP MULTISEED_DP
                       Aligner option
 --precise-clipping PRECISE_CLIPPING
                       Aligner option: use arg as the identity threshold for
                       a valid alignment.

Output

The output is in a .tsv format that will look something like this:

read_name strand spanned count align_score identity query_aligned_fraction
  • read_name: The name of the read that is currently being proccessed
  • strand: The strand on which the primary alignment has been detected
  • spanned: If set to 1, it means that the read spanned the repeat locus and the flanking sequence
  • count: The number of repeat motifs detected at the locus for that particular read
  • align_score: The alignment score as given by GraphAligner
  • identity: The percentage identity as given by GraphAligner
  • query_aligned_fraction: This signifies how much of the query sequence is covered by the alignment

Contact

Sabiq Chaudhary

License

MIT

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

STRcount-0.1.0.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

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

STRcount-0.1.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file STRcount-0.1.0.tar.gz.

File metadata

  • Download URL: STRcount-0.1.0.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.7

File hashes

Hashes for STRcount-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bd6f58c65cbe69619ec38f1a74ce372cb21f9a35c0f265dd85e0220cc93a8095
MD5 558ddff7803017b7517ef36e17835abb
BLAKE2b-256 8f9b77eec4295a918c45c103d541360ed301675d0a8f3c1f8e9bdaa85b0068d8

See more details on using hashes here.

File details

Details for the file STRcount-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: STRcount-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.7

File hashes

Hashes for STRcount-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d694c9808c025263e3638eba2757550141f4a1936f7cf6f993ba8200fb562574
MD5 17cbbef6b243ebfd1a278ec4fcb05b65
BLAKE2b-256 f73321a881c2b5a21f11a9bbeb5d9bf07587974a352894c6578e90d2596ac0ef

See more details on using hashes here.

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