0.0
No commit activity in last 3 years
No release in over 3 years
Simple DSL to define parser for flat files formats common in biofinformatics, such as Swissprot, Uniprot, KEGG, TREMBL, etc. SwissParser API was changed in its version 1.0.0 to simplify parser definition. The code was tested on entire Uniprot and KEGG releases and functional testing guarantees that existing features will not break after an update.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 3.5.4
>= 0.4
 Project Readme

SwissParser¶ ↑

by Paradigmatic
http://github.com/paradigmatic/SwissParser

DESCRIPTION:¶ ↑

Simple DSL to define parser for flat files formats common in biofinformatics, such as Swissprot, Uniprot, KEGG, TREMBL, etc.

SwissParser API was changed in its version 1.0.0 to simplify parser definition. The code was tested on entire Uniprot and KEGG releases and functional testing guarantees that existing features will not break after an update.

Compatibility with 0.x versions¶ ↑

The 1.x versions represent an API change which is not backward compatible. However, the rules definitions and helper need small changes. A wiki page will soon give instructions for updating your parsers.

FEATURES:¶ ↑

  • Defines parsers with a clear and compact declarative syntax.

  • The whole parsing workflow is configurable.

  • Able to parse remote files accessible from a web or an FTP server.

  • Users can create new parsers by extending existing parsers.

  • Parser rules have access to user defined helper methods.

USAGE:¶ ↑

See:

REQUIREMENTS:¶ ↑

SwissParser uses only pure standard ruby.

Thanks to rvm it was successfuly tested with versions:

* ruby-1.8.7-p302
* ruby-1.9.2-p136
* jruby-1.5.2

No other gems are required to use it. However, if you want to participate in SwissParser developpement, you will need the gem bones, rspec and cucumber.

INSTALL:¶ ↑

Then you can simply install SwissParser with:

gem install swissparser

and start parsers definitions by requiring it:

require 'swissparser'

Alternatively, you can download the whole source tree or just the swissparser.rb file using the github site:

github.com/paradigmatic/SwissParser

Finally, if you want to participate in the development or use the edge version you can clone the project with git:

$ git clone git://github.com/paradigmatic/SwissParser

LICENSE:¶ ↑

Free and open software distributed under GPLv3.

See the included LICENSE file for details.