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)
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!")