fas
fasten
cargo install fasten
fas

fasten

👷‍♂️ Fasten toolkit, for streaming operations on fastq files

by Lee Katz

0.1.13 (see all)License:MIT
cargo install fasten
Readme

Build Status Crates.io

Fasten

Perform random operations on fastq files, using unix streaming. Secure your analysis with Fasten!

Installation

Fasten is programmed in the Rust programming language. More information about Rust, including installation and the executable cargo, can be found at rust-lang.org.

After downloading, use the Rust executable cargo like so:

cd fasten
cargo build --release

All executables will be in the directory fasten/target/release.

General usage

All scripts accept the parameters, read uncompressed fastq format from stdin, and print uncompressed fastq format to stdout. All paired end fastq files must be in interleaved format, and they are written in interleaved format, except when deshuffling with fasten_shuffle.

  • --help
  • --numcpus Not all scripts will take advantage of numcpus.
  • --paired-end Input reads are interleaved paired end
  • --verbose Print more status messages

Other documentation

  • Some workflows are shown in the one-liners page.
  • Some wrapper scripts are noted in the scripts page.

Fasten script descriptions

script

Description

fasten_clean

Trims and cleans a fastq file.

fasten_straighten

Convert any fastq file to a standard four-line-per-entry format.

fasten_metrics

Prints basic read metrics.

fasten_pe

Determines paired-endedness based on read IDs.

fasten_randomize

Randomizes reads from input

fasten_combine

Combines identical reads and updates quality scores.

fasten_kmer

Kmer counting.

fasten_sample

Downsamples reads.

fasten_shuffle

Shuffles or deshuffles paired end reads.

fasten_validate

Validates your reads

fasten_quality_filter

Transforms nucleotides to "N" if the quality is low

fasten_trim

Blunt-end trims reads

fasten_replace

Find and replace using regex

fasten_regex

Filter for reads using regex

Etymology

Many of these scripts have inspiration from the fastx toolkit, and I wanted to make a fasty which was already the name of a bioinformatics program. Therefore I cycled through other letters of the alphabet and came across "N." So it is possible to pronounce this project like "Fast-N" or in a way that indicates that you are securing your analysis by "fasten"ing it (with a silent T).

Acknowledgements

Thank you Henk Den Bakker for many helpful discussions around Rust, helping me name this software, and many other things.

GitHub Stars

23

LAST COMMIT

10mos ago

MAINTAINERS

1

CONTRIBUTORS

3

OPEN ISSUES

3

OPEN PRs

0
VersionTagPublished
0.1.13
4yrs ago
0.1.12
4yrs ago
0.1.11
4yrs ago
0.1.8
4yrs ago
No alternatives found
No tutorials found
Add a tutorial