A small library to return temporary decompressed files when one needs them.
Project description
dcompressee
: a small Python library to generate temporarirly decompressed files
Background
A common use case in Bioinformatics is having to temporarily decompress a file in
order to run it through some tool. For instance, blastn
can only read uncompressed
FASTA files. This library provides a simple way to do this. The library will automatically
detect the compression format of the file and decompress it to a temporary file. The
temporary file will be automatically deleted when the program exits. The library
currently supports the following compression formats: gzip
, bzip2
, xz
, lz4
, and lzma
.
Usage
from dcompressee import unpack
# A list of file paths as pathlib.Path objects with various compression formats,
# and some are not compressed
files = ["/path/to/file1.fasta.gz", "/path/to/file2.fasta.bz2", "/path/to/file3.fasta.xz", "/path/to/file4.fasta"]
# Generate a list of paths as pathlib.Path objects to temporarily decompressed
# files (these will be created in $TMPDIR) if necessary. For files that are not
# compressed, the function will return the original path.
# The created temporary files will be automaicallly deleted when the program exits.
paths = [unpack(f) for f in files]
Installation
pip install dcompressee
Examples
Two examples are provided in the examples
directory. The first example shows how to
use dcompressee
in a simple Python script. The second example shows how to use
dcompressee
in a asynchronous manner.
Author
Anders Goncalves da Silva (@andersgs)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for dcompressee-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cd9c00ccff8338b755674f49b7b390483083568c52611fdfaac71befe5deb0d |
|
MD5 | ae57dc78963105d11c87543a82925ec4 |
|
BLAKE2b-256 | f5a7720eca1f18e637d1946e2ac1d9f9922831d8c83273f8ec3e9931bf3043f6 |