Open hermeckerogg opened 7 years ago
you need the ConfigParser module:
pip install ConfigParser
On Tue, Jan 24, 2017 at 11:38 AM, TDeramus notifications@github.com wrote:
Hi.
I recently installed QAP on my local machine and on our cluster to process ABIDE-II data.
However, when I attempt to run the pipelines, I get similar errors on both environments (see attached photos below).
I'm not sure what is is that is going wrong here and I was hoping to get a little input.
There's a module load error with the cluster I think, but I can confirm that the local machine (bottom two photos) is running nipype verson 0.12.1 so I don't think that is the issue.
Happy to send the yml files if needed, but the configs are the generic abide ones.
[image: clustertemporalerror] https://cloud.githubusercontent.com/assets/23127333/22256325/0338960c-e220-11e6-9a85-daff50cf671f.png [image: clusterspatialerror] https://cloud.githubusercontent.com/assets/23127333/22256326/033cb8cc-e220-11e6-8087-6dbab5010b0e.png [image: qaplocalanatomical] https://cloud.githubusercontent.com/assets/23127333/22256327/033f8be2-e220-11e6-82d2-5f97d95b7bf3.png [image: qaplocaltemporal] https://cloud.githubusercontent.com/assets/23127333/22256328/0341487e-e220-11e6-88ad-01d1144f4841.png
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/preprocessed-connectomes-project/quality-assessment-protocol/issues/87, or mute the thread https://github.com/notifications/unsubscribe-auth/AIPa_1--vpAC43mQPqp1HEYoqI9_iG3Xks5rVikTgaJpZM4Lsfek .
Alternatively (for the configparser issue) you can use an earlier version of Python's future library by running pip install future==0.15.2 (see here).
For the other issue, are there any crash files ending in '.pklz' being produced in the output directory? If so, could you please send them to john.pellman@childmind.org so that I can take a look at them?
Is that specific future library supposed to be part of QAP's dependencies? (checking the BIDS-App Docker, 0.16.0 is being installed as a dependency for another package)
-Alex
On Tue, Jan 24, 2017 at 12:32 PM, John Pellman notifications@github.com wrote:
Alternatively (for the configparser issue) you can use an earlier version of Python's future library by running pip install future==0.15.2 (see here https://github.com/nipy/nipype/issues/1699).
For the other issue, are there any crash files ending in '.pklz' being produced in the output directory? If so, could you please send them to john.pellman@childmind.org so that I can take a look at them?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/preprocessed-connectomes-project/quality-assessment-protocol/issues/87#issuecomment-274876225, or mute the thread https://github.com/notifications/unsubscribe-auth/AIPa_wxLgSgBQhzlrQ8J4QZ6HtQPOcUeks5rVjWWgaJpZM4Lsfek .
It's a dependency of nipype. QAP itself does not use future.
Thank you for your input.
Upon working on it some more, it looks like we're having library issues on the cluster (I still get error messages when working on the cluster after getting the dependency), I'm working with our resident software engineer to figure out what may be missing library wise and a few ways to fix it before I post again.
However, I have been having some issues with qap_functional_temporal.py and qap_anatomical_spatial.py and the report function.
Whenever I set write report to True, I get the following error:
I think that may also be a missing library issue but I'm not sure. qap_functional_spatial.py will run to completion as long as this is not flagged however.
qap_anatomical_spatial.py will not run to completion but that seems to be a memory issues (which should be fixed once I have it working on the cluster).
qap_functional_temporal.py on the other hand, will throw the following error whenever I run it with reports set to false:
I am not sure what is causing that.
I'm sending the pklz files from the steps to the email you specified, but I am unsure that the core-dump ones contain any useful information.
Let me know if you have any ideas, they would be appreciated.
Hi @hermeckerogg ,
What happens if you open a Python terminal and type the following code?
import numpy
numpy.test()
I get the following error when I run import numpy: The program 'import' can be found in the following packages:
I will try installing both of those and testing it again. See what happens.
Strange though because I could have sworn I had those.
Hi @hermeckerogg ,
Those packages shouldn't be necessary for testing Numpy. You need to open a Python terminal by typing python
or ipython
in your Unix terminal first before running import numpy
. Sorry for the confusion.
Doing that throws the following error:
import numpy numpy.test() Running unit tests for numpy NumPy version 1.11.1 NumPy relaxed strides checking option: False NumPy is installed in /home/Thomas/anaconda2/lib/python2.7/site-packages/numpy Python version 2.7.12 |Anaconda 4.1.1 (64-bit)| (default, Jul 2 2016, 17:42:40) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] nose version 1.3.7 .............................................................................................................................................................................................................................................OMP: Error #100: Fatal system error detected. OMP: System error #22: Invalid argument Aborted (core dumped)
Right. So, took a day to rebuild my python libraries and Conda setup and check dependencies. Those seem to be a little less bad now than they were.
However, I am not getting the following error on every command I try to run:
Thomas@DESKTOP-PNO0KIE:/mnt/f/ABIDEII/ABIDEII-SDSU_1$ qap_functional_temporal.py --sublist local_funct_list.yml qap_config_test_temporal_ms.yml
170131-21:18:29,853 workflow INFO:
There are 58 subjects in the pool
170131-21:18:29,926 workflow INFO:
Pipeline start time: 2017-01-31_21:18:29
170131-21:18:29,928 workflow INFO:
Contents of resource pool:
{'functional_scan': '/mnt/f/ABIDEII/ABIDEII-SDSU_1/28861/session_1/rest_1/rest.nii.gz'}
170131-21:18:29,931 workflow INFO:
Configuration settings:
{'stop_idx': 'None', 'pipeline_config_yaml': 'qap_config_test_temporal_ms.yml', 'start_idx': 0, 'write_all_outputs': False, 'num_subjects_at_once': 1, 'output_directory': '/mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Temporal_output_funct', 'write_report': False, 'working_directory': '/mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Temporal_working_funct', 'num_cores_per_subject': 1, 'qap_type': 'functional_temporal', 'slice_timing_correction': False}
Traceback (most recent call last):
File "/home/Thomas/anaconda2/bin/qap_functional_temporal.py", line 16, in
Any idea what might be causing that?
The newest version of nipype is incompatible with QAP (see here). That's the most likely cause of this error.
To downgrade use the following command:
pip install nipype==0.12.1
Alright. Think I found what the issue might have been.
So the version of Nipype I had installed was 0.12.1, but I did it through Conda, which I've noticed does a good bit of dependency upgrade/downgrade shuffling here and there to make sure everything works.
After removing it through Conda, removing any leftover bits through ruthless rm -rf thuggery and reinstalling via pip (as you describe above) it seems to be working.
Need to try it with functional spatial, anatomical spatial, and with report writing options (since I also installed pygraphviz via conda) to see if they work, but maybe don't use the conda nipype packages.
The code runs just fine, but unfortunately the summary report is producing an error.
This is with write_all_outputs: False and write_report: True
170202-02:45:10,911 workflow INFO:
Writing PDF reports
/home/Thomas/anaconda2/lib/python2.7/site-packages/qap/viz/reports.py:35: FutureWarning: sort(columns=....) is deprecated, use sort_values(by=.....)
columns=['subject', 'session', 'scan'])
Traceback (most recent call last):
File "/home/Thomas/anaconda2/bin/qap_functional_temporal.py", line 16, in
Hi @hermeckerogg ,
This is an issue currently present in the pip-installed version of QAP. Please see here for a discussion about how to fix it. If the solution discussed there doesn't work, let us know so that we can troubleshoot further.
Best, John
So I've actually tried that one a couple of times.
Upon doing so after the dependencies were fixed, it returned the following:
170203-03:31:25,482 workflow INFO:
Saving crash info to /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Temporal_output_funct/crash-20170203-033125-Thomas-qap_functional_spatial-86bd316c-62fc-48bd-b409-9ecee902122b.pklz
170203-03:31:25,483 workflow INFO:
Traceback (most recent call last):
File "/home/Thomas/anaconda2/lib/python2.7/site-packages/nipype/pipeline/plugins/linear.py", line 39, in run
node.run(updatehash=updatehash)
File "/home/Thomas/anaconda2/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 394, in run
self._run_interface()
File "/home/Thomas/anaconda2/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 504, in _run_interface
self._result = self._run_command(execute)
File "/home/Thomas/anaconda2/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 630, in _run_command
result = self._interface.run()
File "/home/Thomas/anaconda2/lib/python2.7/site-packages/nipype/interfaces/base.py", line 1043, in run
runtime = self._run_wrapper(runtime)
File "/home/Thomas/anaconda2/lib/python2.7/site-packages/nipype/interfaces/base.py", line 1000, in _run_wrapper
runtime = self._run_interface(runtime)
File "/home/Thomas/anaconda2/lib/python2.7/site-packages/nipype/interfaces/utility.py", line 499, in _run_interface
out = function_handle(*args)
File "
170203-03:31:25,531 workflow INFO:
170203-03:31:25,533 workflow ERROR: could not run node: rest_1.qap_functional_spatial 170203-03:31:25,533 workflow INFO: crashfile: /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Temporal_output_funct/crash-20170203-033125-Thomas-qap_functional_spatial-86bd316c-62fc-48bd-b409-9ecee902122b.pklz 170203-03:31:25,534 workflow INFO:
170203-03:31:25,535 workflow ERROR: An error occurred processing subject 28878. Runtime dict: {'status': 'failed', 'session': 'session_1', 'scan': 'rest_1', 'msg': 'Workflow did not execute cleanly. Check log for details', 'traceback': ['Traceback (most recent call last):\n', ' File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap-1.0.5-py2.7.egg/qap/cli.py", line 424, in _run_workflow\n workflow.run(**runargs)\n', ' File "/home/Thomas/anaconda2/lib/python2.7/site-packages/nipype/pipeline/engine/workflows.py", line 597, in run\n runner.run(execgraph, updatehash=updatehash, config=self.config)\n', ' File "/home/Thomas/anaconda2/lib/python2.7/site-packages/nipype/pipeline/plugins/linear.py", line 57, in run\n report_nodes_not_run(notrun)\n', ' File "/home/Thomas/anaconda2/lib/python2.7/site-packages/nipype/pipeline/plugins/base.py", line 95, in report_nodes_not_run\n raise RuntimeError((\'Workflow did not execute cleanly. \'\n', 'RuntimeError: Workflow did not execute cleanly. Check log for details\n'], 'id': '28878'} Traceback (most recent call last):
File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap-1.0.5-py2.7.egg/qap/cli.py", line 424, in _run_workflow workflow.run(**runargs)
File "/home/Thomas/anaconda2/lib/python2.7/site-packages/nipype/pipeline/engine/workflows.py", line 597, in run runner.run(execgraph, updatehash=updatehash, config=self.config)
File "/home/Thomas/anaconda2/lib/python2.7/site-packages/nipype/pipeline/plugins/linear.py", line 57, in run report_nodes_not_run(notrun)
File "/home/Thomas/anaconda2/lib/python2.7/site-packages/nipype/pipeline/plugins/base.py", line 95, in report_nodes_not_run raise RuntimeError(('Workflow did not execute cleanly. '
RuntimeError: Workflow did not execute cleanly. Check log for details
170203-03:31:25,673 workflow INFO:
Elapsed time (minutes) since last start: 5.84060913324
170203-03:31:25,859 workflow INFO:
Pipeline end time: 2017-02-03_03:31:25
170203-03:31:25,860 workflow INFO:
Writing PDF reports
Traceback (most recent call last):
File "/home/Thomas/anaconda2/bin/qap_functional_spatial.py", line 4, in
File "build/bdist.linux-x86_64/egg/pkg_resources/init.py", line 1499, in run_script
File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap-1.0.5-py2.7.egg/EGG-INFO/scripts/qap_functional_spatial.py", line 10, in
This is with:
write_all_outputs: False
write_report: True
This time it won't write the CSV file with the values in them. But it did produce error files which I'm zipping and sending now.
Hi @hermeckerogg ,
The crash files you sent me implicate a step that occurs before report generation. In particular, the functionality for determining the GSR is failing. Could you run the following command and send me the output to take look at?
3dinfo /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Temporal_working_funct/28878/session_1/rest_1/func_get_brain_mask/rest_calc_resample_volreg_mask.nii.gz
Appreciate the quick response.
Unfortunately that last run did not produce any output files in the results folder.
The last working run I had gave me this: ++ 3dinfo: AFNI version=Debian-16.2.07~dfsg.1-3~nd14.04+1 (Aug 31 2016) [64-bit]
Dataset File: rest_calc_resample_volreg_mask.nii.gz Identifier Code: XYZ_z_J9YCJHFkNHbD--32kg2w Creation Date: Sun Jan 29 17:46:56 2017 Template Space: ORIG Dataset Type: Anat Bucket (-abuc) Byte Order: LSB_FIRST {assumed} [this CPU native = LSB_FIRST] Storage Mode: NIFTI Storage Space: 172,032 (172 thousand [kilo]) bytes Geometry String: "MATRIX(3.4375,0,0,-110.625,0,-3.4375,0,94.8045,0,0,3.4,-46.8487):64,64,42" Data Axes Tilt: Plumb Data Axes Orientation: first (x) = Right-to-Left second (y) = Posterior-to-Anterior third (z) = Inferior-to-Superior [-orient RPI] R-to-L extent: -110.625 [R] -to- 105.938 [L] -step- 3.438 mm [ 64 voxels] A-to-P extent: -121.758 [A] -to- 94.804 [P] -step- 3.438 mm [ 64 voxels] I-to-S extent: -46.849 [I] -to- 92.551 [S] -step- 3.400 mm [ 42 voxels] Number of values stored at each pixel = 1 -- At sub-brick #0 '?' datum type is byte: 0 to 1
----- HISTORY ----- [Thomas@DESKTOP-PNO0KIE: Sun Jan 29 17:41:11 2017] 3dcalc -a '/mnt/f/ABIDEII/ABIDEII-SDSU_1/28878/session_1/rest_1/rest.nii.gz[0..179]' -expr a -prefix rest_calc.nii.gz [Thomas@DESKTOP-PNO0KIE: Sun Jan 29 17:41:14 2017] 3drefit -deoblique /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Spatial_working_funct/28878/session_1/rest_1/func_deoblique/rest_calc.nii.gz [Thomas@DESKTOP-PNO0KIE: Sun Jan 29 17:41:18 2017] 3dresample -orient RPI -prefix rest_calc_resample.nii.gz -inset /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Spatial_working_funct/28878/session_1/rest_1/func_reorient/rest_calc.nii.gz [Thomas@DESKTOP-PNO0KIE: Sun Jan 29 17:44:10 2017] 3dvolreg -Fourier -twopass -1Dfile rest_calc_resample.1D -1Dmatrix_save rest_calc_resample.aff12.1D -prefix rest_calc_resample_volreg.nii.gz -base /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Spatial_working_funct/28878/session_1/rest_1/func_get_mean_motion/rest_calc_resample_volreg_tstat.nii.gz -zpad 4 -maxdisp1D max_displacement.1D /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Spatial_working_funct/28878/session_1/rest_1/func_motion_correct_A/rest_calc_resample.nii.gz [Thomas@DESKTOP-PNO0KIE: Sun Jan 29 17:46:56 2017] 3dAutomask -apply_prefix rest_calc_resample_volreg_masked.nii.gz -prefix rest_calc_resample_volreg_mask.nii.gz /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Spatial_working_funct/28878/session_1/rest_1/func_get_brain_mask/rest_calc_resample_volreg.nii.gz
I will try running it with the git build again with write_all_outputs set to True and see if that turns up anything.
Hi @hermeckerogg ,
Sorry- I neglected to consider that _write_alloutputs was set to False.
I have another question- which version of NumPy are you using? Starting with version 1.12 of NumPy, the ability to slice arrays using non-integers has been dropped (I'm going to leave a link to the changes here for future reference), which is probably what is throwing off the GSR function.
Ok so with the new flags the code rand to completion and the output for 3dinfo is:
Thomas@DESKTOP-PNO0KIE:/mnt/f/ABIDEII/ABIDEII-SDSU_1$ 3dinfo /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Temporal_working_funct/28878/session_1/rest_1/func_get_brain_mask/rest_calc_resample_volreg_mask.nii.gz ++ 3dinfo: AFNI version=Debian-16.2.07~dfsg.1-3~nd14.04+1 (Aug 31 2016) [64-bit]
Dataset File: /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Temporal_working_funct/28878/session_1/rest_1/func_get_brain_mask/rest_calc_resample_volreg_mask.nii.gz Identifier Code: XYZ_tr8gdCLvTh3qe5XYKtWGoA Creation Date: Fri Feb 3 19:47:32 2017 Template Space: ORIG Dataset Type: Anat Bucket (-abuc) Byte Order: LSB_FIRST {assumed} [this CPU native = LSB_FIRST] Storage Mode: NIFTI Storage Space: 172,032 (172 thousand [kilo]) bytes Geometry String: "MATRIX(3.4375,0,0,-110.625,0,-3.4375,0,94.8045,0,0,3.4,-46.8487):64,64,42" Data Axes Tilt: Plumb Data Axes Orientation: first (x) = Right-to-Left second (y) = Posterior-to-Anterior third (z) = Inferior-to-Superior [-orient RPI] R-to-L extent: -110.625 [R] -to- 105.938 [L] -step- 3.438 mm [ 64 voxels] A-to-P extent: -121.758 [A] -to- 94.804 [P] -step- 3.438 mm [ 64 voxels] I-to-S extent: -46.849 [I] -to- 92.551 [S] -step- 3.400 mm [ 42 voxels] Number of values stored at each pixel = 1 -- At sub-brick #0 '?' datum type is byte: 0 to 1
----- HISTORY ----- [Thomas@DESKTOP-PNO0KIE: Fri Feb 3 19:42:23 2017] 3dcalc -a '/mnt/f/ABIDEII/ABIDEII-SDSU_1/28878/session_1/rest_1/rest.nii.gz[0..179]' -expr a -prefix rest_calc.nii.gz [Thomas@DESKTOP-PNO0KIE: Fri Feb 3 19:42:27 2017] 3drefit -deoblique /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Temporal_working_funct/28878/session_1/rest_1/func_deoblique/rest_calc.nii.gz [Thomas@DESKTOP-PNO0KIE: Fri Feb 3 19:42:31 2017] 3dresample -orient RPI -prefix rest_calc_resample.nii.gz -inset /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Temporal_working_funct/28878/session_1/rest_1/func_reorient/rest_calc.nii.gz [Thomas@DESKTOP-PNO0KIE: Fri Feb 3 19:45:05 2017] 3dvolreg -Fourier -twopass -1Dfile rest_calc_resample.1D -1Dmatrix_save rest_calc_resample.aff12.1D -prefix rest_calc_resample_volreg.nii.gz -base /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Temporal_working_funct/28878/session_1/rest_1/func_get_mean_motion/rest_calc_resample_volreg_tstat.nii.gz -zpad 4 -maxdisp1D max_displacement.1D /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Temporal_working_funct/28878/session_1/rest_1/func_motion_correct_A/rest_calc_resample.nii.gz [Thomas@DESKTOP-PNO0KIE: Fri Feb 3 19:47:32 2017] 3dAutomask -apply_prefix rest_calc_resample_volreg_masked.nii.gz -prefix rest_calc_resample_volreg_mask.nii.gz /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Temporal_working_funct/28878/session_1/rest_1/func_get_brain_mask/rest_calc_resample_volreg.nii.gz
The important part seems to have worked. However, when it gets to the stage of making the graphs and writing the PDFs, there seems to be an error.
/home/Thomas/anaconda2/lib/python2.7/site-packages/qap-1.0.5-py2.7.egg/qap/viz/reports.py:39: FutureWarning: sort(columns=....) is deprecated, use sort_values(by=.....)
columns=['subject', 'session', 'scan'])
Traceback (most recent call last):
File "/home/Thomas/anaconda2/bin/qap_functional_temporal.py", line 4, in
File "build/bdist.linux-x86_64/egg/pkg_resources/init.py", line 1499, in run_script
File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap-1.0.5-py2.7.egg/EGG-INFO/scripts/qap_functional_temporal.py", line 10, in
It will produce some PDF files, but the data inside of it is minuscule (attached). Any idea what might be causing this? PDF_Documents.zip
Also according to the output I'm using: In [3]: numpy.version.version Out[3]: '1.12.0'
So that may answer that. I can try a rollback and see what that does.
@hermeckerogg Quick heads up- QAP 1.0.8 was released (available via pip install qap
or here: https://github.com/preprocessed-connectomes-project/quality-assessment-protocol/releases/tag/v1.0.8).
If you can, give it another shot and let us know if you are still running into trouble.
does 1.0.8 allow for multiprocessor runs yet?
(I'm almost done re-working the BIDS-app to use the new sublist generator and qap_measures_pipeline.py, testing now...)
-Alex
On Tue, Feb 28, 2017 at 3:11 PM, sgiavasis notifications@github.com wrote:
Quick heads up- QAP 1.0.8 was released (available via pip install qap or here: https://github.com/preprocessed-connectomes- project/quality-assessment-protocol/releases/tag/v1.0.8).
If you can, give it another shot and let us know if you are still running into trouble.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/preprocessed-connectomes-project/quality-assessment-protocol/issues/87#issuecomment-283148107, or mute the thread https://github.com/notifications/unsubscribe-auth/AIPa_xFksTQjhzV7sL7vctCwo4XJtxhBks5rhH9xgaJpZM4Lsfek .
Yes, definitely. Multi-processor, cluster runs (SGE, PBS, SLURM), AWS compatibility, ..etc.
You can configure your resource settings in the pipeline configuration YAML: https://github.com/preprocessed-connectomes-project/quality-assessment-protocol/blob/master/configs/qap_config_TEMPLATE.yml
Hi.
I recently installed QAP on my local machine and on our cluster to process ABIDE-II data.
However, when I attempt to run the pipelines, I get similar errors on both environments (see attached photos below).
I'm not sure what is is that is going wrong here and I was hoping to get a little input.
There's a module load error with the cluster I think, but I can confirm that the local machine (bottom two photos) is running nipype verson 0.12.1 so I don't think that is the issue.
Happy to send the yml files if needed, but the configs are the generic abide ones.