def main(): progname = os.path.basename(sys.argv[0]) usage = progname + """ [options] A tool for displaying EMAN2 command history """ parser = EMArgumentParser(usage=usage) parser.add_argument( "--gui", "-g", default=False, action="store_true", help="Open history in an interface with a sortable table.") parser.add_argument("--all", "-a", default=False, action="store_true", help="Show for all directories.") parser.add_argument( "--ppid", type=int, help="Set the PID of the parent process, used for cross platform PPID", default=-1) parser.add_argument( "--verbose", "-v", dest="verbose", action="store", metavar="n", type=int, default=0, help= "verbose level [0-9], higner number means higher level of verboseness") (options, args) = parser.parse_args() if options.gui: from eman2_gui.emapplication import EMApp app = EMApp() hist = HistoryForm(app, os.getcwd()) hist.form.show() hist.form.raise_() app.show() app.execute() else: print_to_std_out(options.all)
def main(): progname = os.path.basename(sys.argv[0]) usage = progname + """ [options] A tool for displaying EMAN2 command history """ parser = EMArgumentParser(usage=usage) parser.add_argument("--gui", "-g",default=False, action="store_true",help="Open history in an interface with a sortable table.") parser.add_argument("--all", "-a",default=False, action="store_true",help="Show for all directories.") parser.add_argument("--ppid", type=int, help="Set the PID of the parent process, used for cross platform PPID",default=-1) parser.add_argument("--verbose", "-v", dest="verbose", action="store", metavar="n", type=int, default=0, help="verbose level [0-9], higner number means higher level of verboseness") (options, args) = parser.parse_args() if options.gui: from emapplication import EMApp app = EMApp() hist = HistoryForm(app,os.getcwd()) app.show() app.execute() else: print_to_std_out(options.all)
print("ERROR!! %s doesn't exist!\n" % file) exit() if __name__ == "__main__": usage = """ sxproj_compare.py <input_imgs> <input_volume> sxproj_compare.py <input_imgs> <input_volume> --outdir <output_directory> sxproj_compare.py <input_imgs> <input_volume> --outdir <output_directory> --angles <angles_file> sxproj_compare.py <input_imgs> <input_volume> --outdir <output_directory> --angles <angles_file> --select <img_selection_file> sxproj_compare.py <input_imgs> <input_volume> --outdir <output_directory> --angles <angles_file> --select <img_selection_file> --display """ # Command-line arguments parser = EMArgumentParser(usage=usage,version=EMANVERSION) parser.add_argument('classavgs', help='Input class averages') parser.add_argument('vol3d', help='Input 3D reconstruction') parser.add_argument('--outdir', "-o", type=str, help='Output directory') parser.add_argument('--angles', "-a", type=str, help='Angles files, which will be imported into the header of the class-average stack') parser.add_argument('--select', "-s", type=str, help='Selection file for included classes. RVIPER may exclude some images from the reconstruction.') parser.add_argument('--display', "-d", action="store_true", help='Automatically open montage in e2display') (options, args) = parser.parse_args() #print args, options # (Everything is in options.) #exit() # If output directory not specified, write to same directory as class averages if not options.outdir: outdir = os.path.dirname(os.path.realpath(options.classavgs)) else: outdir = options.outdir
def main(): progname = os.path.basename(sys.argv[0]) usage = """prog [options] <image file> ... This program can be used to visualize most files used in EMAN2. Running it without arguments will open a browser window with more flexible functionality than the command-line. """ global app,win,options parser = EMArgumentParser(usage=usage,version=EMANVERSION) parser.add_argument("--classmx",type=str,help="<classmx>,<#> Show particles in one class from a classification matrix. Pass raw particle file as first argument to command.") parser.add_argument("--classes",type=str,help="<rawptcl>,<classmx> Show particles associated class-averages") parser.add_argument("--pdb",type=str,help="<pdb file> Show PDB structure.") parser.add_argument("--singleimage",action="store_true",default=False,help="Display a stack in a single image view") parser.add_argument("--plot",action="store_true",default=False,help="Data file(s) should be plotted rather than displayed in 2-D") parser.add_argument("--plot3",action="store_true",default=False,help="Data file(s) should be plotted rather than displayed in 3-D") parser.add_argument("--fullrange",action="store_true",default=False,help="A specialized flag that disables auto contrast for the display of particles stacks and 2D images only.") parser.add_argument("--newwidget",action="store_true",default=False,help="Use the new 3D widgetD. Highly recommended!!!!") parser.add_argument("--ppid", type=int, help="Set the PID of the parent process, used for cross platform PPID",default=-2) parser.add_argument("--verbose", "-v", dest="verbose", action="store", metavar="n", type=int, default=0, help="verbose level [0-9], higner number means higher level of verboseness") (options, args) = parser.parse_args() # logid=E2init(sys.argv) app = EMApp() #gapp = app #QtGui.QApplication(sys.argv) win=[] if options.fullrange: fullrangeparms = set_full_range() if len(args) < 1: global dialog file_list = [] dialog = embrowser.EMBrowserWidget(withmodal=False,multiselect=False) dialog.show() try: dialog.raise_() # QtCore.QObject.connect(dialog,QtCore.SIGNAL("ok"),on_browser_done) # QtCore.QObject.connect(dialog,QtCore.SIGNAL("cancel"),on_browser_cancel) except: pass elif options.pdb: load_pdb(args,app) elif options.plot: plot(args,app) elif options.plot3: plot_3d(args,app) elif options.classes: options.classes=options.classes.split(",") imgs=EMData.read_images(args[0]) display(imgs,app,args[0]) QtCore.QObject.connect(win[0].child,QtCore.SIGNAL("mousedown"),lambda a,b:selectclass(options.classes[0],options.classes[1],a,b)) try: out=file("selected.lst","w") out.write("#LST\n") out.close() except: pass elif options.classmx: options.classmx=options.classmx.split(",") clsnum=int(options.classmx[1]) imgs=getmxim(args[0],options.classmx[0],clsnum) display(imgs,app,args[0]) else: for i in args: if not file_exists(i): print "%s doesn't exist" %i sys.exit(1) display_file(i,app,options.singleimage,usescenegraph=options.newwidget) if options.fullrange: revert_full_range(fullrangeparms) app.exec_()
def main(): progname = os.path.basename(sys.argv[0]) usage = """%prog [options] <image1> <image2> <image3> <image4> .... WARNING: Experimental program. Contact [email protected] for more info. Currently only supports bootstrapping an initial probe doing all versus all alignment of the input images """ parser = EMArgumentParser(usage=usage, version=EMANVERSION) parser.add_argument( "--align", type=str, help= "The aligner and its parameters. e.g. --align=rt.3d.grid:ralt=180:dalt=10:dphi=10:rphi=180:search=5", default="rt.3d.grid") parser.add_argument( "--aligncmp", type=str, help="The comparator used for determing the best initial alignment", default="dot.tomo:threshold=0") parser.add_argument( "--cmp", type=str, help="The comparator used to obtain the final similarity", default="dot.tomo:threshold=0") parser.add_argument( "--ralign", type=str, help= "This is the second stage aligner used to refine the first alignment. This is usually the \'refine\' aligner.", default=None) parser.add_argument( "--raligncmp", type=str, help="The comparator used for determing the refined alignment", default="dot.tomo:threshold=0") parser.add_argument("--bootstrap", action="store_true", default=True, help="Boot strap alignment") parser.add_argument( "--output", type=str, default="e2tomoave.hdf", help="The output image which will store the results matrix") parser.add_argument("--parallel", type=str, default=None, help="Use parallelism") parser.add_argument( "--path", default=None, type=str, help= "The name of a directory where results are placed. If unspecified will generate one automatically of type tomo_ave_??." ) parser.add_argument( "--nsoln", default=1, type=int, help= "If supplied and greater than 1, the nsoln-best alignments will be written to a text file. This is useful for debug but may be left unspecified" ) parser.add_argument( "--dbls", type=str, help= "data base list storage, used by the workflow. You can ignore this argument.", default=None) parser.add_argument( "--shrink", type=int, help= "Shrink the data as part of the alignment - for speed purposes but at the potential loss of accuracy", default=None) parser.add_argument( "--filter", type=str, help= "The name and parameters of an EMAN2 processor. Will be applied prior to shrinking.", default=None) parser.add_argument( "--ppid", type=int, help="Set the PID of the parent process, used for cross platform PPID", default=-1) parser.add_argument( "--verbose", "-v", dest="verbose", action="store", metavar="n", type=int, default=0, help= "verbose level [0-9], higher number means higher level of verboseness") if EMUtil.cuda_available(): parser.add_argument("--cuda", action="store_true", help="GPU acceleration using CUDA. Experimental", default=False) (options, args) = parser.parse_args() print(options.shrink) error_messages = check_options(options, args) if len(error_messages) != 0: msg = "\n" for error in error_messages: msg += error + "\n" parser.error(msg) exit(1) logger = E2init(sys.argv, options.ppid) if options.bootstrap: module = EMBootStrappedAverages(args, options, logger) module.execute() else: print("boot strap only supported technique") E2end(logger)
def main(): progname = os.path.basename(sys.argv[0]) usage = """prog [options] <image file> ... This program can be used to visualize most files used in EMAN2. Running it without arguments will open a browser window with more flexible functionality than the command-line. """ global app, win, options parser = EMArgumentParser(usage=usage, version=EMANVERSION) parser.add_argument( "--classmx", type=str, help= "<classmx>,<#> Show particles in one class from a classification matrix. Pass raw particle file as first argument to command." ) parser.add_argument( "--classes", type=str, help="<rawptcl>,<classmx> Show particles associated class-averages") parser.add_argument("--pdb", type=str, help="<pdb file> Show PDB structure.") parser.add_argument("--singleimage", action="store_true", default=False, help="Display a stack in a single image view") parser.add_argument( "--plot", action="store_true", default=False, help="Data file(s) should be plotted rather than displayed in 2-D") parser.add_argument( "--hist", action="store_true", default=False, help= "Data file(s) should be plotted as a histogram rather than displayed in 2-D." ) parser.add_argument( "--plot3d", action="store_true", default=False, help="Data file(s) should be plotted rather than displayed in 3-D") parser.add_argument( "--fullrange", action="store_true", default=False, help= "A specialized flag that disables auto contrast for the display of particles stacks and 2D images only." ) parser.add_argument("--newwidget", action="store_true", default=False, help="Use the new 3D widgetD. Highly recommended!!!!") parser.add_argument( "--ppid", type=int, help="Set the PID of the parent process, used for cross platform PPID", default=-2) parser.add_argument( "--verbose", "-v", dest="verbose", action="store", metavar="n", type=int, default=0, help= "verbose level [0-9], higher number means higher level of verboseness") (options, args) = parser.parse_args() # logid=E2init(sys.argv) app = EMApp() #gapp = app #QtWidgets.QApplication(sys.argv) win = [] if options.fullrange: print( """The --fullrange option has been removed, and replaced with an option in user preferences. To set your preferences for full-range 2-D display, please run: e2procjson.py --setoption display2d.autocontrast:true """) sys.exit(0) if len(args) < 1: global dialog file_list = [] dialog = embrowser.EMBrowserWidget(withmodal=False, multiselect=False) dialog.show() try: dialog.raise_() # QtCore.QObject.connect(dialog,QtCore.SIGNAL("ok"),on_browser_done) # QtCore.QObject.connect(dialog,QtCore.SIGNAL("cancel"),on_browser_cancel) except: pass elif options.pdb: load_pdb(args, app) elif options.plot: plot(args, app) elif options.hist: hist(args, app) elif options.plot3d: plot_3d(args, app) elif options.classes: options.classes = options.classes.split(",") imgs = EMData.read_images(args[0]) display(imgs, app, args[0]) win[0].child.mousedown.connect(lambda a, b: selectclass( options.classes[0], options.classes[1], a, b)) try: out = open("selected.lst", "w") out.write("#LST\n") out.close() except: pass elif options.classmx: options.classmx = options.classmx.split(",") clsnum = int(options.classmx[1]) imgs = getmxim(args[0], options.classmx[0], clsnum) display(imgs, app, args[0]) else: for i in args: if not file_exists(i): print("%s doesn't exist" % i) sys.exit(1) display_file(i, app, options.singleimage, usescenegraph=options.newwidget) app.exec_()
:param star: StarFile object with matching indices :return: None """ star['rlnOriginX'][self.i] = self.x_origin star['rlnOriginY'][self.i] = self.y_origin MetaData.update = update # Monkey patch the MetaData class. if __name__ == "__main__": usage = "projection_subtraction.py [options] output_suffix" parser = EMArgumentParser(usage=usage, version="projection_subtraction.py 1.0a, " + EMANVERSION) parser.add_argument( "--input", type=str, help="RELION .star file listing input particle image stack(s)") parser.add_argument( "--wholemap", type=str, help="Map used to calculate projections for normalization") parser.add_argument("--submap", type=str, help="Map used to calculate subtracted projections") parser.add_argument( "--output", type=str, help="RELION .star file for listing output particle image stack(s)") parser.add_argument("--nproc", type=int, default=1,
counter = 0 # Loop through classes with open(classmap) as r: for idx, line in enumerate(r.readlines()): with open(classdoc.format(idx), 'w') as w: w.write('\n'.join(line[1:-3].split(', '))) counter += 1 print_log_msg("Wrote %s class selection files\n" % counter, log, verbose) if __name__ == "__main__": # Command-line arguments parser = EMArgumentParser(usage=USAGE, version=EMANVERSION) parser.add_argument('classavgs', help='Input class averages') parser.add_argument('instack', help='Input image stack') parser.add_argument('outdir', type=str, help='Output directory') parser.add_argument( '--filtrad', type=float, help= 'For optional filtered images, low-pass filter radius (1/px or, if pixel size specified, Angstroms)' ) parser.add_argument( '--pxsz', type=float, default=None, help='Pixel size, Angstroms (might be downsampled by ISAC)') parser.add_argument('--shrink', type=int,
def main(): progname = os.path.basename(sys.argv[0]) usage = """%prog [options] <image1> <image2> <image3> <image4> .... WARNING: Experimental program. Contact [email protected] for more info. Currently only supports bootstrapping an initial probe doing all versus all alignment of the input images """ parser = EMArgumentParser(usage=usage,version=EMANVERSION) parser.add_argument("--align",type=str,help="The aligner and its parameters. e.g. --align=rt.3d.grid:ralt=180:dalt=10:dphi=10:rphi=180:search=5", default="rt.3d.grid") parser.add_argument("--aligncmp",type=str,help="The comparator used for determing the best initial alignment", default="dot.tomo:threshold=0") parser.add_argument("--cmp",type=str,help="The comparator used to obtain the final similarity", default="dot.tomo:threshold=0") parser.add_argument("--ralign",type=str,help="This is the second stage aligner used to refine the first alignment. This is usually the \'refine\' aligner.", default=None) parser.add_argument("--raligncmp",type=str,help="The comparator used for determing the refined alignment", default="dot.tomo:threshold=0") parser.add_argument("--bootstrap",action="store_true",default=True,help="Boot strap alignment") parser.add_argument("--output",type=str,default="e2tomoave.hdf",help="The output image which will store the results matrix") parser.add_argument("--parallel",type=str,default=None,help="Use parallelism") parser.add_argument("--path", default=None, type=str,help="The name of a directory where results are placed. If unspecified will generate one automatically of type tomo_ave_??.") parser.add_argument("--nsoln", default=1, type=int,help="If supplied and greater than 1, the nsoln-best alignments will be written to a text file. This is useful for debug but may be left unspecified") parser.add_argument("--dbls",type=str,help="data base list storage, used by the workflow. You can ignore this argument.",default=None) parser.add_argument("--shrink",type=int,help="Shrink the data as part of the alignment - for speed purposes but at the potential loss of accuracy",default=None) parser.add_argument("--filter",type=str,help="The name and parameters of an EMAN2 processor. Will be applied prior to shrinking.",default=None) parser.add_argument("--ppid", type=int, help="Set the PID of the parent process, used for cross platform PPID",default=-1) parser.add_argument("--verbose", "-v", dest="verbose", action="store", metavar="n", type=int, default=0, help="verbose level [0-9], higner number means higher level of verboseness") if EMUtil.cuda_available(): parser.add_argument("--cuda",action="store_true",help="GPU acceleration using CUDA. Experimental", default=False) (options, args) = parser.parse_args() print options.shrink error_messages = check_options(options,args) if len(error_messages) != 0: msg = "\n" for error in error_messages: msg += error +"\n" parser.error(msg) exit(1) logger=E2init(sys.argv,options.ppid) if options.bootstrap: module = EMBootStrappedAverages(args,options,logger) module.execute() else: print "boot strap only supported technique" E2end(logger)
def main(): progname = os.path.basename(sys.argv[0]) usage = """prog [options] <image> <image2>.... The even newer version of e2boxer. Complete rewrite. Incomplete. This program """ parser = EMArgumentParser(usage=usage, version=EMANVERSION) parser.add_pos_argument( name="micrographs", help="List the file to process with e2boxer here.", default="", guitype='filebox', browser="EMBoxesTable(withmodal=True,multiselect=True)", row=0, col=0, rowspan=1, colspan=3, mode="boxing,extraction") parser.add_argument("--boxsize", "-B", type=int, help="Box size in pixels", default=-1, guitype='intbox', row=2, col=0, rowspan=1, colspan=3, mode="boxing,extraction") parser.add_argument( "--ptclsize", "-P", type=int, help="Longest axis of particle in pixels (diameter, not radius)", default=-1, guitype='intbox', row=2, col=0, rowspan=1, colspan=3, mode="boxing,extraction") parser.add_argument("--apix", type=float, help="Angstroms per pixel for all images", default=0, guitype='floatbox', row=4, col=0, rowspan=1, colspan=1, mode="autofit['self.pm().getAPIX()']") parser.add_argument("--voltage", type=float, help="Microscope voltage in KV", default=300, guitype='floatbox', row=4, col=1, rowspan=1, colspan=1, mode="autofit['self.pm().getVoltage()']") parser.add_argument("--cs", type=float, help="Microscope Cs (spherical aberation)", default=4.0, guitype='floatbox', row=5, col=0, rowspan=1, colspan=1, mode="autofit['self.pm().getCS()']") parser.add_argument("--ac", type=float, help="Amplitude contrast (percentage, default=10)", default=10, guitype='floatbox', row=5, col=1, rowspan=1, colspan=1, mode='autofit') parser.add_argument("--write_dbbox", action="store_true", help="Write coordinate file (eman1 dbbox) files", default=False, guitype='boolbox', row=3, col=0, rowspan=1, colspan=1, mode="extraction") parser.add_argument("--write_ptcls", action="store_true", help="Write particles to disk", default=False, guitype='boolbox', row=3, col=1, rowspan=1, colspan=1, mode="extraction[True]") parser.add_argument("--invert", action="store_true", help="If writing outputt inverts pixel intensities", default=False, guitype='boolbox', row=3, col=2, rowspan=1, colspan=1, mode="extraction") parser.add_argument( "--ppid", type=int, help="Set the PID of the parent process, used for cross platform PPID", default=-1) parser.add_argument("--gui", action="store_true", default=True, help="Dummy option; used in older version of e2boxer") parser.add_argument( "--verbose", "-v", dest="verbose", action="store", metavar="n", type=int, default=0, help= "verbose level [0-9], higner number means higher level of verboseness") (options, args) = parser.parse_args()
def main(): progname = os.path.basename(sys.argv[0]) usage = """prog [options] <image> <image2>.... The even newer version of e2boxer. Complete rewrite. Incomplete. This program """ parser = EMArgumentParser(usage=usage,version=EMANVERSION) parser.add_pos_argument(name="micrographs",help="List the file to process with e2boxer here.", default="", guitype='filebox', browser="EMBoxesTable(withmodal=True,multiselect=True)", row=0, col=0,rowspan=1, colspan=3, mode="boxing,extraction") parser.add_argument("--boxsize","-B",type=int,help="Box size in pixels",default=-1, guitype='intbox', row=2, col=0, rowspan=1, colspan=3, mode="boxing,extraction") parser.add_argument("--ptclsize","-P",type=int,help="Longest axis of particle in pixels (diameter, not radius)",default=-1, guitype='intbox', row=2, col=0, rowspan=1, colspan=3, mode="boxing,extraction") parser.add_argument("--apix",type=float,help="Angstroms per pixel for all images",default=0, guitype='floatbox', row=4, col=0, rowspan=1, colspan=1, mode="autofit['self.pm().getAPIX()']") parser.add_argument("--voltage",type=float,help="Microscope voltage in KV",default=300, guitype='floatbox', row=4, col=1, rowspan=1, colspan=1, mode="autofit['self.pm().getVoltage()']") parser.add_argument("--cs",type=float,help="Microscope Cs (spherical aberation)",default=4.0, guitype='floatbox', row=5, col=0, rowspan=1, colspan=1, mode="autofit['self.pm().getCS()']") parser.add_argument("--ac",type=float,help="Amplitude contrast (percentage, default=10)",default=10, guitype='floatbox', row=5, col=1, rowspan=1, colspan=1, mode='autofit') parser.add_argument("--write_dbbox",action="store_true",help="Write coordinate file (eman1 dbbox) files",default=False, guitype='boolbox', row=3, col=0, rowspan=1, colspan=1, mode="extraction") parser.add_argument("--write_ptcls",action="store_true",help="Write particles to disk",default=False, guitype='boolbox', row=3, col=1, rowspan=1, colspan=1, mode="extraction[True]") parser.add_argument("--invert",action="store_true",help="If writing outputt inverts pixel intensities",default=False, guitype='boolbox', row=3, col=2, rowspan=1, colspan=1, mode="extraction") parser.add_argument("--ppid", type=int, help="Set the PID of the parent process, used for cross platform PPID",default=-1) parser.add_argument("--gui", action="store_true", default=True, help="Dummy option; used in older version of e2boxer") parser.add_argument("--verbose", "-v", dest="verbose", action="store", metavar="n", type=int, default=0, help="verbose level [0-9], higner number means higher level of verboseness") (options, args) = parser.parse_args()