Project

seqtkrb

0.0
No commit activity in last 3 years
No release in over 3 years
Fast processing of FASTA/FASTQ files - a ruby wrapper around seqtk
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.7
>= 0.7.2, ~> 0.7
>= 4.7.5, ~> 4
~> 10.0
>= 3.5.0, ~> 3.5
>= 0.8.2, ~> 0.8
~> 3.0
>= 0.9.7, ~> 0.9

Runtime

 Project Readme

seqtkrb Build Status Coverage Status

seqtkrb is a ruby gem that wraps seqtk. This gives you fast access to basic operations on FASTA/FASTQ files without having to roll your own C extension or write a slow implementation in ruby.

Currently only the sampling functionality of seqtk is exposed. Create an issue or a Pull Request if you want more functionality.

Installation

Add this line to your application's Gemfile:

gem 'seqtkrb'

And then execute:

$ bundle

Or install it yourself as:

$ gem install seqtkrb

Usage

require 'seqtkrb'

seq = Seqtkrb::Seqtk.new # will download and install seqtk if it is not found

# basic sampling
seq.sample('reads.fq', 'sampled.fq' 10_000) # sample 10,000 reads
seq.sample('reads.fq', 'sampled.fq' 0.5) # sample reads with 50% chance of taking each read

# sampling from paired files
seq.sample('reads_l.fq', 'sampled_l.fq', 1_000, 1234) # sample 1,000 left reads with seed 1234
seq.sample('reads_r.fq', 'sampled_r.fq', 1_000, 1234) # sample the matching right reads

# low memory sampling (uses two passes)
seq.sample_lowmem('reads.fq', 'sampled.fq', 1_000_000) # sample 1 million reads

Contributing

  1. Fork it ( https://github.com/[my-github-username]/seqtkrb/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request