Skip to content

Inconsistencies between construct_dataset.py and predict_eSOL.py #2

Description

@LSJ70

Hi, thank you for making ProtSATT available. I found some issues when trying to use utils/construct_dataset.py with predict_eSOL.py:

  1. File naming mismatch: construct_dataset.py outputs x_test_esm2_dataset.csv, x_test_protT5_dataset.csv, x_test_unirep_dataset.csv, and three separate y files. But predict_eSOL.py expects x_eSol_test_esm2_dataset.csv, x_eSol_test_protT5_dataset.csv, x_eSol_test_unirep_dataset.csv, and a single y_eSol_test_dataset.csv.

  2. Default paths differ: ../datasets/ vs \datasets\eSOL.

  3. y file count and format mismatch: construct_dataset.py generates three y files, with load_unirep() binarizing labels while load_esm2() and load_protT5() keep them as raw strings. predict_eSOL.py expects one y file with continuous float values.

  4. x_test_esm2_dataset.csv is generated with only one row of valid data followed by empty commas, even when the input JSON contains multiple proteins with consistent embedding dimensions. This appears to be caused by pd.DataFrame(x_dataset).to_csv() in construct_csv() when x_dataset is a 2D numpy array — the resulting CSV is malformed and cannot be read correctly by np.loadtxt() in predict_eSOL.py.

It would be great if these could be fixed or if a unified inference pipeline could be provided. Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions