[Biopython-dev] Martel-0.4 available

Andrew Dalke dalke at acm.org
Fri Dec 1 05:06:00 EST 2000

I've placed a copy of the Martel-0.4 distribution at

The only real change between this and version 0.35 is the
support for different newline conventions.

  New regexp syntax - \R
     \R    means "\n|\r\n?"
     [\R]  means "[\n\r]"

  New Expression Node - AnyEOL
     implements the \R test

  RecordReaders rewritten to use mxTextTools to find record
begin and end characters rather than using readline/readlines.

  RecordReaders' __init__ and .remainder() pass around a
lookahead buffer as a string rather than a list of lines.
Parser.py appropriately modified.

There's also a very complete regression suite for the new readers
because the new code is prone to more subtle errors.  (Hand-written
state tables combined with hand-written/emulated continuations
doesn't make for easy-to-write code.)

None of the format definitions have yet been modified to use the
new \R syntax.  This is more meant to be trial code to see if 
my solution to the newline problem is appropriate.  I think it
does but would like feedback.

Finally, I believe the API is now pretty solid for:
  - the regexp syntax 
  - how to make a parser
  - how to make an iterator (would like a bit more feedback)
  - RecordReader protocol (would like feedback)

This means I think we can start trying Martel for real work,
as the changes will only be in the specific formats and without
a global impact.

Assuming there are no bugs :)

BTW, I really hate being sick.  Haven't been able to do much
of anything requiring sustained thought for the last 3 days :(
Luckily, I had mostly finished this up over the Thanksgiving
weekend so it didn't require much more work.

                    dalke at acm.org

More information about the Biopython-dev mailing list