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 ./STRcount/STRcount_wrapper.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 CGGCAGCCGAACCCCAAACAGCCACCCGCCAGGATGCCGCCTCCTCACTCACCCACTCGCCACCGCCTGCGCCTCCGCCGCCGCGGGCGCAGGCACCGCAACCGCAGCCCCGCCCCGGGCCCGCCCCCGGGCCCGCCCCGACCACGCCCC TAGCGCGCGACTCCTGAGTTCCAGAGCTTGCTACAGGCTGCGGTTGTTTCCCTCCTTGTTTTCTTCTGGTTAATCTTTATCAGGTCTTTTCTTGTTCACCCTCAGCGAGTACTGTGAGAGCAAGTAGTGGGGAGAGAGGGTGGGAAAAAC

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 STRcount.py/STRcount_wrapper.py

STRcount.py [-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.0.6.tar.gz (5.6 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.0.6-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for STRcount-0.0.6.tar.gz
Algorithm Hash digest
SHA256 e823a23a4766b6147ebcb89ad6b5013dd56e12fb71a7691ea17c6b31c8378fb3
MD5 4f9d86ae91264a9988f1aa2822596e7c
BLAKE2b-256 4179cd5f06217238ab7de90ad3a3c511031226193b8343721466a65a3c9b4d48

See more details on using hashes here.

File details

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

File metadata

  • Download URL: STRcount-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 5.7 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.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6502ec6f3ca2502d182df769e14a447a2dd7541c79899e1fb59bf42ebad2dba4
MD5 3900b8e09153c09dd95a8ff16c7e1df5
BLAKE2b-256 6c55691f01145f310ba0a1abf20d09021cb70b91f1f519272285656c3b026f8e

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