martinpacesa / martinpacesa/BindCraft
Pandas EmptyDataError While Fixing Interface Residues
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.2k
- Forks
- 278
- PR merge metrics
- No merged PRs in 30d
Description
Hi, I was running multiple runs parallelly on multiple GPUs with the same output folder and one of the runs exited with the error below when fixing interface residues.
The runs continued for more than 3 days without an error, and this error has only occurred once. Given the infrequency of the error, is it possible that it is caused by a race condition where one run tries to read a file while the other one is using it?
Traceback (most recent call last):
File "[BindCraft_path]/bindcraft.py", line 396, in <module>
failure_df = pd.read_csv(failure_csv)
File "[miniforge3_path]/envs/BindCraft_old/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 1026, in read_csv
return _read(filepath_or_buffer, kwds)
File "[miniforge3_path]/envs/BindCraft_old/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 620, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "[miniforge3_path]/envs/BindCraft_old/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 1620, in __init__
self._engine = self._make_engine(f, self.engine)
File "[miniforge3_path]/envs/BindCraft_old/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 1898, in _make_engine
return mapping[engine](f, **self.options)
File "[miniforge3_path]/envs/BindCraft_old/lib/python3.10/site-packages/pandas/io/parsers/c_parser_wrapper.py", line 93, in __init__
self._reader = parsers.TextReader(src, **kwds)
File "parsers.pyx", line 581, in pandas._libs.parsers.TextReader.__cinit__
pandas.errors.EmptyDataError: No columns to parse from file
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at bindcraft.py line 396, where pandas reads failure_csv, and inspect how that file is created and accessed when parallel runs share an output folder. Reproduce the shared-folder scenario if possible and determine what behavior should occur when the CSV is temporarily empty; done means the intermittent EmptyDataError is prevented or handled and the parallel workflow remains usable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- pandas, python
- Domain
- data, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100