ersilia-os / eos24ci

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

Clean UP & Dockerization eos24ci #4

Closed GemmaTuron closed 1 year ago

febielin commented 1 year ago

I have to troubleshoot this model before I start the reformatting. I cannot get this model to work on colab, CLI, or codespaces. I took a look at the action items for this model, and none of them are successful.

Here is my error log from running on CLI: eos24ci.log

I was able to find this from earlier this year. From what I can tell, all the versions are the same as in the log file presented (python + packages), yet they were able to fetch it. Is there any reason why I would be unable to fetch now? And, why it doesn't seem to passing github actions?

GemmaTuron commented 1 year ago

Hi @febielin The segmentation fault again: /var/folders/mx/mxb7172x3czgb85qcdk0k1dw0000gn/T/ersilia-k1iabm39/script.sh: line 9: 85263 Segmentation fault: 11 python pack.py

Could you get the error log from codespaces? it might be the error lies somewhere else as well and this segmentation fault is mac related

febielin commented 1 year ago

Hi @GemmaTuron,

Here is the error log: eos24ci_codespaces.log

Yes, very likely the segmentation fault is Mac related. The error I get on codespaces involves the rdkit package. I will look into this more.

GemmaTuron commented 1 year ago

Hi @febielin Please add the error here so we can see as well provide guidance

febielin commented 1 year ago

Hi @GemmaTuron,

The error log is already attached! Sorry if that wasn't clear. But here it is again: eos24ci_codespaces.log

GemmaTuron commented 1 year ago

my fault completely for reading the issues directly from Gmail, so sorry It seems is looking for RdKIT in the incorrect place:

Requirement already satisfied: rdkit-pypi in /root/miniconda3/envs/ersilia/lib/python3.10/site-packages (2022.9.5)
Requirement already satisfied: numpy in /root/miniconda3/envs/ersilia/lib/python3.10/site-packages (from rdkit-pypi) (1.25.0)
Requirement already satisfied: Pillow in /root/miniconda3/envs/ersilia/lib/python3.10/site-packages (from rdkit-pypi) (9.5.0)

(python 3.10, while some other packages are in py 3.7?) Requirement already satisfied: cycler>=0.10 in /root/miniconda3/envs/eos24ci/lib/python3.7/site-packages (from matplotlib==3.3.4) (0.11.0)

febielin commented 1 year ago

Hi @GemmaTuron,

I will look into this more. That is very strange to me because I am working in a conda environment that is running python 3.7. The Dockerfile, as well, requires 3.7. Not sure where the 3.10 is coming in, is this something that is inherent to codespaces?

GemmaTuron commented 1 year ago

maybe redirecting some python path somewhere, which might be difficult to debug. Suggest changing to pip install of rdkit IF the descriptors that the model is using are not RdKIT Descriptors (they change between versions, see: https://github.com/ersilia-os/eos2thm/issues/6)

febielin commented 1 year ago

@GemmaTuron Okay, I've been going in circles with this, but I just remembered something.

At the beginning of this internship, I had trouble following this installation guide. I just couldn't get the Ersilia Model Hub installed to my device. Miquel recommend both Riley and me to create our ersilia conda environment with python 3.10 instead of 3.7, as specified in the installation guide (original post). And finally it worked.

That may be why I'm getting this significant overlap of 3.7 and 3.10. Is it possible that this is why I run into so many package version conflicts? I don't mean with just this model, but in general with a lot of models?

[UPDATE] I took your advice. I changed the rdkit installation from conda to pip, and I changed the version to 2022.3.3 as well. It is finally fetching and producing output: eos24ci_codespaces_2.log eos24ci_codespaces_output.csv Based on my understanding from the discussing with eos2thm, this can be risky if the set of descriptors do not match with the original. Can I ask, how can I check if this change of rdkit version is safe or not? As in, (1) how can I check if the descriptors that eos24ci use are rdkit descriptors? (2) how can I compare the descriptors from one version of rdkit to another?

GemmaTuron commented 1 year ago

Hi @febielin !

Regarding Python versions, @miquelduranfrigola will be able to provide more explanation but in short:

miquelduranfrigola commented 1 year ago

Thanks both, this conversation is very insightful. Tagging @HellenNamulinda and @ZakiaYahya who also had explored RDKIT.

In this particular case, @febielin , you don't have to worry too much about it, since, if I am not wrong, the model is ultimately using DrugTax, a third-party tool. They deal explicitly with descriptors and, therefore, this is not something we need to maintain from Ersilia. I hope this makes sense?

In my opinion, we are good to go!

GemmaTuron commented 1 year ago

This model is working