PennLINC / xcpEngine

Official public repository for the XCP Engine. This tool is deprecated in favor of XCP-D and ASLPrep.
MIT License
66 stars 42 forks source link

qcfc not finishing #122

Open jaredpz opened 6 years ago

jaredpz commented 6 years ago

I'm having a problem getting qcfc module to finish. It makes the Power plots fine, but there are a bunch of temp files (almost 1.5gb per run ~40% of total space) left over despite cleanup being set to 1. Also, the group level qcfc folder is completely empty, so I believe something hasn't finished properly, but I'm not sure what. I don't see any obvious errors in the log; example attached. fc_akelkar_201807271724_TNI.SC.1.002_T001LOG.txt

mattcieslak commented 6 years ago

Hi Jared, In your design file do you have qcfc_cleanup[N] defined anywhere? It looks like it's crashing because this variable is undefined (https://github.com/PennBBL/xcpEngine/blob/master/core/functions/cleanup#L2).

jaredpz commented 6 years ago

Yep, see attached example subject design file. qcfc_cleanup[12]=1

TNI.SC.1.002_T001_dsn.txt

mattcieslak commented 6 years ago

That rules that out. It looks like there's a missing file:

'/data/jag/jmedaglia/software/xcp/xcpEngine/atlas/global/globalNodeIndex.1D'

Any ideas, @rciric? It looks like that directory isn't included in xcp anymore. Could you try changing your design to roiquant_globals[9]=0 and re-running?

rciric commented 6 years ago

Hello,

It appears that you've removed the seed and norm modules from the pipeline; as a consequence, all of the variables from the final module (qcfc) have been frameshifted and are never read in. Specifically, qcfc is now the 10th module, but its variables retain the index 12, so the pipeline tries to use them in the (now nonexistent) 12th module instead of the 10th. That's also why you're getting rerun errors. When you remove modules from a pipeline, it is good practice to replace them with dummy modules rather than deleting them outright to prevent this.

For instance, your qcfc module should work if you redefine pipeline as follows:

pipeline=prestats,coreg,confound,regress,fcon,reho,alff,net,roiquant,dummy,dummy,qcfc

It looks like you may have uncovered another bug, though -- globals doesn't appear to be working as intended in roiquant. I'll take a look into that later.

jaredpz commented 6 years ago

Ahh that makes sense Rastko. Thanks for the quick reply, I will add dummy modules in and rerun