def get_symms_from_xds_results(self): if self.xdsdirs is not None: xdsdirs = filter(lambda x: os.path.isfile(os.path.join(x, "GXPARM.XDS")), self.xdsdirs) else: xdsdirs = map(lambda x: x[0], filter(lambda x: "GXPARM.XDS" in x[2], os.walk(self.topdir))) symms = [] print >>self.out, "Idx Dir Cell P1Cell" idx = 0 for root in xdsdirs: print >>self.out, "%.3d"%idx, print >>self.out, os.path.relpath(root, self.topdir) if self.topdir is not None else root, gxparm_xds = os.path.join(root, "GXPARM.XDS") p1cell = correctlp.get_P1_cell(os.path.join(root, "CORRECT.LP")) try: xparm = XPARM(gxparm_xds) except ValueError: print >>self.out, "Invalid xparm format:", gxparm_xds continue xs = xparm.crystal_symmetry() self.dirs.append(root) self.p1cells.append(p1cell) self.symms.append(xs) print >>self.out, xs.space_group_info(), xs.unit_cell(), p1cell idx += 1 assert len(self.dirs) == len(self.symms) == len(self.p1cells)
def get_symms_from_xds_results(self): if self.xdsdirs is not None: xdsdirs = filter( lambda x: os.path.isfile(os.path.join(x, "GXPARM.XDS")), self.xdsdirs) else: xdsdirs = map( lambda x: x[0], filter(lambda x: "GXPARM.XDS" in x[2], os.walk(self.topdir))) symms = [] print >> self.out, "Idx Dir Cell P1Cell" idx = 0 for root in xdsdirs: print >> self.out, "%.3d" % idx, print >> self.out, os.path.relpath( root, self.topdir) if self.topdir is not None else root, gxparm_xds = os.path.join(root, "GXPARM.XDS") p1cell = correctlp.get_P1_cell(os.path.join(root, "CORRECT.LP"), force_obtuse_angle=True) try: xparm = XPARM(gxparm_xds) except ValueError: print >> self.out, "Invalid xparm format:", gxparm_xds continue xs = xparm.crystal_symmetry() self.dirs.append(root) self.p1cells.append(p1cell) self.symms.append(xs) print >> self.out, xs.space_group_info(), xs.unit_cell(), p1cell idx += 1 assert len(self.dirs) == len(self.symms) == len(self.p1cells)