brentp / peddy

genotype :: ped correspondence check, ancestry check, sex check. directly, quickly on VCF

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

IndexError: arrays used as indices must be of integer (or boolean) type

numicator opened this issue · comments

Hi, I run into an issue:

Traceback (most recent call last):
  File "/apps/python3/3.7.4/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/apps/python3/3.7.4/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "peddy/peddy/__main__.py", line 14, in <module>
    sys.exit(cli())
  File "pythonlib/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "pythonlib/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "pythonlib/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "pythonlib/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "peddy/peddy/cli.py", line 271, in peddy
    excl = correct_sex_errors(ped_df)
  File "peddy/peddy/cli.py", line 105, in correct_sex_errors
    osc[sel] = ito
IndexError: arrays used as indices must be of integer (or boolean) type

quick solution:
change cli.py" line 104:
from: sel = (gt & sf & (sc == ifrom))
to: sel = (gt & sf & (sc == ifrom)) != 0

Disclaimer: I am not a python programmer and it was a really quick fix without much (any) thinking.
Cheers, Marcin

I see something similar with peddy 0.4.4:

  File "/home/rdk4/local/share/bcbio/anaconda/envs/python2/lib/python2.7/site-packages/peddy/cli.py", line 226, in peddy
    da = df.iloc[df['sample_duplication_error'], 'sample_a']
  File "/home/rdk4/local/share/bcbio/anaconda/envs/python2/lib/python2.7/site-packages/pandas/core/indexing.py", line 1494, in __getitem__
    return self._getitem_tuple(key)
  File "/home/rdk4/local/share/bcbio/anaconda/envs/python2/lib/python2.7/site-packages/pandas/core/indexing.py", line 2143, in _getitem_tuple
    self._has_valid_tuple(tup)
  File "/home/rdk4/local/share/bcbio/anaconda/envs/python2/lib/python2.7/site-packages/pandas/core/indexing.py", line 223, in _has_valid_tuple
    self._validate_key(k, i)
  File "/home/rdk4/local/share/bcbio/anaconda/envs/python2/lib/python2.7/site-packages/pandas/core/indexing.py", line 2060, in _validate_key
    raise NotImplementedError("iLocation based boolean "
NotImplementedError: iLocation based boolean indexing on an integer type is not available

will you give the latest commit a try?

Thanks, that fixed it! If you cut a new release I'll fix the bioconda package for it.

tagged 0.4.5 and uploaded to pypi. thank you!

Great, bioconda looks all set. Thanks so much, hope you and your family are holding up well!

I have a user reporting a conda error on 0.4.5 (she was seeing it previously as well), I am trying to get more details. Thanks for doing this.

Family is doing well so far. Hope you and yours are well too!

Thanks, happy to help fix it once we can get some more information.