The Graphical Fragment Assembly (GFA) is a proposed format which allow to describe the product of sequence assembly. This gem implements the proposed specifications for the GFA format described under https://github.com/GFA-spec/GFA-spec/blob/master/GFA-spec.md as close as possible.
The library allows to create a RGFA object from a file in the GFA format or from scratch, to enumerate the graph elements (segments, links, containments, paths and header lines), to traverse the graph (by traversing all links outgoing from or incoming to a segment), to search for elements (e.g. which links connect two segments) and to manipulate the graph (e.g. to eliminate a link or a segment or to duplicate a segment distributing the read counts evenly on the copies).
Installation
The latest release of the gem can be installed from the rubygems repository
using:
gem install rgfa
Alternatively this git repository can be cloned or the source code
installed from a release archive, and then the gem created and installed
using:
rake install
Usage
To use the library in your Ruby scripts, just require it as follows:
require "rgfa"
Additional functionality, which
requires custom tags and additional conventions, is included in a separate
part of the code named RGFATools and can be accessed with:
require "rgfatools"
Documentation
A cheatsheet is available as pdf under https://github.com/ggonnella/rgfa/blob/master/cheatsheet/rgfa-cheatsheet-1.3.1.pdf
The full API documentation is available as pdf under https://github.com/ggonnella/rgfa/blob/master/pdfdoc/rgfa-api-1.3.1.pdf or in HTML format (http://www.rubydoc.info/github/ggonnella/rgfa/master/RGFA).
The main class of the library is RGFA, which is a good starting point when reading the documentation.
References
Gonnella G, Kurtz S. (2016) RGFA: powerful and convenient handling of assembly graphs. PeerJ 4:e2681 https://doi.org/10.7717/peerj.2681