Skip to main content

A Cython wrapper over uShuffle - a useful tool for shuffling biological sequences while preserving the k-let counts.

Project description

https://img.shields.io/pypi/v/ushuffle.svg

A Cython wrapper around uShuffle - a useful tool for shuffling biological sequences while preserving the k-let counts

This is just a bundle of files downloaded from ushuffle and wrapped in Cython for easy installation and use.

Installation

git clone https://github.com/guma44/ushuffle.git
cd ushuffle
python setup.py install [ --user ]

or

pip install [--user] ushuffle

Usage

The library exposes a shuffling function shuffle and a Shuffler object used to make shuffling many times.

Python 2:

from ushuffle import shuffle, Shuffler
seq = "ababcdcdabdcabvababab"
shuffler = Shuffler(seq, 2)
for i in range(10):
    seqres = shuffler.shuffle()
    print("results:", seqres)
print shuffle(seq, 2)

Python 3:

from ushuffle import shuffle, Shuffler
seq = b"ababcdcdabdcabvababab"
shuffler = Shuffler(seq, 2)
for i in range(10):
    seqres = shuffler.shuffle()
    print("results:", seqres)
print(shuffle(seq, 2))

The library exposes also the function to set the random seed called set_seed. This sets the seed globally once and subsequent call to this function will not change the seed anymore.

References

If you use this tool please refer to the original paper and authors: Minghui Jiang, James Anderson, Joel Gillespie, and Martin Mayne. uShuffle: a useful tool for shuffling biological sequences while preserving the k-let counts. BMC Bioinformatics, 9:#192, 2008.

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

ushuffle-1.1.2.tar.gz (35.1 kB view hashes)

Uploaded Source

Supported by

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