def test(self):
        subset = self.newProtocol(ProtSubSet,
                                  inputFullSet=self.protImportParts.outputParticles,
                                  chooseAtRandom=True,
                                  nElements=400)
        self.launchProtocol(subset)

        highres = self.newProtocol(XmippProtReconstructHighRes,
                                   inputParticles=subset.outputParticles,
                                   inputVolumes=self.protImportVol.outputVolume,
                                   particleRadius=180,
                                   symmetryGroup="i1",
                                   nextResolutionCriterion=0.143,
                                   alignmentMethod=XmippProtReconstructHighRes.AUTOMATIC_ALIGNMENT,
                                   maximumTargetResolution="15 10 7",
                                   numberOfMpi=8)
        self.launchProtocol(highres)
        self.assertIsNotNone(highres.outputParticles,
                             "There was a problem with Highres")

        fnResolution = highres._getExtraPath("Iter005/iterInfo.xmd")
        if not exists(fnResolution):
            self.assertTrue(False, fnResolution + " does not exist")
        else:
            md = emlib.MetaData("resolution@" + fnResolution)
            R = md.getValue(emlib.MDL_RESOLUTION_FREQREAL, md.firstObject())
            self.assertTrue(R < 10, "Resolution is not below 10A")
 def testfs2(self):
     fso = self.newProtocol(XmippProtFSO,
                            halfVolumesFile=False,
                            half1=self.protImportHalf1.outputVolume,
                            half2=self.protImportHalf2.outputVolume,
                            estimate3DFSC=True)
     self.launchProtocol(fso)
     self.assertTrue(exists(fso._getExtraPath("fso.xmd")),
                     "fso without mask has failed")
示例#3
0
 def testAddNoise3(self):
     addnoise = self.newProtocol(
         XmippProtAddNoiseParticles,
         input=self.protImportParts.outputParticles,
         noiseType=XmippProtAddNoiseParticles.UNIFORM_NOISE,
         uniformMax=1,
         uniformMin=0)
     self.launchProtocol(addnoise)
     self.assertTrue(exists(addnoise._getExtraPath('Noisy.stk')),
                     "AddNoise with uniform noise has failed")
    def testMonoDir(self):
        MonoDir = self.newProtocol(XmippProtMonoDir,
                                   objLabel='single volume monodir',
                                   inputVolumes=self.protImportVol.outputVolume,
                                   Mask=self.protCreateMask.outputMask,
				   resstep=0.5,
				   significance=0.95,
				   fast=True,
  				   isPremasked=False
                                   )
        self.launchProtocol(MonoDir)
        self.assertTrue(exists(MonoDir._getExtraPath('meanResdoa.vol')),
                        "MonoDir has failed")
示例#5
0
 def testMonoRes1(self):
     MonoRes = self.newProtocol(XmippProtMonoRes,
                                objLabel='single volume monores',
                                useHalfVolumes=False,
                                hasHalfVolumesFile=False,
                                fullMap=self.protImportVol.outputVolume,
                                mask=self.protCreateMask.outputMask,
                                minRes=1,
                                maxRes=25,
                                )
     self.launchProtocol(MonoRes)
     self.assertTrue(exists(MonoRes._getExtraPath('monoresResolutionMap.mrc')),
                     "MonoRes (no split, no premasked) has failed")
示例#6
0
 def testAddNoise1(self):
     addnoise = self.newProtocol(
         XmippProtAddNoiseVolumes,
         input=self.protImportVol.outputVolume,
         noiseType=XmippProtAddNoiseVolumes.GAUSSIAN_NOISE,
         gaussianStd=0.08,
         gaussianMean=0)
     self.launchProtocol(addnoise)
     self.assertTrue(
         exists(
             addnoise._getNoisyOutputPath(
                 self.protImportVol.outputVolume.getFileName())),
         "AddNoise with gaussian noise has failed")
示例#7
0
    def testDeepVolPostpro1(self):
        deepPostProc = self.newProtocol(
            XmippProtDeepVolPostProc,
            inputVolume=self.protImportVol.outputVolume,
            normalization=XmippProtDeepVolPostProc.NORMALIZATION_AUTO)
        self.launchProtocol(deepPostProc)
        self.assertTrue(
            exists(deepPostProc._getExtraPath(POSTPROCESS_VOL_BASENAME)),
            "Deep Volume Postprocessing has failed")

        self._checkMeanVal(
            deepPostProc._getExtraPath(POSTPROCESS_VOL_BASENAME),
            0.1224,
            r_delta=0.5)
示例#8
0
 def testAddNoise2(self):
     addnoise = self.newProtocol(
         XmippProtAddNoiseVolumes,
         input=self.protImportVols.outputVolumes,
         noiseType=XmippProtAddNoiseVolumes.STUDENT_NOISE,
         studentDf=1,
         studentStd=0.08,
         studentMean=0)
     self.launchProtocol(addnoise)
     fnVols = self.protImportVols.outputVolumes.getFiles()
     for fnvol in fnVols:
         fn = addnoise._getNoisyOutputPath(fnvol)
         self.assertTrue(exists(fn),
                         "AddNoise with student noise has failed %s" % (fn))
示例#9
0
    def testLocalDeblur2(self):
        MonoRes = self.newProtocol(XmippProtMonoRes,
                                   objLabel='single volume monores',
                                   usehalfVolumes=False,
                                   fullMap=self.protImportVol2.outputVolume,
                                   Mask=self.protCreateMask2.outputMask,
                                   minRes=1,
                                   maxRes=6)
        self.launchProtocol(MonoRes)
        self.assertTrue(
            exists(MonoRes._getExtraPath('monoresResolutionMap.mrc')),
            "MonoRes (no split, no premasked) has failed")

        LocalDeblur = self.newProtocol(
            XmippProtLocSharp,
            objLabel='sharpening localdeblur',
            inputVolume=self.protImportVol2.outputVolume,
            resolutionVolume=MonoRes.resolution_Volume,
            const=1,
        )
        self.launchProtocol(LocalDeblur)
        self.assertTrue(
            exists(LocalDeblur._getExtraPath('sharpenedMap_last.mrc')),
            "LocalDeblur  has failed")
示例#10
0
 def testDeepVolPostpro3(self):
     deepPostProc = self.newProtocol(
         XmippProtDeepVolPostProc,
         useHalfMapsInsteadVol=True,
         halfMapsAttached=True,
         inputVolume=self.protImportVolWithHalfs.outputVolume,
         normalization=XmippProtDeepVolPostProc.NORMALIZATION_AUTO)
     self.launchProtocol(deepPostProc)
     self.assertTrue(
         exists(deepPostProc._getExtraPath(POSTPROCESS_VOL_BASENAME)),
         "Deep Volume Postprocessing has failed")
     self._checkMeanVal(
         deepPostProc._getExtraPath(POSTPROCESS_VOL_BASENAME),
         0.1102,
         r_delta=0.5)
示例#11
0
 def testMonoRes2(self):
     MonoRes = self.newProtocol(XmippProtMonoRes,
                                objLabel='two halves monores',
                                useHalfVolumes=True,
                                hasHalfVolumesFile=False,
                                halfMap1=self.protImportHalf1.outputVolume,
                                halfMap2=self.protImportHalf2.outputVolume,
                                provideMaskInHalves=True,
                                mask=self.protCreateMask.outputMask,
                                minRes=1,
                                maxRes=25,
                                )
     self.launchProtocol(MonoRes)
     self.assertTrue(exists(MonoRes._getExtraPath('monoresResolutionMap.mrc')),
                     "MonoRes (split, pre-masked, no filter) has failed")
    def test(self):
        goldenHighres = self.newProtocol(
            XmippMetaProtGoldenHighRes,
            inputParticles=self.protImportParts.outputParticles,
            inputVolumes=self.protImportVol.outputVolume,
            particleRadius=180,
            symmetryGroup="i1",
            discardParticles=True,
            numberOfMpi=8)
        self.launchProtocol(goldenHighres)
        self.assertIsNotNone(goldenHighres.outputParticlesLocal1,
                             "There was a problem with Golden Highres")

        fnResolution = goldenHighres._getExtraPath('fnFSCs.txt')
        if not exists(fnResolution):
            self.assertTrue(False, fnResolution + " does not exist")
        else:
            count = len(open(fnResolution).readlines())
            count = count - 10
            result = 'outputParticlesLocal%d' % (count)
            o = getattr(goldenHighres, result, None)
            locals()[result] = o
            self.assertIsNotNone(o, "Output: %s is None" % result)