From BioPerl
Jump to: navigation, search


This is essentially a stub page for discussion of possible design directions for a Perl 6-based BioPerl implementation. As the Perl 6 specification is still being developed, this will take a while to come to fruition, but it's worth setting up a discussion page. For the time being we will be targeting Rakudo Perl6, specifically Rakudo using the MoarVM backend.

Development is on-going at the GitHub repository, though this will likely be moved within the main BioPerl GitHub space.

Basic Perl6 classes/roles implemented

Most code are almost direct ports of the original code, though in a number of places we use a Role instead of an interface (abstract) class, namely b/c these also have the benefit of introducing sane default options or requirements w/o the overhead of inheritance.

  • Bio::Role::Describable (role replacement for Bio::DescribableI)
  • Bio::Role::Indentifiable (role replacement for Bio::IndentifiableI)
  • Bio::Role::Range (role replacement for Bio::RangeI)
  • Bio::Tools::CodonUsage
  • Bio::Tools::IUPAC
  • Bio::PrimarySeq

Implemented but may not be used:

  • Bio::Root (much of the parts in Root may be overkill for Perl 6; we may simply take advantage of core base class/roles as much as possible)
  • Bio::Role::Annotation (role replacement for Bio::AnnotationI) - this is a stub that may be replaced with something based on feedback

Also, a few additional pieces are present including:

  • Bio::Grammar::Fasta


  • Bio::Location (possibly reworked as a role)
  • Bio::SeqFeature
Personal tools
Main Links