Example #1
0
    def parseSupcombOutputFile(self):

        logFile = self.readProcessLogFile()
        logLines = logFile.splitlines()
        xsRot = self.returnRotation(logLines[-3:])
        xsTrns = self.returnTranslation(logLines[-6:-3])
        xsNSD = XSDataDouble(float(logLines[-8].split()[-1]))
        pdb = os.path.join(self.getWorkingDirectory(), self.__strOutputFileName)
                           
        try:
            res = parse_atsas.parsePDB(pdb, pdb)
        except Exception as error:
            self.ERROR("in parsePDB: %s" % error)
        model = XSDataSaxsModel(name=XSDataString(self.name),
                                logFile=XSDataFile(XSDataString(os.path.join(self.getWorkingDirectory(), self.getScriptLogFileName()))))
                                
        if "Rfactor" in res:
            model.rfactor = XSDataDouble(res["Rfactor"])
        if "volume" in res:
            model.volume = XSDataDouble(res["volume"])
        if "Rg" in res:
            model.rg = XSDataDouble(res["Rg"])
        if "Dmax" in res :
            model.dmax = XSDataDouble(res["Dmax"])

        xsDataResult = XSDataResultSupcomb(NSD=xsNSD,
                                           rot=xsRot,
                                           trns=xsTrns,
                                           model=model)
        xsDataResult.outputFilename = model.pdbFile = XSDataFile(XSDataString(pdb))
        xsDataResult.status = XSDataStatus(message=self.getXSDataMessage(),
                                          executiveSummary=XSDataString(os.linesep.join(self.getListExecutiveSummaryLines())))
        return xsDataResult
Example #2
0
    def parseSupcombOutputFile(self):

        logFile = self.readProcessLogFile()
        logLines = logFile.splitlines()
        line = -1
        for l, ln in enumerate( logLines):
            if "Transformation matrix" in ln:
                line = l
        if line>=0:
            xsRot = self.returnRotation(logLines[line+1:line+4], 1)
            xsTrns = self.returnTranslation(logLines[line+1:line+4])
            xsNSD = None
        else:
            xsRot = self.returnRotation(logLines[-3:])
            xsTrns = self.returnTranslation(logLines[-6:-3])
            xsNSD = XSDataDouble(float(logLines[-8].split()[-1]))
        pdb = os.path.join(self.getWorkingDirectory(), self.__strOutputFileName)
                           
        try:
            res = parse_atsas.parsePDB(pdb, pdb)
        except Exception as error:
            self.ERROR("in parsePDB: %s" % error)
        if "NSD" in res:
            xsNSD = XSDataDouble(res["NSD"])
        model = XSDataSaxsModel(name=XSDataString(self.name),
                                logFile=XSDataFile(XSDataString(os.path.join(self.getWorkingDirectory(), self.getScriptLogFileName()))))
                                
        if "Rfactor" in res:
            model.rfactor = XSDataDouble(res["Rfactor"])
        if "volume" in res:
            model.volume = XSDataDouble(res["volume"])
        if "Rg" in res:
            model.rg = XSDataDouble(res["Rg"])
        if "Dmax" in res :
            model.dmax = XSDataDouble(res["Dmax"])

        xsDataResult = XSDataResultSupcomb(NSD=xsNSD,
                                           rot=xsRot,
                                           trns=xsTrns,
                                           model=model)
        xsDataResult.outputFilename = model.pdbFile = XSDataFile(XSDataString(pdb))
        xsDataResult.status = XSDataStatus(message=self.getXSDataMessage(),
                                          executiveSummary=XSDataString(os.linesep.join(self.getListExecutiveSummaryLines())))
        return xsDataResult
Example #3
0
    def parseSupcombOutputFile(self):

        logFile = self.readProcessLogFile()
        logLines = logFile.splitlines()

        xsRot = self.returnRotation(logLines[-3:])
        xsTrns = self.returnTranslation(logLines[-6:-3])
        xsNSD = XSDataDouble(float(logLines[-8].split()[-1]))

        xsDataResult = XSDataResultSupcomb()
        xsDataResult.setNSD(xsNSD)
        xsDataResult.setRot(xsRot)
        xsDataResult.setTrns(xsTrns)

        EDPDBFilter.filterPDBFile(os.path.join(self.getWorkingDirectory(), self.__strOutputFileNameRaw), \
                                 os.path.join(self.getWorkingDirectory(), self.__strOutputFileName))

        pathOutputFile = XSDataString(os.path.join(self.getWorkingDirectory(), self.__strOutputFileName))
        xsDataResult.setOutputFilename(XSDataFile(pathOutputFile))

        return xsDataResult
Example #4
0
    def parseSupcombOutputFile(self):

        logFile = self.readProcessLogFile()
        logLines = logFile.splitlines()

        xsRot = self.returnRotation(logLines[-3:])
        xsTrns = self.returnTranslation(logLines[-6:-3])
        xsNSD = XSDataDouble(float(logLines[-8].split()[-1]))

        xsDataResult = XSDataResultSupcomb()
        xsDataResult.setNSD(xsNSD)
        xsDataResult.setRot(xsRot)
        xsDataResult.setTrns(xsTrns)

        EDPDBFilter.filterPDBFile(os.path.join(self.getWorkingDirectory(), self.__strOutputFileNameRaw), \
                                 os.path.join(self.getWorkingDirectory(), self.__strOutputFileName))

        pathOutputFile = XSDataString(os.path.join(self.getWorkingDirectory(), self.__strOutputFileName))
        xsDataResult.setOutputFilename(XSDataFile(pathOutputFile))

        return xsDataResult