ersilia-os / ersilia

The Ersilia Model Hub, a repository of AI/ML models for infectious and neglected disease research.
https://ersilia.io
GNU General Public License v3.0
189 stars 123 forks source link

✍️ Contribution period: Tsion Zeleke #1007

Closed Tsion-Zeleke closed 3 months ago

Tsion-Zeleke commented 4 months ago

Week 1 - Get to know the community

Week 2 - Get Familiar with Machine Learning for Chemistry

Week 3 - Validate a Model in the Wild

Week 4 - Prepare your final application

Tsion-Zeleke commented 4 months ago

I installed all the pre-requisite

(base) tsion@LAPTOP-MRB3DIHJ:~$ gcc --version
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
(base) tsion@LAPTOP-MRB3DIHJ:~$ git --version
git version 2.34.1
(base) tsion@LAPTOP-MRB3DIHJ:~$ conda list
# packages in environment at /home/tsion/miniconda3:

I installed and activated git-lfs

(base) tsion@LAPTOP-MRB3DIHJ:~$ git-lfs install
Git LFS initialized.

I create ersilia env with python version 3.7 using conda create -n ersilia python=3.7 and activated it using conda activate ersilia.

(base) tsion@LAPTOP-MRB3DIHJ:~$ conda activate ersilia
(ersilia) tsion@LAPTOP-MRB3DIHJ:~$

I keep getting the below error when trying to install isaura using python -m pip install isaura==0.1

ERROR: Could not find a version that satisfies the requirement isaura==0.1 (from versions: none)
ERROR: No matching distribution found for isaura==0.1

based on messages on slack I tried to install Isaura after installing Ersilia and the installation was sucessful

(ersilia) tsion@LAPTOP-MRB3DIHJ:~/ersilia$ python -m pip install isaura==0.1
  ...
Successfully installed h5py-3.7.0 isaura-0.1

I successfully installed Docker

(base) tsion@LAPTOP-MRB3DIHJ:~/ersilia$ service docker status
 * Docker is running
(base) tsion@LAPTOP-MRB3DIHJ:~/ersilia$
Tsion-Zeleke commented 4 months ago

I installed Ersilia and tested the model. The model run successfully with the below output

(ersilia) tsion@LAPTOP-MRB3DIHJ:~/ersilia$ ersilia -v api run -i "CCCC"
...
23:13:49 | DEBUG    | Rearranging and returning
23:13:49 | DEBUG    | Done with unique posting
{
    "input": {
        "key": "IJDNQMDRQITEOD-UHFFFAOYSA-N",
        "input": "CCCC",
        "text": "CCCC"
    },
    "output": {
        "mw": 58.123999999999995
    }
}
(ersilia) tsion@LAPTOP-MRB3DIHJ:~/ersilia$

I tested a second model using docker. The model run successfully with the below output

🚀 Serving model eos4wt0: morgan-fps
...
(ersilia) tsion@LAPTOP-MRB3DIHJ:~$ ersilia -v api run -i "CCCC"
...
{
    "input": {
        "key": "IJDNQMDRQITEOD-UHFFFAOYSA-N",
        "input": "CCCC",
        "text": "CCCC"
    },
    "output": {
        "outcome": [
            0.0,
            0.0,
            0.0,
            0.0,
            0.0,
            0.0,
            0.0,
            0.0,
Tsion-Zeleke commented 4 months ago

Motivation Letter

Self Introduction

I'd like to introduce myself as a person who is enthusiastic about automation and its impacts. In addition to studying computer science, I completed a 1 year intensive software engineering program with a focus on backend development at ALX. Over the past few years, I have worked in various sectors, including full-stack development and data analysis, utilizing my research and analytical skills to improve smallholder farmers' lives.

How I was Introduced to Machine Learning

I was first introduced to ML when working on a project on developing a REST API for a Y-Maze test. It was based on a pretrained model aiming to automate laboratory researchers' tasks. The project initially seemed intimidating, but with intensive research, I learned a lot and am grateful for the exposure.

Ersilia 

It was fascinating to see that Ersilia has already begun the path of utilizing currently released technologies to help the world. I think that technology has the potential to change people's lives in different sectors, but that potential is not fully utilized. There is yet to be discovered. Research centers and labs are not as fully automated as they could be. It was quite exciting when I ran the previous (ersila week 1) task with minimal commands and setups. I was able to run a test, which might have taken a significant amount of time, energy, and skill. Ersilia, in my opinion, is achieving what most software engineers and I hope to achieve, which is using various technologies to improve the world and serve as an inspiration for future innovations. I believe we are in the perfect time where initiatives and ideas can be easily brought to light, but many people still lack knowledge and tools. Growing open-source projects like Ersilia can assist individuals learn and contribute to the community.

Conclusion

It would be a great pleasure to join a nonprofit organization that aims to assist experts in discovering new drugs for treating infectious and neglected diseases using the latest technologies, making it convenient and time-saving. My long-term goal is to work on a project that improves people's lives. I have the vision to enhance my country and the world by coming up with new solutions to various problems. I would love to be a part of the team so that I can give back to the community. I'm eager to contribute to and learn from Ersilia!

Best, Tsion Zeleke

Tsion-Zeleke commented 4 months ago

Week 2

I selected Esilia's model eos30gr

Tsion-Zeleke commented 4 months ago
Tsion-Zeleke commented 4 months ago

@DhanshreeA I keep getting null as output despite trying all the above method.

GemmaTuron commented 3 months ago

Hi @Tsion-Zeleke Sorry to hear you are still facing trouble. I cannot comment on the log as I need you to run and save them with the -v command when fetching the model, please could you run in your CLI:

ersilia -v fetch eos30gr > out.log 2>&1

And, in paralel: open a codespace from Ersilia's main repository (Ersilia is automatically installed there) and try to do the fecthing in CodeSpaces? Each github user has free Codespace time, so that should be fine for you to try. Remember to close the codespace once finished.

Hope this is helpful

Tsion-Zeleke commented 3 months ago

@GemmaTuron thank you for the comments!! I tried to run codespace from Ersilia main repo. but out put is still "null"

GemmaTuron commented 3 months ago

Does it happen with any other model on Ersilia? Did you run eos3b5e first to check the ersilia installation?

GemmaTuron commented 3 months ago

Please make sure you have ersilia properly installed, using a simple model as test (eos3b5e) as the model works fine for me simply following the standard Ersilia commands:

(ersilia) gturon@pujarnol:~$ ersilia run -i "CCCCC"
{
    "input": {
        "key": "OFBQJSOFQDEBGM-UHFFFAOYSA-N",
        "input": "CCCCC",
        "text": "CCCCC"
    },
    "output": {
        "outcome": [
            0.4752475247524752
        ]
    }
}
Tsion-Zeleke commented 3 months ago

@GemmaTuron Yes the other models work perfectly fine. Here is the output for the model eos3b5e and eos30gr that i just run

👉 To run model:

💁 Information:

👉 To run model:

💁 Information:

Tsion-Zeleke commented 3 months ago

@GemmaTuron this and this slack conversation was mentioning that the model works fine for the ones who fetched earlier but other who fetched it later were having null output issue. could it be related to new commits made to the model repo

Or is there a way I could fetch the model rolling back to changes made to the repo a week ago

GemmaTuron commented 3 months ago

Hi @Tsion-Zeleke

The models are being regularly updated for maintenance. I'd suggest making sure you have the latest ersilia code pulled from the repository, and then the models should work fine

Tsion-Zeleke commented 3 months ago

@GemmaTuron thank you so much!!! I tried running the latest model as suggested using ersilia -v fetch eos30gr --from_github and it worked

(ersilia) root@codespaces-ea4b15:/workspaces/ersilia# ersilia run -i "CCCCC"
{
    "input": {
        "key": "OFBQJSOFQDEBGM-UHFFFAOYSA-N",
        "input": "CCCCC",
        "text": "CCCCC"
    },
    "output": {
        "outcome": [
            0.4752475247524752
        ]
    }
}
DhanshreeA commented 3 months ago

Hi @Tsion-Zeleke you can submit the final application.

Tsion-Zeleke commented 3 months ago

@DhanshreeA I encountered multiple issues when running the model and tried different methods to debug I've included the details of issues and debugging I performed here. I will process and submit the final application as your suggestion thanks

Tsion-Zeleke commented 3 months ago

Task 1 can be found here

Tsion-Zeleke commented 3 months ago

Task 2 can you found [here]()

Tsion-Zeleke commented 3 months ago

Task 3 can be found here

Tsion-Zeleke commented 3 months ago

@DhanshreeA I have submitted my final application to Outreachy. I thoroughly enjoyed working with the Ersilia Hub and am grateful I chose eos30gr, as it has taught me a lot about how models are implemented and the overall process. Thank you for the support; I have learned a lot over the past few weeks.