Package Bio :: Package Clustalw :: Module clustal_format
[hide private]
[frames] | no frames]

Module clustal_format

source code

A Martel grammar to read information from a clustal formatted file (*.aln).

This uses Andrew Dalke's Martel to do the parsing dirty work for me. So all we need to do here is set up a big ol' regular expression to let Martel know what the file looks like.

Variables [hide private]
  version = Martel.Group("version", Martel.Re("\d.\d\d?"))
  header = Martel.Group("header", Martel.Str("CLUSTAL ")+ Martel...
  seq_id = Martel.Group("seq_id", Martel.Re("[-a-zA-Z:;^_'\",\+\...
  seq_space = Martel.Group("seq_space", Martel.Re("[ ]+"))
  seq_info = Martel.Group("seq_info", Martel.Re("[-a-zA-Z.]+"))
  seq_num = Martel.Group("seq_num", Martel.Re("[ ]+")+ Martel.Re...
  seq_line = Martel.Group("seq_line", seq_id+ seq_space+ seq_inf...
  match_stars = Martel.Group("match_stars", Martel.Re("[ :\.\*]+...
  new_block = Martel.Group("new_block", Martel.AnyEol())
  block_info = Martel.Group("block_info", Martel.Rep1(seq_line)+...
  format = Martel.Group("clustalx", header+ Martel.Rep1(block_in...
Variables Details [hide private]

header

Value:
Martel.Group("header", Martel.Str("CLUSTAL ")+ Martel.Re(".+")+ Martel\
.MaxRepeat(Martel.AnyEol(), 0, 3))

seq_id

Value:
Martel.Group("seq_id", Martel.Re("[-a-zA-Z:;^_'\",\+\#\|\[\]\(\)\/\.\d\
\?]+"))

seq_num

Value:
Martel.Group("seq_num", Martel.Re("[ ]+")+ Martel.Re("[\d]+"))

seq_line

Value:
Martel.Group("seq_line", seq_id+ seq_space+ seq_info+ Martel.Opt(seq_n\
um)+ Martel.Str("\n"))

match_stars

Value:
Martel.Group("match_stars", Martel.Re("[ :\.\*]+")+ Martel.Opt(Martel.\
AnyEol()))

block_info

Value:
Martel.Group("block_info", Martel.Rep1(seq_line)+ Martel.Opt(match_sta\
rs)+ Martel.Rep(new_block))

format

Value:
Martel.Group("clustalx", header+ Martel.Rep1(block_info))