I scouted the bioruby git repository the other day to see what might be new in the current snapshot. These are some of the notable changes:
Bug fixes;
Lots of bug fixes. For example the Bio::Fasta.remote bug has been fixed, workaround for Zlib error, fixed method names
Increased ruby 1.9 support
Renaming of files and modules
Some files and modules have been renamed for example Bio::Fastq:QualityScore has been renamed to Bio::Sequence::QualityScore
Better documentation
There is a samples folder that include sample usage of some classes and methods
PhyloXML support
Support for the phyloxml parser and writer has been included. A new version(1.10) of the PhyloXML schema has been added.
This contribution was provided by the awesome Latvian girl through a Google Summer of Code project and working for NESCent organization.
Meme and Mast support
Contributed by Adam Kraut. Minimal and basic support for the motif finding application Meme and Mast has been added.
Efficiecy
Speed up of Bio::Tree.children
“For speed up of Bio::Tree#children and parent, internal cache of
the parent for each node is added. The cache is automatically
cleared when the tree is modified. Note that the cache can only
be accessed from inside Bio::Tree.
* Bio::Tree#parent is changed to directly raise IndexError when
both of the root specified in the argument and preset in the
tree are nil (previously, the same error is raised in the path
method which is internally called from the parent method).
* Bio::Tree#path is changed not to call bfs_shortest_path if the
node1 and node2 are adjacent.”
To build a gem based on the current snapshot, make sure the following lines have been included in the bioruby.gemspecs file. The current(today’s) snapshot may have already fixed this by now. :)
"lib/bio/db/fasta/fasta_to_biosequence.rb",
"lib/bio/db/fastq/fastq_to_biosequence.rb",
"lib/bio/db/fastq/format_fastq.rb",
"lib/bio/db/fastq.rb",
"lib/bio/db/sanger_chromatogram/abif.rb",
"lib/bio/db/sanger_chromatogram/chromatogram.rb",
"lib/bio/db/sanger_chromatogram/chromatogram_to_biosequence.rb",
"lib/bio/db/sanger_chromatogram/scf.rb",
"lib/bio/db/phyloxml/phyloxml.xsd",
"lib/bio/db/phyloxml/phyloxml_elements.rb",
"lib/bio/db/phyloxml/phyloxml_parser.rb",
"lib/bio/db/phyloxml/phyloxml_writer.rb",
"lib/bio/sequence/quality_score.rb"
Note that this is the breeding edge version and things are bound to break.
Thank you for the awesome work!