Example #1
0
def test_parse_xmfa():
  file = os.path.join(test_dir, 'test.xmfa')
  print file
  fh = open(file, 'r')
  alignments = parse_xmfa(fh)
  fh.close()
  assert len(alignments) == 2
  assert len(alignments[0]) == 3
  assert len(alignments[0][0]) == 12
Example #2
0
  column_coords = []  # current coordinate position for each seq in alignment
  strands = [] # list of strand information for each seq in alignment
  names = [] # list of sequence names
  for seq in aln:
    (start, strand, name) = parse_id(seq.id)
    names.append(name)
    strands.append(strand)
    column_coords.append(start)
  for x in range(len(aln[0])):
    row_coords = []
    slice = aln[:, x]
    for y in range(len(slice)):
      if slice[y] != '-':
        row_coords.append(names[y] + ':' + str(column_coords[y]))
        if strands[y] == '+':
          column_coords[y] += 1
        else:
          column_coords[y] -= 1
      else:
        row_coords.append('-:-')  
    coord_array.append(row_coords)
  return coord_array

if __name__ == "__main__":
   fh = open(sys.argv[1], 'r')
   for alignment in parse_xmfa(fh):
     if len(alignment) < 2:
       continue
     for row in parse_coords(alignment):
       print ", ".join(row)