ersilia-os / eos54ij

Cardiac Toxicity Prediction
GNU General Public License v3.0
2 stars 1 forks source link

Clean UP & Dockerization eos54ij #1

Closed GemmaTuron closed 1 year ago

febielin commented 1 year ago

Model does not pass actions. There is an empty output error.

🚨🚨🚨 Something went wrong with Ersilia 🚨🚨🚨

Error message:

Ersilia exception class:
EmptyOutputError

Detailed error:
Model API eos54ij:predict did not produce an outputTraceback (most recent call last):
  File "/home/runner/eos/repository/eos54ij/20230711102838_FE36DF/eos54ij/artifacts/framework/code/pred_herg.py", line 27, in <module>
    d = Table.text.split('\n')
AttributeError: 'NoneType' object has no attribute 'text'
GemmaTuron commented 1 year ago

Hi @febielin !

I see this model is posting predictions online: r = requests.post(url, data = payload) Check manually that the website works to be sure, because the error seems that you are not getting an output from the request

febielin commented 1 year ago

Hi @GemmaTuron,

Thanks for the advice. I checked out the website, and I see that there are very specific conditions under which the model works.

Firstly, it would be important to clarify– I'm taking a look at the main.py (or pred_herg.py) file, and I'm trying to understand how it works. Based on my understanding, is it the case that the smiles strings are being processed one at a time? Theoretically, this should work. I tested the model manually through the LabMol website and it is able to process single strings. I've been testing very simple strings one at a time, and this works.

On the other hand, what wouldn't work is if the entire file is being passed in at once for prediction, although this doesn't seem to be the case. The reason is that there are specific requirements for how the files are to be formatted. Additionally, the model will only predicts ten at a time.

That being said, can you take a look at the main.py file and confirm that I am interpreting this correctly? That the smiles strings are indeed being predicted one at a time?

GemmaTuron commented 1 year ago

yes, that seems the case because of this line here:

Lines = input_file.readlines()[1:]
for input_smiles in Lines:

I'd say, take one smiles that can be manually run on the labmol website and gives results and pass it as a single smiles to the CLI. Another thing that might be afecting, where are you running this model? If it is inside a Docker or codespaces something might be messing with the post request? I dont know, just throwing the idea around!

febielin commented 1 year ago

@GemmaTuron

Hmm, very strange. LabMol was operating fine on Thursday, but when I try it again now, the website seems to be down. Site can't be reached. Can't access it from my browser or my phone at the moment. I will try again in a few hours to see if this is a temporary thing, or if this points to a bigger issue.

GemmaTuron commented 1 year ago

It could be the website is down, not much we can do in this case

febielin commented 1 year ago

@GemmaTuron

In that case, can we keep an eye on this website until it comes back up, at which time we can resume testing? In the mean time, since the website is down, troubleshooting this model would be difficult since it always returns empty output.

GemmaTuron commented 1 year ago

Hi @febielin

Yes, that is a problem, and because it is out of our control I think we should decide what we do with these online models, perhaps we don't want to have them because they might stop working

GemmaTuron commented 1 year ago

@miquelduranfrigola I think we want to simply do not have these online models in the hub

GemmaTuron commented 1 year ago

We have decided to archive this repository since the website is not always up