def path_to_agp(g, path, object, sizes, status): lines = [] for (a, ao), (b, bo) in pairwise(path): ao = get_orientation(ao, status) e = g.get_edge(a.v, b.v) cline = AGPLine.cline(object, a.v, sizes, ao) gline = AGPLine.gline(object, e.length) lines.append(cline) lines.append(gline) # Do not forget the last one z, zo = path[-1] zo = get_orientation(zo, status) cline = AGPLine.cline(object, z.v, sizes, zo) lines.append(cline) return lines
def write_agp(self, filename): sizes = self.sz agp = [] for scaffold, lines in self.iter_scaffold(): for a, b in pairwise(lines): cline = AGPLine.cline(scaffold, a.tig, sizes, a.oo) gline = AGPLine.gline(scaffold, a.gaps) agp.append(cline) agp.append(gline) a = lines[-1] cline = AGPLine.cline(scaffold, a.tig, sizes, a.oo) agp.append(cline) fw = open(filename, "w") for a in agp: print >> fw, a fw.close() reindex([filename, "--inplace"]) return filename