def runObjectCommand(self, cmd, inputStrId, objStrId): try: objId = int(objStrId) project = self.project if os.path.isfile(inputStrId) and os.path.exists(inputStrId): from pyworkflow.em import loadSetFromDb inputObj = loadSetFromDb(inputStrId) else: inputId = int(inputStrId) inputObj = project.mapper.selectById(inputId) func = self._OBJECT_COMMANDS.get(cmd, None) if func is None: print "Error, command '%s' not found. " % cmd else: def myfunc(): func(inputObj, objId) inputObj.close() self.enqueue(myfunc) except Exception, ex: print "There was an error executing object command !!!:" print ex
def createSetObject(self): _dbName, self._dbPrefix = self.sqliteFile.get().split(',') self._dbName = self._getPath('subset.sqlite') os.rename(_dbName, self._dbName) if self._dbPrefix.endswith('_'): self._dbPrefix = self._dbPrefix[:-1] from pyworkflow.em import loadSetFromDb setObj = loadSetFromDb(self._dbName, self._dbPrefix) return setObj
def main(): parser = argparse.ArgumentParser(prog='Scipion Convert') parser.add_argument('--coordinates', help='Convert coordinates', action="store_true") parser.add_argument('--fromType', help='Convert from input type') parser.add_argument('--toType', help='Convert to output type') parser.add_argument('--input', help='Input file or folder') parser.add_argument('--output', help='Output file or folder') parser.add_argument('--extra', help='To add extra parameters') args = parser.parse_args() fromType = args.fromType toType = args.toType input = args.input output = args.output if args.coordinates: #print 'converting coordinates ...' micSet = loadSetFromDb(input) outputDir = output coordsfn = os.path.join(outputDir, 'coordinates.sqlite') cleanPath(coordsfn) coordSet = SetOfCoordinates(filename=coordsfn) coordSet.setMicrographs(micSet) if fromType == 'eman2': if toType == 'xmipp': #print 'from eman2 to xmipp...' from pyworkflow.em.packages.eman2.convert import readSetOfCoordinates readSetOfCoordinates(outputDir, micSet, coordSet) from pyworkflow.em.packages.xmipp3.convert import writeSetOfCoordinates writeSetOfCoordinates(outputDir, coordSet, ismanual=False) if fromType == 'dogpicker': if toType == 'xmipp': #print 'from dogpicker to xmipp...' from pyworkflow.em.packages.appion.convert import readSetOfCoordinates readSetOfCoordinates(outputDir, micSet, coordSet) from pyworkflow.em.packages.xmipp3.convert import writeSetOfCoordinates writeSetOfCoordinates(outputDir, coordSet, ismanual=False) if fromType == 'relion': if toType == 'xmipp': #print 'from relion to xmipp...' inputCoords = args.extra starFiles = [ os.path.join( inputCoords, pwutils.removeBaseExt(mic.getFileName()) + '_autopick.star') for mic in micSet ] from pyworkflow.em.packages.relion.convert import readSetOfCoordinates readSetOfCoordinates(coordSet, starFiles) from pyworkflow.em.packages.xmipp3.convert import writeSetOfCoordinates writeSetOfCoordinates(outputDir, coordSet, ismanual=False)
def main(): parser = argparse.ArgumentParser(prog='Scipion Convert') parser.add_argument('--coordinates', help='Convert coordinates', action="store_true") parser.add_argument('--fromType', help='Convert from input type') parser.add_argument('--toType', help='Convert to output type') parser.add_argument('--input', help='Input file or folder') parser.add_argument('--output', help='Output file or folder') parser.add_argument('--extra', help='To add extra parameters') args = parser.parse_args() fromType = args.fromType toType = args.toType input = args.input output = args.output if args.coordinates: micSet = loadSetFromDb(input) outputDir = output coordsfn = os.path.join(outputDir, 'coordinates.sqlite') cleanPath(coordsfn) coordSet = SetOfCoordinates(filename=coordsfn) coordSet.setMicrographs(micSet) if fromType == 'eman2': if toType == 'xmipp': from pyworkflow.em.packages.eman2.convert import readSetOfCoordinates elif fromType == 'dogpicker': if toType == 'xmipp': from pyworkflow.em.packages.appion.convert import readSetOfCoordinates elif fromType == 'relion': if toType == 'xmipp': def readSetOfCoordinates(outputDir, micSet, coordSet): from pyworkflow.em.packages.relion.convert import readSetOfCoordinates inputCoords = args.extra starFiles = [os.path.join(inputCoords, pwutils.removeBaseExt(mic.getFileName()) + '_autopick.star') for mic in micSet] readSetOfCoordinates(coordSet, starFiles) elif fromType == 'gautomatch': if toType == 'xmipp': from pyworkflow.em.packages.gautomatch.convert import readSetOfCoordinates elif fromType == 'gempicker': if toType == 'xmipp': from pyworkflow.em.packages.igbmc.convert import readSetOfCoordinates else: raise Exception('Unknown coordinates type: %s' % fromType) readSetOfCoordinates(outputDir, micSet, coordSet) from pyworkflow.em.packages.xmipp3.convert import writeSetOfCoordinatesWithState writeSetOfCoordinatesWithState(outputDir, coordSet, state='Automatic')
def main(): parser = argparse.ArgumentParser(prog='Scipion Convert') parser.add_argument('--coordinates', help='Convert coordinates', action="store_true") parser.add_argument('--fromType', help='Convert from input type') parser.add_argument('--toType', help='Convert to output type') parser.add_argument('--input', help='Input file or folder') parser.add_argument('--output', help='Output file or folder') parser.add_argument('--extra', help='To add extra parameters') args = parser.parse_args() fromType = args.fromType toType = args.toType input = args.input output = args.output if args.coordinates: #print 'converting coordinates ...' micSet = loadSetFromDb(input) outputDir = output coordsfn = os.path.join(outputDir, 'coordinates.sqlite') cleanPath(coordsfn) coordSet = SetOfCoordinates(filename=coordsfn) coordSet.setMicrographs(micSet) if fromType == 'eman2': if toType == 'xmipp': #print 'from eman2 to xmipp...' from pyworkflow.em.packages.eman2.convert import readSetOfCoordinates readSetOfCoordinates(outputDir, micSet, coordSet) from pyworkflow.em.packages.xmipp3.convert import writeSetOfCoordinates writeSetOfCoordinates(outputDir, coordSet, ismanual=False) if fromType == 'dogpicker': if toType == 'xmipp': #print 'from dogpicker to xmipp...' from pyworkflow.em.packages.appion.convert import readSetOfCoordinates readSetOfCoordinates(outputDir, micSet, coordSet) from pyworkflow.em.packages.xmipp3.convert import writeSetOfCoordinates writeSetOfCoordinates(outputDir, coordSet, ismanual=False) if fromType == 'relion': if toType == 'xmipp': #print 'from relion to xmipp...' inputCoords = args.extra starFiles = [os.path.join(inputCoords, pwutils.removeBaseExt(mic.getFileName()) + '_autopick.star') for mic in micSet] from pyworkflow.em.packages.relion.convert import readSetOfCoordinates readSetOfCoordinates(coordSet, starFiles) from pyworkflow.em.packages.xmipp3.convert import writeSetOfCoordinates writeSetOfCoordinates(outputDir, coordSet, ismanual=False)
def createSetObject(self): _dbName, self._dbPrefix = self.sqliteFile.get().split(',') self._dbName = self._getPath('subset.sqlite') os.rename(_dbName, self._dbName) if self._dbPrefix.endswith('_'): self._dbPrefix = self._dbPrefix[:-1] from pyworkflow.em import loadSetFromDb # Ignoring self._dbPrefix here, since we want to load # the top-level set in the sqlite file setObj = loadSetFromDb(self._dbName) return setObj