preprocessed-connectomes-project / quality-assessment-protocol

Scripts and documentation for the PCP's protocol for assessing data quality.
BSD 3-Clause "New" or "Revised" License
40 stars 23 forks source link

Error with QAP Build #87

Open hermeckerogg opened 7 years ago

hermeckerogg commented 7 years ago

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.

clustertemporalerror clusterspatialerror qaplocalanatomical qaplocaltemporal

alexlicohen commented 7 years ago

you need the ConfigParser module:

pip install ConfigParser


Alexander Li Cohen, M.D., Ph.D. E-mail: Alexander.Cohen2@childrens.harvard.edu (Medical/Science Email) E-mail: alexcohen@gmail.com (Lifetime Email)

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 .

jpellman commented 7 years ago

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?

alexlicohen commented 7 years ago

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


Alexander Li Cohen, M.D., Ph.D. E-mail: Alexander.Cohen2@childrens.harvard.edu (Medical/Science Email) E-mail: alexcohen@gmail.com (Lifetime Email)

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 .

jpellman commented 7 years ago

It's a dependency of nipype. QAP itself does not use future.

hermeckerogg commented 7 years ago

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: plotmosaicerror

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: qap_fd_fileerror

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.

jpellman commented 7 years ago

Hi @hermeckerogg ,

What happens if you open a Python terminal and type the following code?

import numpy
numpy.test()
hermeckerogg commented 7 years ago

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.

jpellman commented 7 years ago

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.

hermeckerogg commented 7 years ago

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)

hermeckerogg commented 7 years ago

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 obj.run() File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap/cli.py", line 244, in run results = self._run_here(run_name) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap/cli.py", line 178, in _run_here results.append(_run_workflow(a)) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap/cli.py", line 375, in _run_workflow workflow, resource_pool = wf_builder(workflow, resource_pool, config) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap/qap_workflows.py", line 525, in qap_functional_temporal_workflow functional_brain_mask_workflow(workflow, resource_pool, config) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap/functional_preproc.py", line 296, in functional_brain_mask_workflow func_motion_correct_workflow(workflow, resource_pool, config) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap/functional_preproc.py", line 93, in func_motion_correct_workflow func_drop_trs = pe.Node(interface=preprocess.Calc(), AttributeError: 'module' object has no attribute 'Calc'

Any idea what might be causing that?

jpellman commented 7 years ago

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

hermeckerogg commented 7 years ago

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.

hermeckerogg commented 7 years ago

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 obj.run() File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap/cli.py", line 256, in run out_dir=config['output_directory']) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap/viz/reports.py", line 60, in workflow_report is_group=True, out_file=out_sum) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap/viz/reports.py", line 174, in summary_cover with codecs.open(html_dir, mode='r', encoding='utf-8') as f: File "/home/Thomas/anaconda2/lib/python2.7/codecs.py", line 896, in open file = builtin.open(filename, mode, buffering) IOError: [Errno 2] No such file or directory: '/home/Thomas/anaconda2/lib/python2.7/site-packages/qap/viz/html/cover_group.html'

jpellman commented 7 years ago

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

hermeckerogg commented 7 years ago

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 "", line 41, in qap_functional_spatial File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap-1.0.5-py2.7.egg/qap/spatial_qc.py", line 356, in ghost_direction n2_mask_data[:,:n2,:] = mask_data[:,n2:(n22),:] TypeError: slice indices must be integers or None or have an index method Interface Function failed to run.

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 import('pkg_resources').run_script('qap==1.0.5', 'qap_functional_spatial.py') File "build/bdist.linux-x86_64/egg/pkg_resources/init.py", line 744, in run_script

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 obj.run() File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap-1.0.5-py2.7.egg/qap/cli.py", line 255, in run out_dir=config['output_directory']) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap-1.0.5-py2.7.egg/qap/viz/reports.py", line 38, in workflow_report df = pd.read_csv(in_csv, dtype={'subject': str}).sort( File "/home/Thomas/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 646, in parser_f return _read(filepath_or_buffer, kwds) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 389, in _read parser = TextFileReader(filepath_or_buffer, kwds) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 730, in init self._make_engine(self.engine) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 923, in _make_engine self._engine = CParserWrapper(self.f, self.options) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 1390, in init self._reader = _parser.TextReader(src, **kwds) File "pandas/parser.pyx", line 373, in pandas.parser.TextReader.cinit (pandas/parser.c:4184) File "pandas/parser.pyx", line 667, in pandas.parser.TextReader._setup_parser_source (pandas/parser.c:8449) IOError: File /mnt/f/ABIDEII/ABIDEII-SDSU_1/QAP_Functional_Temporal_output_funct/qap_functional_spatial.csv does not exist

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.

jpellman commented 7 years ago

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

hermeckerogg commented 7 years ago

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.

jpellman commented 7 years ago

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.

hermeckerogg commented 7 years ago

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 import('pkg_resources').run_script('qap==1.0.5', 'qap_functional_temporal.py') File "build/bdist.linux-x86_64/egg/pkg_resources/init.py", line 744, in run_script

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 obj.run() File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap-1.0.5-py2.7.egg/qap/cli.py", line 255, in run out_dir=config['output_directory']) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap-1.0.5-py2.7.egg/qap/viz/reports.py", line 131, in workflow_report func(df, subject=subid, out_file=qc_ms) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap-1.0.5-py2.7.egg/qap/viz/reports.py", line 349, in qap_functional_temporal out_file=out_file) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap-1.0.5-py2.7.egg/qap/viz/reports.py", line 248, in _write_report title='QC measures ' + subtitle) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/qap-1.0.5-py2.7.egg/qap/viz/plotting.py", line 125, in plot_all zorder=10) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/matplotlib/init.py", line 1892, in inner return func(ax, *args, *kwargs) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_axes.py", line 1406, in plot for line in self._get_lines(args, **kwargs): File "/home/Thomas/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_base.py", line 407, in _grab_next_args for seg in self._plot_args(remaining, kwargs): File "/home/Thomas/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_base.py", line 385, in _plot_args x, y = self._xy_from_xy(x, y) File "/home/Thomas/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_base.py", line 244, in _xy_from_xy "have shapes {} and {}".format(x.shape, y.shape)) ValueError: x and y must have same first dimension, but have shapes (1,) and (0,)

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

hermeckerogg commented 7 years ago

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.

sgiavasis commented 7 years ago

@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.

alexlicohen commented 7 years ago

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


Alexander Li Cohen, M.D., Ph.D. E-mail: Alexander.Cohen2@childrens.harvard.edu (Medical/Science Email) E-mail: alexcohen@gmail.com (Lifetime Email)

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 .

sgiavasis commented 7 years ago

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