molgenis / molgenis-py-consensus

GNU Lesser General Public License v3.0
0 stars 3 forks source link

Consensus script crashes in ConsensusReporter #28

Closed dennishendriksen closed 3 years ago

dennishendriksen commented 3 years ago

How to Reproduce

Run

python consensus

with molgenis-py-consensus v2.1.0

Expected

Script completes successfully.

Observed

Script crashes:

Traceback (most recent call last):
  File "/apps/software/Python/3.9.1-GCCcore-7.3.0-bare/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/apps/software/Python/3.9.1-GCCcore-7.3.0-bare/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/git/molgenis-py-consensus/consensus/__main__.py", line 57, in <module>
    main()
  File "/git/molgenis-py-consensus/consensus/__main__.py", line 51, in main
    ConsensusReporter(csv, config.labs, public, prefix, output).process_consensus()
  File "/git/molgenis-py-consensus/consensus/ConsensusReporter.py", line 35, in __init__
    self.consensus_df = pandas.read_csv(consensus_csv, low_memory=False, converters={'stop': str},
  File "/.local/lib/python3.9/site-packages/pandas/io/parsers.py", line 610, in read_csv
    return _read(filepath_or_buffer, kwds)
  File "/.local/lib/python3.9/site-packages/pandas/io/parsers.py", line 468, in _read
    return parser.read(nrows)
  File "/.local/lib/python3.9/site-packages/pandas/io/parsers.py", line 1057, in read
    index, columns, col_dict = self._engine.read(nrows)
  File "/.local/lib/python3.9/site-packages/pandas/io/parsers.py", line 2061, in read
    data = self._reader.read(nrows)
  File "pandas/_libs/parsers.pyx", line 759, in pandas._libs.parsers.TextReader.read
  File "pandas/_libs/parsers.pyx", line 842, in pandas._libs.parsers.TextReader._read_rows
  File "pandas/_libs/parsers.pyx", line 1951, in pandas._libs.parsers.raise_parser_error
pandas.errors.ParserError: Error tokenizing data. C error: Expected 10 fields in line 18, saw 11
dennishendriksen commented 3 years ago

Probable cause is https://github.com/molgenis/molgenis-py-consensus/blob/2.1.0/consensus/ConsensusReporter.py#L35 using the wrong separator. Introduced in https://github.com/molgenis/molgenis-py-consensus/commit/936cdc0fbce7afb9cea3cb70c0f2444decc79f9e.