compomics / moFF

A modest Feature Finder (moFF) to extract MS1 intensities from Thermo raw file
Apache License 2.0
33 stars 11 forks source link

ValueError: cannot set a frame with no defined index and a scalar #45

Closed Hang0918 closed 5 years ago

Hang0918 commented 5 years ago
Starting Apex for /hwfssz5/ST_CANCER/CGR/USER/zhengzetian/MS/PXD001170_result/txt_data/AML-272.txt ...
moff Input file: /hwfssz5/ST_CANCER/CGR/USER/zhengzetian/MS/PXD001170_result/txt_data/AML-272.txt  XIC_tol 10.0 XIC_win 4.0000 moff_rtWin_peak 0.3300
RAW file from folder :  /zfssz3/pub/database/ftp.pride.ebi.ac.uk/pride/data/archive/2017/02/PXD001170
Output file in :  /hwfssz5/ST_CANCER/CGR/USER/zhengzetian/MS/PXD001170_result/output
starting  peptide quantification (ms2 / matched ) ..
Traceback (most recent call last):
  File "/hwfssz5/ST_CANCER/CGR/USER/zhuyafeng/moFF/moFF/moff.py", line 870, in apex_multithr
    temp.ix[:, 'tol'] = int(tol)
  File "/hwfssz1/ST_CANCER/POL/SHARE/tools/miniconda3/lib/python3.6/site-packages/pandas/core/indexing.py", line 189, in __setitem__
    self._setitem_with_indexer(indexer, value)
  File "/hwfssz1/ST_CANCER/POL/SHARE/tools/miniconda3/lib/python3.6/site-packages/pandas/core/indexing.py", line 356, in _setitem_with_indexer
    raise ValueError("cannot set a frame with no "
ValueError: cannot set a frame with no defined index and a scalar
end apex quantification (ms2 / matched ) peptides
computational time (sec):  1.9446
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
  File "/hwfssz1/ST_CANCER/POL/SHARE/tools/miniconda3/lib/python3.6/multiprocessing/pool.py", line 119, in worker
    result = (True, func(*args, **kwds))
  File "/hwfssz5/ST_CANCER/CGR/USER/zhuyafeng/moFF/moFF/moff.py", line 888, in apex_multithr
    raise e
  File "/hwfssz5/ST_CANCER/CGR/USER/zhuyafeng/moFF/moFF/moff.py", line 870, in apex_multithr
    temp.ix[:, 'tol'] = int(tol)
  File "/hwfssz1/ST_CANCER/POL/SHARE/tools/miniconda3/lib/python3.6/site-packages/pandas/core/indexing.py", line 189, in __setitem__
    self._setitem_with_indexer(indexer, value)
  File "/hwfssz1/ST_CANCER/POL/SHARE/tools/miniconda3/lib/python3.6/site-packages/pandas/core/indexing.py", line 356, in _setitem_with_indexer
    raise ValueError("cannot set a frame with no "
ValueError: cannot set a frame with no defined index and a scalar
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/hwfssz5/ST_CANCER/CGR/USER/zhuyafeng/moFF/moFF/moff.py", line 133, in save_moff_apex_result
    if result[df_index].get()[1] == -1:
  File "/hwfssz1/ST_CANCER/POL/SHARE/tools/miniconda3/lib/python3.6/multiprocessing/pool.py", line 644, in get
    raise self._value
ValueError: cannot set a frame with no defined index and a scalar
multiprocessing.pool.RemoteTraceback:
Hang0918 commented 5 years ago

AML272_2.txt config_AML.ini.txt Hi, there, could anyone help me solve this? I am running moff_all.py with the following command:

python moff_all.py --config_file config_AML.ini

Thank you Best

Maux82 commented 5 years ago

Hi,

Can you write also the command that you use ?

Maux82 commented 5 years ago

All your input list contains only few psms ? like this one

AML272_2.txt or this just a sample of your input ?

If you have just few psms, try to adjust the cpu parameter to 1 or 2. and let me know

Hang0918 commented 5 years ago

All your input list contains only few psms ? like this one

AML272_2.txt or this just a sample of your input ?

If you have just few psms, try to adjust the cpu parameter to 1 or 2. and let me know

Hi, Maux, that's right my samples have just few psms. I set the cpu from 4 to 1 and it works, appreciate a lot for your kind help. By the way, would you mind give a hint that why this works? Thanks.

Maux82 commented 5 years ago

Well, moFF splits the input data with respect to the number of cpu given in input or present in your machine. If the number of psm is small (6 psm / 4 cpu= 1.5 ) , some worker gets an empty dataframe and so moFF complains about it. I will try to fixit in one of the next release. However, six psm is quite small compared to "standard" shotgun experiments :)

Hang0918 commented 5 years ago

Well, moFF splits the input data with respect to the number of cpu given in input or present in your machine. If the number of psm is small (6 psm / 4 cpu= 1.5 ) , some worker gets an empty dataframe and so moFF complains about it. I will try to fixit in one of the next release. However, six psm is quite small compared to "standard" shotgun experiments :)

Yeah, I will recheck my data then. Thanks very much for your answer, that really helps me a lot.