def createOutputStep(self): volume = Volume() volume.setFileName(self._getFileName(OUTPUT_RESOLUTION_FILE)) if (self.halfVolumes): volume.setSamplingRate(self.inputVolume.get().getSamplingRate()) volume.setOrigin(self.inputVolume.get().getOrigin(True)) self._defineOutputs(resolution_Volume=volume) self._defineSourceRelation(self.inputVolume, volume) inputVolumeFileName = self.inputVolume.get().getFileName() else: volume.setSamplingRate(self.inputVolumes.get().getSamplingRate()) volume.setOrigin(self.inputVolumes.get().getOrigin(True)) self._defineOutputs(resolution_Volume=volume) self._defineSourceRelation(self.inputVolumes, volume) inputVolumeFileName = self.inputVolumes.get().getFileName() #Setting the min max for the summary imageFile = self._getFileName(OUTPUT_RESOLUTION_FILE_CHIMERA) min_, max_ = self.getMinMax(imageFile) self.min_res_init.set(round(min_ * 100) / 100) self.max_res_init.set(round(max_ * 100) / 100) self._store(self.min_res_init) self._store(self.max_res_init) if self.filterInput.get(): print 'Saving filtered map' volume.setFileName(self._getFileName(FN_FILTERED_MAP)) if (self.halfVolumes): volume.setSamplingRate( self.inputVolume.get().getSamplingRate()) self._defineOutputs(outputVolume_Filtered=volume) self._defineSourceRelation(self.inputVolume, volume) else: volume.setSamplingRate( self.inputVolumes.get().getSamplingRate()) self._defineOutputs(outputVolume_Filtered=volume) self._defineSourceRelation(self.inputVolumes, volume) # fill ccp4 header so we can transfer the origin to the # viewer (otherwise since imageFile is not a Scipion object # no sampling/origin information can be transfered Ccp4Header(imageFile).copyCCP4Header(inputVolumeFileName, volume.getShiftsFromOrigin(), volume.getSamplingRate(), originField=Ccp4Header.START) # also update the output volume header. This is not needed # since sampling and origin is in the database but # it may be usefull if other programs -outside scipion- # require these data. Ccp4Header(volume.getFileName()).copyCCP4Header( inputVolumeFileName, volume.getShiftsFromOrigin(), volume.getSamplingRate(), originField=Ccp4Header.START)
def createOutputStep(self): volume = Volume() volume.setFileName(self._getExtraPath('sharpenedMap_last.mrc')) volume.setSamplingRate(self.inputVolume.get().getSamplingRate()) volume.setOrigin(self.inputVolume.get().getOrigin(True)) volumesSet = self._createSetOfVolumes() volumesSet.setSamplingRate(self.inputVolume.get().getSamplingRate()) for i in range(self.iteration): vol = Volume() vol.setLocation( i, self._getExtraPath('sharpenedMap_%d.mrc' % (i + 1))) vol.setObjComment("Sharpened Map, \n Epoch %d" % (i + 1)) volumesSet.append(vol) self._defineOutputs(outputVolumes=volumesSet) self._defineSourceRelation(self.inputVolume, volumesSet)
def createOutputStep(self): inputVol = self.inputStructure.get() samplingRate = inputVol.getSamplingRate() volume = Volume() volume.setFileName(self._getExtraPath("pseudoatoms_approximation.vol")) volume.setSamplingRate(samplingRate) x, y, z = volume.getDim() xv, yv, zv = inputVol.getOrigin(force=True).getShifts() t = Transform() t.setShifts((x / 2. * samplingRate) - xv, (y / 2. * samplingRate) - yv, (z / 2. * samplingRate) - zv) volume.setOrigin(inputVol.getOrigin()) self._defineOutputs(outputVolume=volume) self._defineSourceRelation(self.inputStructure.get(), volume) pdb = AtomStruct(self._getPath('pseudoatoms.pdb'), pseudoatoms=True) pdb.setVolume(volume) pdb.setOrigin(t) self.createChimeraScript(inputVol, pdb) self._defineOutputs(outputPdb=pdb) self._defineSourceRelation(self.inputStructure, pdb)