Example #1
0
    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
Example #2
0
    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
Example #4
0
    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
Example #5
0
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)
Example #6
0
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')
Example #7
0
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
Example #9
0
    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