Closed github-actions[bot] closed 1 year ago
Hi @GemmaTuron and @samuelmaina , I tested the model using Colab, CLI and docker. It works.
Test file: eml_50.csv
Colab Colab Output: eos6m4j_colab_output.csv
CLI
I don't know why this smile, Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1
returns null on CLI(for a single string and even when part of a file) yet it works well using Colab and Docker. Otherwise, all other smiles in the file have output values.
eos6m4j_cli_fetch.log
CLI Output: 6m4j_cli_output.csv
🚀 Serving model eos6m4j: bidd-molmap-dsp
URL: http://0.0.0.0:56765
PID: -1
SRV: pulled_docker
👉 To run model:
- run
💁 Information:
- info
(ersilia) hellenah@hellenah-elitebook:~$ ersilia run -i "Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1"
{
"input": {
"key": "MCGSCOLBFJQGHM-SCZZXKLOSA-N",
"input": "Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1",
"text": "Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1"
},
"output": {
"molmap": [
null,
null,
null,
null,
null,
null,
null,
null,
null,
...
(ersilia) hellenah@hellenah-elitebook:~$ ersilia run -i "CCC"
{
"input": {
"key": "ATUOYWHBWRKTHZ-UHFFFAOYSA-N",
"input": "CCC",
"text": "CCC"
},
"output": {
"molmap": [
0.077715013933846,
0.008355661397430108,
0.00835081469570388,
0.008413646767066386,
0.00859833613564168,
0.004069891515939892,
0.005522817732531842,
0.007877159776026044,
...
Docker Docker Output: 6m4j_docker_output.csv
+ [ -z eos6m4j ]
+ ersilia serve -p 3000 eos6m4j
🚀 Serving model eos6m4j: bidd-molmap-dsp
URL: http://127.0.0.1:3000
PID: 37
SRV: conda
👉 To run model:
- run
💁 Information:
- info
Serving model eos6m4j...
+ echo Serving model eos6m4j...
root@8e71b67e80b6:~# ersilia run -i "Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1"
{
"input": {
"key": "MCGSCOLBFJQGHM-SCZZXKLOSA-N",
"input": "Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1",
"text": "Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1"
},
"output": {
"molmap": [
0.20272887204768225,
0.030785257532420555,
0.030774597488276833,
0.03066029667484404,
0.03085334830346864,
0.02136806934299571,
0.026177260262751613,
0.02772695710163858,
0.9116391179496534,
0.9164740246901901,
0.9999999991422307,
0.9999999995833333,
0.9999999991422307,
0.9184310325654067,
0.9953690754888427,
0.14118866576615105,
...
@HellenNamulinda , I will look into this
Alright @samuelmaina, Though I don't think it's a problem with the model. It could be a non-deterministic behavior within ersilia CLI, because the model gives output for that smile when using Docker and Colab.
Thanks @HellenNamulinda for reporting this. It is very strange... any other smiles works when passed as single input? @emmakodes have you had time to test the model and observed the same?
Yes @GemmaTuron, Other smiles work.
Yeah @HellenNamulinda , I have seen this behavior in other models too. It's a issue that need to be investigated.
Hi @samuelmaina
Please add more details to the above comment or it will be impossible to identify the source of the error. Which other models, and this exact same behavior, where one smiles can be calculates as part of a large file but not single?
Hi @GemmaTuron For this case, the smile can't be calculated in both cases, that's; when passed as a single input and even when part of a large file.
The only difference is that the behavior only happens when using CLI. Otherwise, the same smile can be calculated when using Docker and Colab. Like the output in my comment here
@GemmaTuron,
I meant at times , a model will produce an output and sometimes it will produce none. I have experienced some models producing none for the first run and produce results on the second run. Some model produce float has no property len
for some machines and not in others. In this case, when I run the model, I am getting the output in CLI but the smiles may produce a null in another computer.
- info
(ersilia) samuelmayna@SAM:~/ersilia_github_models$ ersilia run -i "Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1"
{
"input": {
"key": "MCGSCOLBFJQGHM-SCZZXKLOSA-N",
"input": "Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1",
"text": "Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1"
},
"output": {
"molmap": [
0.20272886753082275,
0.03078525699675083,
0.030774597078561783,
0.030660295858979225,
0.03085334785282612,
0.02136806957423687,
0.026177261024713516,
0.027726957574486732,
0.9116390943527222,
0.9164740443229675,
please @samuelmaina Try to be specific. Which models?
Thanks @HellenNamulinda for reporting this. It is very strange... any other smiles work when passed as single input? @emmakodes have you had time to test the model and observed the same?
Hello @GemmaTuron I am starting with this model today, currently fetching the model
please @samuelmaina Try to be specific. Which models?
I tried to search for the model(I had done it very early and the other testers were getting their values in the first run) that produced null for the first time, but I could not find anywhere I had documented the issue. I should have reported that as an error. For the float has no property len
, in https://github.com/ersilia-os/eos1amr/issues/4, @HellenNamulinda and @emmakodes are getting this error even after rerun and I am not getting it even after rerun.
Hi,
I have fetched the model from S3 and I run this molecule on my CLI Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1
getting the expected outcome... so I cannot reproduce Hellen's issue. I am also unable to reproduce the error for eos1amr in an Ubuntu machine.
Let's think what might be causing this.
Hello @GemmaTuron @samuelmaina
input file: eml_50.csv Model fetch and makes prediction successfully eos6m4j_cli_fetch.log eos6m4j_cli_pred.csv
For Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1
I get prediction successfully both as a single input and in a file. I didn't get null
(ersilia) emma@DESKTOP-VN7367J:~/ersiliamodel$ ersilia -v api run -i "Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1"
{
"input": {
"key": "MCGSCOLBFJQGHM-SCZZXKLOSA-N",
"input": "Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1",
"text": "Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1"
},
"output": {
"molmap": [
0.20272887204768203,
0.03078525753242058,
0.030774597488276833,
0.030660296674844073,
0.030853348303468652,
0.021368069342995705,
0.02617726026275158,
0.027726957101638614,
0.9116391179496534,
...
Model fetch and makes prediction successfully eos6m4j_output.csv
Model fetch and makes prediction successfully eos6m4j_docker_pred.csv
perfect, so I think we can conclude this model is working! I am using it as part of our ZairaChem pipeline and it also seems to be just fine.
@HellenNamulinda and @samuelmaina
Can you paste here the packages installed in your eos6m4j env?
conda activate eos6m4j
conda list
This model is ready for testing. If you are assigned to this issue, please try it out using the CLI, Google Colab and DockerHub and let us know if it works!