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 #880

Closed TsionZerihun closed 7 months ago

TsionZerihun commented 8 months ago

Week 1 - Get to know the community

Week 2 - Install and run an ML model

Week 3 - Propose new models

Week 4 - Prepare your final application

TsionZerihun commented 8 months ago

Task 1-3

I joined the slack channel and introduced myself :heavy_check_mark:

I opened this issues on git :heavy_check_mark:

Install pre-requisite & ersilia :heavy_check_mark:

@DESKTOP-92JJ0KD:~$ git version git version 2.17.1

DESKTOP-92JJ0KD:~$ git-lfs install Git LFS initialized. @DESKTOP-92JJ0KD:~$ git lfs --version git-lfs/3.4.0 (GitHub; linux amd64; go 1.20.6; git d06d6e9e)

(ersilia) @DESKTOP-92JJ0KD:~$ conda list isaura

Name Version Build Channel

isaura 0.1 pypi_0 pypi

@DESKTOP-92JJ0KD:~$ docker --version Docker version 20.10.21, build 20.10.21-0ubuntu1~18.04.3

- ### *Installed ersilia successfully  without error*
```console
@DESKTOP-92JJ0KD:~/ersilia$ ersilia --help
Usage: ersilia [OPTIONS] COMMAND [ARGS]...
---
  ...🦠 Welcome to Ersilia! 💊

@DESKTOP-92JJ0KD:~/ersilia$ ersilia catalog...
[
    {
        "Identifier": "eos1086"
    } ...
TsionZerihun commented 8 months ago

Test the simplest model eos3b5e :heavy_check_mark:

(ersilia) @DESKTOP-92JJ0KD:~$ ersilia serve eos3b5e 🚀 Serving model eos3b5e: molecular-weight URL: http://127.0.0.1:42699...

...💁 Information:

- ### *However, I faced an error when running prediction*

@DESKTOP-92JJ0KD:~$ ersilia -v run -i "CCC" > my.log 2>&1

Check attached error log file for more detail.
[model_eos3b5e_error.log](https://github.com/ersilia-os/ersilia/files/13115534/model_eos3b5e_error.log)

- ### *I tried removing isaura  based on this [discussion](https://github.com/ersilia-os/ersilia/issues/839)*

@DESKTOP-92JJ0KD:~$ python -m pip uninstall isaura Found existing installation: isaura 0.1 Uninstalling isaura-0.1: ... Successfully uninstalled isaura-0.1


- ### *I was able to successfully run prediction after uninstalling isaura and rerunning*

@DESKTOP-92JJ0KD:~$ ersilia -v api run -i "CCCC" { "input": { "key": "IJDNQMDRQITEOD-UHFFFAOYSA-N", "input": "CCCC", "text": "CCCC" }, "output": { "mw": 58.123999999999995 } }


Check attached prediction success log file for more detail.
[model_eos3b5e_sucess.log](https://github.com/ersilia-os/ersilia/files/13118376/model_eos3b5e_sucess.log)
TsionZerihun commented 8 months ago

Key takeaways from completing above tasks

- Lesson Learned

  • Isura: after facing issues running model when isura was install, I went on to see what this particular python package did. Its purpose is to cache previously calculated properties. (which is located under ersilia repository)

    I will make sure to reinstall isaura if caching is necessary when running future models.*
  • "CCCC": "IUPAC name for C-C-C-C is Hex-2-ene, and contains-only carbon chain"

    - Summary

  • The above task runs the model eos3b5e with the molecule we provide which is "CCCC" , and determines its molecular weight in g/mol.

TsionZerihun commented 8 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

TsionZerihun commented 8 months ago

Week 2

Select a model from the suggested list(Task 1) :heavy_check_mark:

TsionZerihun commented 8 months ago

Install the model in your system (Task 2):heavy_check_mark:

- ### *I faced an error when trying to create the environment based on the installation guide in the Repo*
    * I modified the command from the official Repo from `conda env create --prefix ./env -f environment.yml` to `conda env create --prefix ./env -f server/environment.yml`since they have moved the enviroment.yml file to the server directory 
```console
@DESKTOP-92JJ0KD:~/ncats-adme$ cd server
@DESKTOP-92JJ0KD:~/ncats-adme/server$ conda env create --prefix ./env -f environment.yml
Collecting package metadata (repodata.json): - Killed
TsionZerihun commented 8 months ago

Run predictions for the EML (Task 3) :heavy_check_mark:

Here is the csv file of the prediction. ADME_Predictions_2023-10-27-164557.csv

ADME_Predictions_Stable_Unstable.csv.xlsx

TsionZerihun commented 8 months ago

Compare results with the Ersilia Model Hub implementation! (Tak 4) :heavy_check_mark:

TsionZerihun commented 8 months ago

Compare results with the Ersilia Model Hub implementation! (Cont'd) :heavy_check_mark:

I have attached comparison file below ADME_Ersilia_Comparsion.xlsx

TsionZerihun commented 8 months ago

Key takeaways from completing above tasks

- Lesson Learned

  • in vitro: "vitro is Latin for “in glass.” medical procedures/tests perform outside of a living organism. such as a test tube or petri dish"

  • in vivo: "research done on a living organism"

    - Summary

  • The above task runs the model Rat Liver Microsomal Stability(RLM) and (eos5505)molecule and compares their output.

TsionZerihun commented 8 months ago

Install and run Docker! :heavy_check_mark:

Hello from Docker! This message shows that your installation appears to be working correctly.


For more examples and ideas, visit: https://docs.docker.com/get-started/

@DESKTOP-92JJ0KD:/home/robel#

TsionZerihun commented 8 months ago

Optional Task: (WIP)

Planned to do

- Update the code to take arguments and run, instead of serve using flask

- Update the code to take arguments for the output's location.

TsionZerihun commented 8 months ago

Step I followed to select Model suggestion

TsionZerihun commented 8 months ago

Suggest a new model and document it: First Model :heavy_check_mark:

TsionZerihun commented 8 months ago

Suggest a new model and document it: Second Model :heavy_check_mark:

TsionZerihun commented 8 months ago

Suggest a new model and document it: Third Model :heavy_check_mark:

TsionZerihun commented 8 months ago

Suggest a new model and document it: Additional Models :heavy_check_mark:

GemmaTuron commented 7 months ago

Hello,

Thanks for your work during the Outreachy contribution period, we hope you enjoyed it! We will now close this issue while we work on the selection of interns. Thanks again!