Skip to main content
. 2019 Sep 23;8(9):giz109. doi: 10.1093/gigascience/giz109

Table 1:

Standard libraries and tools used by each implementation of Bionitio

Language Build/deploy FASTA reading Command-line argument parsing Unit testing Logging Static analysis Code format
C make kseq getopt assert custom lint clang-format
C++ cmake Seqan boost::program_options catch boost::log cppcheck clang-format
C# dotnet .Net Bio Microsoft.Extensions. CommandLineUtils Microsoft.VisualStudio. TestTools.UnitTesting Serilog N/A N/A
Clojure lieningen Bioclojure clojure.tools.cli clojure.test timbre Eastwood cljfmt
Java maven biojava Apache Commons junit custom checkstyle checkstyle
JavaScript node fasta-parser commander mocha winston N/A standard
Haskell stack BioHaskell optparse-applicative hspec hslogger hlint N/A
Perl CPAN BioPerl Getopt::ArgParse Test::More Log::Log4perl perlcritic perltidy
Python pip biopython argparse unittest logging pylint N/A
R R seqinr optparse testthat logging lintr N/A
Ruby gem bioruby optparse Test::Unit logger N/A N/A
Rust cargo bio::io::fasta argparse native test feature of Rust log, log4rs N/A rustfmt

Instances where no appropriate option was available are marked with N/A.