Skip to content

kojix2/ruby-edlib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ruby-edlib

Gem Version test DOI

Edlib - A lightweight and super fast C/C++ library for sequence alignment using edit distance

Installation

gem install edlib

The Gem compiles the edlib source code inside the gem at installation. If you want to use the latest edlib, see Development.

Usage

require "edlib"

a = Edlib::Aligner.new(mode: :hw, task: :path)
a.align("AACG", "TCAACCTG")

# {
#  :edit_distance   => 1,
#  :alphabet_length => 4,
#  :locations       => [[2, 4], [2, 5]],
#  :alignment       => [0, 0, 0, 1],
#  :cigar           => "3=1I"
# }
keyword argument description
k edit distance is not larger than k [-1]
mode global (NW) , prefix (SHW) , infix (HW) ["NW"]
task DISTANCE, LOC, PATH ["DISTANCE"]
additional_equalities List of pairs of characters, where each pair defines two characters as equal. [NULL]
a.align("AACG", "TCAACCTG", nice: true)

# {
#   :edit_distance=>1,                                                 
#   :alphabet_length=>4,                                               
#   :locations=>[[2, 4], [2, 5]],                                      
#   :alignment=>[0, 0, 0, 1],                                          
#   :cigar=>"3=1I",                                                    
#   :query_aligned=>"AACG",                                            
#   :match_aligned=>"|||-",                                            
#   :target_aligned=>"AAC-"
# }        

Documentation

https://kojix2.github.io/ruby-edlib/

Development

Pull requests welcome!

git clone https://github.com/kojix2/ruby-edlib # Please fork repo
cd ruby-edlib
bundle install
bundle exec rake compile
bundle exec rake test

Use latest edlib

git clone https://github.com/kojix2/ruby-edlib
cd ruby-edlib
bundle install
bundle exec rake edlib:update # Download latest edlib.h and edlib.cpp
bundle exec rake compile
bundle exec rake test