Difference between revisions of "Main Page"

From BioLib
Jump to: navigation, search
 
(recreated from Internet Archive from Jan 30, 2011)
Line 1: Line 1:
<strong>MediaWiki has been installed.</strong>
+
= BioLib: libraries for the Bio* languages =
  
Consult the [//meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.
+
''BioLib'' brings together a set of opensource C/C++ libraries and makes them available to all Bio* languages: BioPerl,
 +
BioRuby, BioPython, BioJAVA and Bioconductor.  
  
== Getting started ==
+
'''Currently supported languages: Perl, Python and Ruby (R and JAVA are planned)'''.
* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]
+
 
* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]
+
== MODULES ==
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
+
 
* [//www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]
+
current BioLib modules:
* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]
+
 
 +
* [[BioLib Affymetrix]] reads Affymetrix microarray .CEL and .CDF formats
 +
* [[BioLib Staden io_lib]] reads/writes sequencer trace files, including SFF, ABI, SCF, ALF and PLN formats
 +
* [[BioLib R/qtl]] support with OO model for Ruby
 +
 
 +
and soon to be included BioLib modules:
 +
 
 +
* [[BioliB SAMtools]] libraries for BAM/SAM format, next generation sequencing
 +
* [[BioliB Emboss]] the European molecular biology open software suite
 +
* [[BioLib Bio++]] libraries for sequence analysis, phylogenetics, molecular evolution and population genetics
 +
* [[BioLib libsequence]] library designed to aid writing applications for genomics and evolutionary genetics
 +
 
 +
If you have a requirement not listed here: please use the [[Biolib Poll]]!
 +
 
 +
== NEWS ==
 +
 
 +
* Biolib is adding SAMtools [http://thebird.nl/biolib/Adding_BioLib_BAM_SAM_Support.html support] (September 2010)
 +
* Biolib may get into the Google Summer of Code again with some cool project ideas, see the OBF project idea on accessing JAVA from Perl at [[GSoC2010]] and [https://www.nescent.org/wg_phyloinformatics/Phyloinformatics_Summer_of_Code_2010#Mapping_the_BEAST_GPU_library_to_Perl_and_R_using_Biolib mapping BEAST at Nescent] (March 2010)
 +
* We are heading for SWIG generated documentation, as described at [[Biolib_Documentation_1.0]] (February 2010)
 +
* First [http://emboss.sourceforge.net/ EMBOSS] mappings for Ruby, Perl and Python - a write up on [[mapping EMBOSS]] (November 2009)
 +
* Xin Shuai and Adam Smith have finalized mapping libsequence and Bio++ libraries to BioLib. See Xin's project [[User:David]] page and [http://gsoc-biolib-libsequence.blogspot.com/ blog], and Adam's project [https://www.nescent.org/wg_phyloinformatics/PhyloSoC:Mapping_the_Bio%2B%2B_Phylogenetics_toolkit_to_R/BioConductor_and_BioJAVA_using_BioLib page] and [http://gsoc-biopp.blogspot.com/ blog].
 +
 
 +
== MILESTONES ==
 +
 
 +
* BOSC Presentation ([http://thebird.nl/download/biolib-bosc2009.pdf slides] July 2009)
 +
* Microsoft Windows support added with Cygwin (May 2009)
 +
* BioLib is getting a boost from the Google Summer of Code initiative, thanks to [https://www.nescent.org/wg_phyloinformatics/Phyloinformatics_Summer_of_Code_2009 Nescent] (April 2009)
 +
* GNU Science Library (GSL) support is added to the new [[ASciLib]] (A Science Lib) project (April 2009)
 +
* ''Python'' mappings provided for Affyio and Staden (March 2009)
 +
* BioLib supports OSX; Affyio mapped to ''Perl'' (February 2009)
 +
* ''Perl'' and ''Ruby'' mappings provided for the '''Staden [http://sourceforge.net/projects/staden/ io_lib] library''', for reading of trace files in many formats (January 2009)
 +
* The source repository has moved to [http://github.com/pjotrp/biolib/ github]. The latest changelog is [http://github.com/pjotrp/biolib/commits/master here] (November 2008)
 +
* ''BioRuby'' is the first to benefit from BioLib's Affy support. See the [http://github.com/pjotrp/bioruby/tree/master/lib/bio/db/microarray/affymetrix Ruby source code] on Github (September 2008)
 +
* BioLib builds for ''Ruby'' on Linux - both Ruby gem and a [[NIX]] package (August 2008)
 +
* '''Affyio library''' runs for ''Ruby'' reading Affymetrix cel and cdf info correctly - see also [[BioLib Affymetrix]] (June 2008)
 +
* An '''example library''' gets built for ''Python'', ''Ruby'' and ''Perl'' using SWIG and cmake 2.6 (June 2008)
 +
 
 +
see also the [[Road map]]. There is potential for other languages like JAVA, R and OCaml.
 +
 
 +
== INTRODUCTION ==
 +
 
 +
BioLib pools resources and provides the mechanisms for having one code
 +
base for all important programming languages.
 +
 
 +
The primary mapping mechanism to the Bio* languages is [[SWIG]]. SWIG has
 +
come a long way in the last years and maps to all modern high-level
 +
languages. See also [[supported data types]] and [[BioLib_best_practises]] .
 +
 
 +
The primary objective of BioLib is compatibility between languages and
 +
multi-platform support. The secondary objective of BioLib is
 +
efficiency - both of CPU and RAM (why bother to write in C,
 +
otherwise).  Think of BioLib as a repository, or kernel, for low-level processing and
 +
analysis of biological data. BioLib was incepted at the
 +
Tokyo Biohackathon 2008.
 +
 
 +
For more information see the [[Road map]].
 +
 
 +
== DOCUMENTATION ==
 +
 
 +
The API of included BioLib modules can be found in the [http://thebird.nl/apidoc/biolib/index.html API Documentation]. This documentation is generated straight from the source code. Translating the API to the mapped Perl or Ruby methods is straightforward. One example is [http://thebird.nl/apidoc/biolib/index.html here], others are in the test files (for [http://github.com/pjotrp/biolib/tree/master/src/mappings/swig/perl/test Perl], [http://github.com/pjotrp/biolib/tree/master/src/mappings/swig/ruby/test Ruby] and
 +
[http://github.com/pjotrp/biolib/tree/master/src/mappings/swig/python/test Python]).
 +
 
 +
== DOWNLOADING ==
 +
 
 +
For the latest version of ''BioLib'' see the latest [http://github.com/pjotrp/biolib/tree/master%2Fdoc%2FRELEASE_NOTES.txt?raw=true RELEASE NOTES].
 +
 
 +
BioLib releases (tgz, tar.bz2 and zip) can be downloaded from:
 +
 
 +
http://bio3.biobeat.org/download/nix-biology/
 +
 
 +
For the direct access to the latest source tree use
 +
 
 +
* [http://github.com/pjotrp/biolib/tree/master Biolib on github]
 +
* And clone the (master) repository with:
 +
 
 +
  git clone git://github.com/pjotrp/biolib.git
 +
 
 +
== INSTALLATION ==
 +
 
 +
 
 +
Quick instructions : after downloading the source run
 +
 
 +
  cd biolib
 +
  ./configure
 +
  make
 +
  make test
 +
  make install
 +
 
 +
which, by default, creates the ''Perl'' bindings. Configuration parameters are:
 +
 
 +
  ./configure --with-ruby
 +
 
 +
or
 +
 
 +
  ./configure --with-python
 +
 
 +
to install a subset, for example Staden-io-lib for ''Ruby'' use
 +
 
 +
  ./configure --with-ruby --with-staden
 +
 
 +
For more information read the [http://github.com/pjotrp/biolib/tree/master/INSTALL INSTALL] file.
 +
 
 +
== REQUESTING MODULES ==
 +
 
 +
If you need a C/C++/FORTRAN/R module or library linked against one of the popular scripting languages, please make that known through the [[Biolib Poll]]. See also [[Interesting_libraries]].
 +
 
 +
== CONTRIBUTING ==
 +
 
 +
All developers writing low-level bioinformatics libraries are
 +
encouraged to contribute. A write-up on what it took to map some of the EMBOSS functionality can
 +
be found in [[Mapping EMBOSS]]. For a HOWTO read [[Add C Library]]. If you feel you have something that can be
 +
shared by other developers sign up to the BioLib mailing list (see below).
 +
 
 +
Unit testing is a critical part of BioLib. Unit tests are conveniently
 +
written in high-level languages.
 +
 
 +
The multiplatform build system is based on [[CMake]]. The source trees are
 +
maintained with [http://git.or.cz/ git] distributed version control.
 +
 
 +
== MAILING LIST ==
 +
 
 +
Subscribe to the BioLib mailing list [http://lists.open-bio.org/mailman/listinfo/biolib-dev here].
 +
 
 +
== PACKAGING ==
 +
 
 +
General support for major platforms is aimed for, including 32-bit and 64-bit Linux, OS X, *BSD, Solaris and Windows.

Revision as of 22:01, 22 September 2016

BioLib: libraries for the Bio* languages

BioLib brings together a set of opensource C/C++ libraries and makes them available to all Bio* languages: BioPerl, BioRuby, BioPython, BioJAVA and Bioconductor.

Currently supported languages: Perl, Python and Ruby (R and JAVA are planned).

MODULES

current BioLib modules:

and soon to be included BioLib modules:

  • BioliB SAMtools libraries for BAM/SAM format, next generation sequencing
  • BioliB Emboss the European molecular biology open software suite
  • BioLib Bio++ libraries for sequence analysis, phylogenetics, molecular evolution and population genetics
  • BioLib libsequence library designed to aid writing applications for genomics and evolutionary genetics

If you have a requirement not listed here: please use the Biolib Poll!

NEWS

  • Biolib is adding SAMtools support (September 2010)
  • Biolib may get into the Google Summer of Code again with some cool project ideas, see the OBF project idea on accessing JAVA from Perl at GSoC2010 and mapping BEAST at Nescent (March 2010)
  • We are heading for SWIG generated documentation, as described at Biolib_Documentation_1.0 (February 2010)
  • First EMBOSS mappings for Ruby, Perl and Python - a write up on mapping EMBOSS (November 2009)
  • Xin Shuai and Adam Smith have finalized mapping libsequence and Bio++ libraries to BioLib. See Xin's project User:David page and blog, and Adam's project page and blog.

MILESTONES

  • BOSC Presentation (slides July 2009)
  • Microsoft Windows support added with Cygwin (May 2009)
  • BioLib is getting a boost from the Google Summer of Code initiative, thanks to Nescent (April 2009)
  • GNU Science Library (GSL) support is added to the new ASciLib (A Science Lib) project (April 2009)
  • Python mappings provided for Affyio and Staden (March 2009)
  • BioLib supports OSX; Affyio mapped to Perl (February 2009)
  • Perl and Ruby mappings provided for the Staden io_lib library, for reading of trace files in many formats (January 2009)
  • The source repository has moved to github. The latest changelog is here (November 2008)
  • BioRuby is the first to benefit from BioLib's Affy support. See the Ruby source code on Github (September 2008)
  • BioLib builds for Ruby on Linux - both Ruby gem and a NIX package (August 2008)
  • Affyio library runs for Ruby reading Affymetrix cel and cdf info correctly - see also BioLib Affymetrix (June 2008)
  • An example library gets built for Python, Ruby and Perl using SWIG and cmake 2.6 (June 2008)

see also the Road map. There is potential for other languages like JAVA, R and OCaml.

INTRODUCTION

BioLib pools resources and provides the mechanisms for having one code base for all important programming languages.

The primary mapping mechanism to the Bio* languages is SWIG. SWIG has come a long way in the last years and maps to all modern high-level languages. See also supported data types and BioLib_best_practises .

The primary objective of BioLib is compatibility between languages and multi-platform support. The secondary objective of BioLib is efficiency - both of CPU and RAM (why bother to write in C, otherwise). Think of BioLib as a repository, or kernel, for low-level processing and analysis of biological data. BioLib was incepted at the Tokyo Biohackathon 2008.

For more information see the Road map.

DOCUMENTATION

The API of included BioLib modules can be found in the API Documentation. This documentation is generated straight from the source code. Translating the API to the mapped Perl or Ruby methods is straightforward. One example is here, others are in the test files (for Perl, Ruby and Python).

DOWNLOADING

For the latest version of BioLib see the latest RELEASE NOTES.

BioLib releases (tgz, tar.bz2 and zip) can be downloaded from:

http://bio3.biobeat.org/download/nix-biology/

For the direct access to the latest source tree use

 git clone git://github.com/pjotrp/biolib.git

INSTALLATION

Quick instructions : after downloading the source run

 cd biolib
 ./configure
 make
 make test
 make install

which, by default, creates the Perl bindings. Configuration parameters are:

 ./configure --with-ruby

or

 ./configure --with-python

to install a subset, for example Staden-io-lib for Ruby use

 ./configure --with-ruby --with-staden

For more information read the INSTALL file.

REQUESTING MODULES

If you need a C/C++/FORTRAN/R module or library linked against one of the popular scripting languages, please make that known through the Biolib Poll. See also Interesting_libraries.

CONTRIBUTING

All developers writing low-level bioinformatics libraries are encouraged to contribute. A write-up on what it took to map some of the EMBOSS functionality can be found in Mapping EMBOSS. For a HOWTO read Add C Library. If you feel you have something that can be shared by other developers sign up to the BioLib mailing list (see below).

Unit testing is a critical part of BioLib. Unit tests are conveniently written in high-level languages.

The multiplatform build system is based on CMake. The source trees are maintained with git distributed version control.

MAILING LIST

Subscribe to the BioLib mailing list here.

PACKAGING

General support for major platforms is aimed for, including 32-bit and 64-bit Linux, OS X, *BSD, Solaris and Windows.