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.1.tar.gz (7.1 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.1-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: STRcount-0.1.1.tar.gz
  • Upload date:
  • Size: 7.1 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.1.tar.gz
Algorithm Hash digest
SHA256 b1231f846317560f2490e2fe0f1df7eca547285a5df7f593ac80dd9f2facbe1f
MD5 b01e3efa80fb13e5992fb86dbc9d395b
BLAKE2b-256 9c97244d05dfc4bc8424d9584e8ea97c93987ca6bd36753ad1dd524cb748dad7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: STRcount-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.0 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b3bfa23ca165f32a6b2d208dba012943b254dae5f3083f35f8010c3c7a20d840
MD5 74d73030ec706c2d3cb4336e179225eb
BLAKE2b-256 7599a19aeaa97dd6358ff8c82385695b5ec7826bfc1962b667173eb558c3019c

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