TextFormats

TextFormats provides a data-description language and library for defining, parsing, and writing custom human-readable text formats used in bioinformatics.


Key Features:

  • Data description language: A formal language to specify the syntax and fields of text formats used in bioinformatics.
  • Parsing and writing libraries: Implementations that enable parsing and writing of specified formats in Nim, Python, and C/C++.
  • Example generation and testing: Automatic generation of data examples and testing of format specifications to validate correctness.
  • Predefined format specifications: Included specifications for several common bioinformatics text formats.
  • Support for novel formats: Enables definition and handling of newly created human-readable text formats to reduce the need for bespoke parsers.

Scientific Applications:

  • Format formalization: Creating formal specifications for new and existing bioinformatics text formats.
  • Data interchange: Parsing and writing data to enable interoperability among tools implemented in Nim, Python, and C/C++.
  • Specification validation: Generating example datasets and tests to verify format specifications prior to downstream analyses.
  • Standardization: Providing shared specifications for common bioinformatics text formats to promote consistency in data handling.

Methodology:

Define format specifications using a dedicated data-description language; automatically generate example data and run tests against specifications; provide parsing and writing implementations for Nim, Python, and C/C++.

Topics

Details

License:
Not licensed
Cost:
Free of charge
Tool Type:
command-line tool
Operating Systems:
Mac, Windows, Linux
Programming Languages:
Python, C, C++
Added:
8/16/2022
Last Updated:
8/16/2022

Operations

Publications

Gonnella G. TextFormats: Simplifying the definition and parsing of text formats in bioinformatics. PLOS ONE. 2022;17(5):e0268910. doi:10.1371/journal.pone.0268910. PMID:35617194. PMCID:PMC9135226.

PMID: 35617194
PMCID: PMC9135226
Funding: - Deutsche Forschungsgemeinschaft: GO 3192/1-1

Documentation