Пример #1
0
    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)