예제 #1
0
    def main(self):
        self.define_parser()
        args = self.parser.parse_args()

        self.validate(args)

        md = MetaData(args.i)
        if md.version != "3.1":
            self.error("Input file '%s' is not RELION 3.1 format." % args.i)

        new_particles = []

        print("Reading in input star file.....")

        particles = self.get_particles(md)

        optic_groups = self.get_optic_groups(md)

        print("Total %s particles in input star file." % str(len(particles)))

        print("Total %s optic groups found in input star file." %
              str(len(optic_groups)))

        new_particles.extend(self.rel30format(particles, optic_groups))

        mdOut = MetaData()
        particleTableName = "data_"
        mdOut.addDataTable(particleTableName)
        mdOut.addLabels(particleTableName, md.getLabels("data_particles"))

        mdOut.addLabels(particleTableName, [
            'rlnVoltage', 'rlnSphericalAberration', 'rlnAmplitudeContrast',
            'rlnMagnification', 'rlnDetectorPixelSize', 'rlnOriginX',
            'rlnOriginY', 'rlnBeamTiltClass'
        ])
        mdOut.removeLabels(
            "data_", ['rlnOpticsGroup', 'rlnOriginXAngst', 'rlnOriginYAngst'])

        mdOut.addData(particleTableName, new_particles)

        mdOut.write(args.o)

        print("New star file %s in RELION 3.0 format created. Have fun!" %
              args.o)
예제 #2
0
    def main(self):
        self.define_parser()
        args = self.parser.parse_args()
        self.validate(args)

        print("Removing columns fromstar file....")

        md = MetaData(args.i)
        md.removeLabels("data_particles", "rlnImageName", "rlnMicrographName",
                        "rlnMagnification", "rlnDetectorPixelSize",
                        "rlnCtfFigureOfMerit", "rlnVoltage", "rlnDefocusU",
                        "rlnDefocusV", "rlnDefocusAngle",
                        "rlnSphericalAberration", "rlnCtfBfactor",
                        "rlnCtfScalefactor", "rlnPhaseShift",
                        "rlnAmplitudeContrast")

        md.write(args.o)

        print("New star file " + args.o + " created. Have fun!")