bbglab / boostdm-pipeline

Learning pipeline to identify somatic SNVs under positive selection.
Other
0 stars 0 forks source link

develop | CreateDatasets fails with the ICGC_WXS_HCC_LIHM_FR_2019 cohort #9

Closed koszulordie closed 6 months ago

koszulordie commented 6 months ago

CreateDatasets raises an exception that has not been reported before.

This is the full traceback given by the Python interpreter:

File "/usr/lib/python3/dist-packages/pandas/core/frame.py", line 3173, in _ensure_valid_index
    value = Series(value)
  File "/usr/lib/python3/dist-packages/pandas/core/series.py", line 277, in __init__
    data = SingleBlockManager(data, index, fastpath=True)
  File "/usr/lib/python3/dist-packages/pandas/core/internals.py", line 4677, in __init__
    block = make_block(block, placement=slice(0, len(axis)), ndim=1)
  File "/usr/lib/python3/dist-packages/pandas/core/internals.py", line 3205, in make_block
    return klass(values, ndim=ndim, placement=placement)
  File "/usr/lib/python3/dist-packages/pandas/core/internals.py", line 2303, in __init__
    placement=placement)
  File "/usr/lib/python3/dist-packages/pandas/core/internals.py", line 125, in __init__
    '{mgr}'.format(val=len(self.values), mgr=len(self.mgr_locs)))
ValueError: Wrong number of items passed 6, placement implies 0

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/boostdm/boostdm/annotations/cohort.py", line 349, in <module>
    cli()
  File "/usr/lib/python3/dist-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3/dist-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/boostdm/boostdm/annotations/cohort.py", line 343, in cli
    n_splits=splits, xs_thresh=threshold)
  File "/boostdm/boostdm/annotations/cohort.py", line 306, in build_table
    df['chr'] = df.apply(lambda row: set_string_chr(row), axis=1)
  File "/usr/lib/python3/dist-packages/pandas/core/frame.py", line 3119, in __setitem__
    self._set_item(key, value)
  File "/usr/lib/python3/dist-packages/pandas/core/frame.py", line 3193, in _set_item
    self._ensure_valid_index(value)
  File "/usr/lib/python3/dist-packages/pandas/core/frame.py", line 3175, in _ensure_valid_index
    raise ValueError('Cannot set a frame with no defined index '
ValueError: Cannot set a frame with no defined index and a value that cannot be converted to a Series
koszulordie commented 6 months ago

This error was caused by the fact that the positive set for this cohort is empty. I added the following error catch:

 if len(pos) == 0:
        raise BoostDMError('Run failed: positive set is empty')