Hi, thank you for making ProtSATT available. I found some issues when trying to use utils/construct_dataset.py with predict_eSOL.py:
-
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.
-
Default paths differ: ../datasets/ vs \datasets\eSOL.
-
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.
-
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!
Hi, thank you for making ProtSATT available. I found some issues when trying to use
utils/construct_dataset.pywithpredict_eSOL.py:File naming mismatch:
construct_dataset.pyoutputsx_test_esm2_dataset.csv,x_test_protT5_dataset.csv,x_test_unirep_dataset.csv, and three separate y files. Butpredict_eSOL.pyexpectsx_eSol_test_esm2_dataset.csv,x_eSol_test_protT5_dataset.csv,x_eSol_test_unirep_dataset.csv, and a singley_eSol_test_dataset.csv.Default paths differ:
../datasets/vs\datasets\eSOL.y file count and format mismatch:
construct_dataset.pygenerates three y files, withload_unirep()binarizing labels whileload_esm2()andload_protT5()keep them as raw strings.predict_eSOL.pyexpects one y file with continuous float values.x_test_esm2_dataset.csvis 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 bypd.DataFrame(x_dataset).to_csv()inconstruct_csv()whenx_datasetis a 2D numpy array — the resulting CSV is malformed and cannot be read correctly bynp.loadtxt()inpredict_eSOL.py.It would be great if these could be fixed or if a unified inference pipeline could be provided. Thanks!