scipion-em / scipion-em-relion

Plugin to use Relion SPA programs within the Scipion framework
GNU General Public License v3.0
3 stars 0 forks source link

Relion3d classification dies not play well in long scheduling projects #384

Closed pconesa closed 1 year ago

pconesa commented 1 year ago

Let's say we have

Protocol 1 Feeding R3D classification Protocol 3

Secuencial.

If you schedule all, and R3D scheduling happens before Protocol 1 has an output ... Then Protocol 3 fails.

This typically happens when there are direct pointers.

Haven't looked at the code, buy my bet is that the set of particles pointed by the setofclasses is direct. Changing it to indirect probably will fix it

azazellochg commented 1 year ago
 def createOutputStep(self):
        partSet = self.inputParticles
        classes3D = self._createSetOfClasses3D(partSet)

vs

 def createOutputStep(self):
        partSet = self.inputParticles.get()
        classes3D = self._createSetOfClasses3D(partSet)

@pconesa this is what you mean?

pconesa commented 1 year ago

Yes! I think should work, ant this way pointer will be "indirect": points to the protocol and then with extended will reach the output of that protocol.