title: RGFA: powerful and convenient handling of assembly graphs.
abstract: The "Graphical Fragment Assembly" (GFA) is an emerging format for the representation of sequence assembly graphs, which can be adopted by both de Bruijn graph- and string graph-based assemblers. Here we present RGFA, an implementation of the proposed GFA specification in Ruby. It allows the user to conveniently parse, edit and write GFA files. Complex operations such as the separation of the implicit instances of repeats and the merging of linear paths can be performed. A typical application of RGFA is the editing of a graph, to finish the assembly of a sequence, using information not available to the assembler. We illustrate a use case, in which the assembly of a repetitive metagenomic fosmid insert was completed using a script based on RGFA. Furthermore, we show how the API provided by RGFA can be employed to design complex graph editing algorithms. As an example, we developed a detection algorithm for CRISPRs in a de Bruijn graph. Finally, RGFA can be used for comparing assembly graphs, e.g., to document the changes in a graph after applying a GUI editor. A program, GFAdiff is provided, which compares the information in two graphs, and generate a report or a Ruby script documenting the transformation steps between the graphs.
authors.affiliation: Zentrum für Bioinformatik, Universität Hamburg , Hamburg , Germany.
authors.forename: Giorgio
authors.initials: G
authors.lastname: Gonnella
authors.affiliation: Zentrum für Bioinformatik, Universität Hamburg , Hamburg , Germany.
authors.forename: Stefan
authors.initials: S
authors.lastname: Kurtz
keywords: Assembly graph; GFA format; Graph transformation; Graphical Fragment Assembly; Sequence assembling; Software library