Skip to content

Error with skipfooter in enrich mode #2

@afrubin

Description

@afrubin

The program crashes with a ValueError when validating the skip_footer kwarg. The default argument is not an integer:

$ mavedb-convert enrich E4B_Dataset_S1.xlsx --wtseq ../E4B_wt.fa --score_column nscor_log2_ratio --dst .
[INFO] 2018-11-26 11:24:31,667 base Checking read permission for 'E4B_Dataset_S1.xlsx'
[INFO] 2018-11-26 11:24:31,667 base Checking write permission to directory '.'
[INFO] 2018-11-26 11:24:31,667 base Processing file E4B_Dataset_S1.xlsx
[ERROR] 2018-11-26 11:24:37,008 main An error occured during conversion.
Traceback (most recent call last):
  File "/Users/rubin.a/Code/mavedb-convert/mavedbconvert/main.py", line 194, in main
    enrich.Enrich(**kwargs).convert()
  File "/Users/rubin.a/Code/mavedb-convert/mavedbconvert/base.py", line 165, in convert
    mave_df = self.parse_input(self.load_input_file())
  File "/Users/rubin.a/Code/mavedb-convert/mavedbconvert/enrich.py", line 55, in load_input_file
    skipfooter=self.skip_footer_rows,
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/util/_decorators.py", line 178, in wrapper
    return func(*args, **kwargs)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/util/_decorators.py", line 178, in wrapper
    return func(*args, **kwargs)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/excel.py", line 329, in read_excel
    **kwds)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/excel.py", line 456, in parse
    **kwds)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/excel.py", line 685, in _parse_excel
    **kwds)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/parsers.py", line 2008, in TextParser
    return TextFileReader(*args, **kwds)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/parsers.py", line 787, in __init__
    self._make_engine(self.engine)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/parsers.py", line 1024, in _make_engine
    self._engine = klass(self.f, **self.options)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/parsers.py", line 2040, in __init__
    self.skipfooter = _validate_skipfooter_arg(kwds['skipfooter'])
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/parsers.py", line 1163, in _validate_skipfooter_arg
    raise ValueError("skipfooter must be an integer")
ValueError: skipfooter must be an integer

The same error is encountered when a value of 0 is provided:

$ mavedb-convert enrich E4B_Dataset_S1.xlsx --wtseq ../E4B_wt.fa --score_column nscor_log2_ratio --dst . --skip_footer 0
[INFO] 2018-11-26 11:28:40,489 base Checking read permission for 'E4B_Dataset_S1.xlsx'
[INFO] 2018-11-26 11:28:40,489 base Checking write permission to directory '.'
[INFO] 2018-11-26 11:28:40,490 base Processing file E4B_Dataset_S1.xlsx
[ERROR] 2018-11-26 11:28:44,932 main An error occured during conversion.
Traceback (most recent call last):
  File "/Users/rubin.a/Code/mavedb-convert/mavedbconvert/main.py", line 194, in main
    enrich.Enrich(**kwargs).convert()
  File "/Users/rubin.a/Code/mavedb-convert/mavedbconvert/base.py", line 165, in convert
    mave_df = self.parse_input(self.load_input_file())
  File "/Users/rubin.a/Code/mavedb-convert/mavedbconvert/enrich.py", line 55, in load_input_file
    skipfooter=self.skip_footer_rows,
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/util/_decorators.py", line 178, in wrapper
    return func(*args, **kwargs)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/util/_decorators.py", line 178, in wrapper
    return func(*args, **kwargs)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/excel.py", line 329, in read_excel
    **kwds)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/excel.py", line 456, in parse
    **kwds)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/excel.py", line 685, in _parse_excel
    **kwds)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/parsers.py", line 2008, in TextParser
    return TextFileReader(*args, **kwds)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/parsers.py", line 787, in __init__
    self._make_engine(self.engine)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/parsers.py", line 1024, in _make_engine
    self._engine = klass(self.f, **self.options)
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/parsers.py", line 2040, in __init__
    self.skipfooter = _validate_skipfooter_arg(kwds['skipfooter'])
  File "/Users/rubin.a/.pyenv/versions/3.6.5/envs/mavedb-convert/lib/python3.6/site-packages/pandas/io/parsers.py", line 1163, in _validate_skipfooter_arg
    raise ValueError("skipfooter must be an integer")
ValueError: skipfooter must be an integer

Adding to the confusion, the kwarg name is skip_footer but the key returning the error is skipfooter. These should be harmonized.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions