BSON / cl-mongo-stream / elprep-mongo
Hi,
We have released new libraries. They have been developed in the context of our work on sequencing tools, especially elPrep which Charlotte Herzeel has already announced last month (cf. https://github.com/exascience/elprep and https://github.com/ExaScience/elprep-demo ).
The first new library implements low-level support for accessing MongoDB databases. It’s called cl-mongo-stream and is available at https://github.com/ExaScience/cl-mongo-stream
cl-mongo-stream is a stream-oriented implementation of the MongoDB wire protocol for Common Lisp, currently running only on LispWorks due to a number of LispWorks-specific optimizations.
This library provides support for reading and writing BSON documents to and from Common Lisp, including both a functional interface to produce and parse BSON documents on the fly, as well as a representation of BSON documents as Lisp property lists or association lists. BSON support is provided in its own BSON package because it may be useful independent from MongoDB.
The library also provides support for the essential MongoDB wire protocol operations in the cl-mongo-stream package. There is also some basic support for some basic CRUD and other commands, but that part of the library is far from complete. The focus is on support for BSON documents and the wire protocol.
It should be possible to port this library also to other Common Lisp implementations. At the moment, we are not sure to what extent we can support such a port, though, since we also don’t know to what extent we are going to develop this library further in the first place. However, feel free to fork this library and extend it as necessary. (It comes with a BSD-style license.) Having said that, this library is already well tested and usable as is.
The other library is elprep-mongo and is available at https://github.com/ExaScience/elprep-mongo
elPrep-mongo is an extension of elPrep that allows for using MongoDB databases as input and/or output targets in elPrep, on top of the in-memory and file representations that elPrep already supports. A specification for the representation of SAM files in MongoDB databases is also provided as part of this repository.
Pascal
--
Pascal Costanza, ExaScience Life Lab, Intel, Belgium
pascal.costanza@intel.com
Intel Corporation NV/SA
Kings Square, Veldkant 31
2550 Kontich
RPM (Bruxelles) 0415.497.718.
Citibank, Brussels, account 570/1031255/09
This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.
_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html