Skip to main content

Commandline tool for parsing NGS reads by multiple fuzzy regex operations

Project description

itermae

This is tool that parses FASTQ format reads using patterns. Specifically, it uses fuzzy regular expressions, so patterns that allow some degeneracy and using the sequence, not just position, to parse reads. Then it rebuilds SAM, FASTQ, or FASTA file streams for piping into other tools or into other files.

It is pretty much just a wrapper to apply fuzzy regex from the regex to sequences in Biopython format. That's pretty much it, but it's designed to be a flexible command line interface to that, for easy parallelization.

Availability, installation, 'installation'

Options:

  1. Use pip to install itermae, so

    python3 -m pip install itermae

  2. You can clone this repo, and install it locally. Dependencies are in requirements.txt, so python3 -m pip install -r requirements.txt will install those. But if you're not using pip anyways, then you... do you.

  3. You can use Singularity to pull and run a Singularity image of itermae.py, where everything is already installed. This is the recommended usage. This image is built with a few other tools, like gawk, perl, and parallel, to make command line munging easier.

Usage

itermae is envisioned to be used in a pipe-line where you just got your FASTQ reads back, and you want to parse them. You can use zcat to feed small chunks into the tool, develop operations that match, filter, and extract the right groups to assemble the output you want. Then you wrap it it up behind parallel and feed the whole FASTQ file via zcat in on standard in. This parallelizes with a small memory footprint (tune the chunk size), then you write it out to disk (or stream into another tool?).

Do one thing well, right?

See the jupyter notebook in demo/, and the HTML produced from that in that same folder. That should have some examples and ideas for how to use it.

I believe I'm the only one using this tool, so let me know if you ever try it. I'd love to hear about it, and would be very eager to help you use it and try to adapt it to work to your purposes.

Oh, and this is for BASH shells on Linux/Unix boxes ! I have no idea how OSX/windows stuff works. Are you unfamiliar with this? If you're at a university, ask your librarian. If you're not, look it up online or use the lessons at Software Carpentries. Or tweet at me about it...

Caution!

The output group formation and filtering is just using eval. This gives flexibility, but is nowhere near remotely thinking that it would be anywhere near anything like secure. So this is for use at the command line on your computer, not web-facing or anything of the sort. Be responsible.

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

itermae-0.4.1.tar.gz (11.3 kB view hashes)

Uploaded Source

Built Distribution

itermae-0.4.1-py3-none-any.whl (13.4 kB view hashes)

Uploaded Python 3

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