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: Arineitwe Fred #1020

Closed arinetf3321 closed 3 months ago

arinetf3321 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

arinetf3321 commented 4 months ago

Installation commands in the guiding document need to be in chronological order to avoid the possibility of package failure. Like after installation and activation of insaura, the document states to activate ersilia yet before activation, it needs to be installed. Though it references to the commands to first install ersilia, the references are not clear for a new contributor to follow.

DhanshreeA commented 4 months ago

Hi @arinetf3321 can you follow the template and please update the issue title with your name instead of work in progress? :)

arinetf3321 commented 4 months ago

Thanks for the observation

arinetf3321 commented 3 months ago

WEEK 1 Tasks:

Task 1: Joining the communication channels The respective channels were joined over slack. I am able to communicate with the colleagues using the respective channels. Maintaining each channel for its respective roles. My credentials are clearly stated in slack and are aligned with github credentials. I have got familiar with the ersilia model hub repository structures.

Task 2: Opening issue in github I have opened an issue in github using issue template and have recorded a series of them.

Task 3: Install the Ersilia Model Hub Below are the steps that were followed to install Ersilia Model Hub on Linux; Installation of ubuntu 23.04. Pre-requisite 1: The gcc compiler was installed using sudo apt install build-essential and was a success. Pre-requisite 2: Python 3.7 and Conda were installed successfully. Pre-requisite 3: Git and GitHub CLI were installed successfully using the commands. github CLI installation command used was conda install gh -c conda-forge Pre-requisite 4: Git LFS for large file storage was installed. Installation command used was conda install git-lfs -c conda-forge and activated with git-lfs install. Authenticating installed github system with github using gh auth login. The installations were successful as per the attached image file. Conda, git CLI and LFS successful installation Pre-requisite 5: The Isaura data lake installation was performed using the steps below and it worked a. Clone the repository git clone https://github.com/ersilia-os/isaura.git cd isaura b. Activating isaura using conda activate isaura. This step was clearly done as per screen shot in attached file below. successful Isaura installation Pre-requisite 6: Docker installation. This was successfully done as per attached screen shot in the image below. success docker installation 2.2. Installation of Ersilia. Below steps were followed and it worked conda create -n ersilia python=3.7 clone from github git clone https://github.com/ersilia-os/ersilia.git cd ersilia pip install -e . ersilia environment was activated using: conda activate ersilia The attached screen shot in the file show successful cloning and activation of ersilia success cloning and installing ersilia Ersilia client was checked for its working using the commands and provided the required output ersilia CLI options ersilia --help check ersilia working ersilia's model catalog was accessed using the command below and it worked properly as per attached image in file ersilia catalog Accessing model catalogue in ersilia 2.3 Using the model through ersilia CLI Fetching the model and install it locally and serve it. It was successfully done using the commands below. The results are attached in the next screen shot file. ersilia -v fetch eos3b5e ersilia serve eos3b5e ersilia -v api run -i "CCCC" successful fetching, serve and run model from ersilia From the results of running the model, the value of the molecular weight (mw) helps to determine the relationship between reactants and the products of compounds making up the model when reacting. Thus, tell us the amounts of the substances involved in the reaction. With high value of molecular weight, means small amounts of substances are involved in the reaction. Where as low molecular weight meas large amounts of substances are involved in the reaction for a know constant mass of the substances involved in the reaction. In the scenario of this specific model that was tested, the value of molecular weight lies between high and low, means the amount of the substances involved in the reaction were in optimal range. Task 4: Testing Ersilia with Docker The steps done were pull the model using: docker pull ersiliaos/eos4wt0:latest serve the pulled model with: ersilia serve eos4wt0 Run the served model with: ersilia -v api run -i "CCCC" This was successfully done as in screen shot below. Testing ersilia with docker Task 5: Motivation statement It is recorded in the next comment.

arinetf3321 commented 3 months ago

Motivation Statement Dear Outreachy, I am writing to express my deep-seated passion and unwavering commitment to contribute my skills and expertise to the Ersilia Model Hub Project titled Improvement of the Ersilia Model Hub, a FOSS platform of AI/ML models for biomedical research. Furthermore, I have great desire to learn from the mentioned project so that I can enhance skills and expertise. My skills and expertise are in python programming, AI/ML development and integration, Java programming, node.js, JavaScript, typescript, react, android programming tailored by contribution to open source communities and high level of advanced research. My aim is to make significant contribution to projects that are advanced and require high level skills of which Ersilia Model Hub is the project of the kind. Based on my skills and aim, Ersilia Model Hub Project, like any ambitious project, offers an opportunity to explore, create, and bring new ideas to life. I firmly believe that it is in these endeavors that I find the true essence of human potential. My motivation for working on Ersilia Model Hub Project is rooted in the principles like, Enhancing connections just as the threads of Ersilia Model Hub are woven together to create a complex and vibrant system, I am eager to collaborate with a diverse team of individuals, each bringing their unique talents to build a harmonious AI system. Enriching Innovation where Ersilia Model Hub encourages innovation, and I see it as a canvas for fresh ideas, where I can contribute my knowledge and creativity to make this project an exemplar of Artificial Intelligence / Machine Learning (AI/ML) model in our ever-evolving world of infectious and neglected diseases. Advancing Endurance much like the intricate web of threads that compose Ersilia Model Hub, I am committed to persevering through challenges and setbacks. I see each obstacle as an opportunity to learn and grow, ultimately leading to a more refined and resilient project. Maximizing Inspiration just as I aspire to inspire not only myself but also others by my unwavering dedication to Ersilia Model Hub. I believe that by setting an example of commitment and determination, I can encourage others to embark on similar journeys of exploration and creation. I am excited by the vision of Ersilia Model Hub, and I am ready to invest my time, energy, and expertise to help bring this project to fruition. The prospect of contributing to a project that embodies the beauty of infectious and neglected diseases is not only motivating but also a source of great personal fulfillment. I am really holding enough energy to have the idea in mind about QSAR Model for predicting drug absorption under hydrogen bonding and molecular weight parameters, turned into a reality. Thank you for considering my motivation statement to work on Ersilia Model Hub Project entitled Improvement of the Ersilia Model Hub, a FOSS platform of AI/ML models for biomedical research. I am eager to be a part of the team that will make this vision a reality and look forward to discussing how I can contribute further.

Sincerely, Arineitwe Fred.

arinetf3321 commented 3 months ago

Installing a model in ersilia running on ubuntu, it instantly closes, terminal and browsers also closes instantly. From analysis, it was found that the installation takes up much system RAM. So, If memory is exhaustively used up by the processes, to the extent which can possibly threaten the stability of the system, then the OOM killer comes into the picture.The OOM Killer then selects the best process(es) to kill. Processes to kill can be got from $cat /proc/10292/oom_score. The highest scoring processes will be killed. Was resolved by fine tuning the OOM policy by adjusting the oom_score of the installing process.

arinetf3321 commented 3 months ago

Security challenges that were limiting traffic flow in and out from jupyter notebook server into the docker container. This was when integrating jupyter notebook server with docker container. This was resolved by revising docker network configuration and enabled traffic flow all through from jupyter notebook server.

arinetf3321 commented 3 months ago

Contribution for week2 tasks 1.Selecting models from the list suggested in GitBook was done. Model selected are eos74bo and eos2at5. 2.Downloaded and served the model via the Ersilia Model Hub and they worked. Image for successful fetching is as below. successful model-fetch 3.Opened a repository on GitHub user. Repository link is: https://github.com/arinetf3321/model-validation-example.
Installation of jupyter notebook in docker Found jupyter images using the command: $docker search jupyter Downloading the jupyter image using the command: $docker pull jupyter/datascience-noteb Checking the jupyter Image using the command: $ sudo docker images Running the jupyter image using the command: $ docker run -p 8888:8888 jupyter/datascience-notebook The above commands were a success. Jupyter notebook was started with the command:j $ jupyter notebook Jupyter notebook lab was also started to access CLI using the command: $ jupyter lab All the steps were a success

  1. Model prediction Pre-process of model prediction in progress
DhanshreeA commented 3 months ago

@arinetf3321 could you please adhere to the guidelines mentioned in Ersilia gitbook as to how to go about structuring the project? I cannot unfortunately review your work in its current state.

arinetf3321 commented 3 months ago

Hullo @DhanshreeA let me realign according to the guidelines.

arinetf3321 commented 3 months ago

Challenge when uploading image files to the contributions. The raw link has the address to the repository https://github.com/ersilia-os/ersilia/assets/. Yet I dont have rights to upload files to the addressed repository.

Ajoke23 commented 3 months ago

Challenge when uploading image files to the contributions. The raw link has the address to the repository https://github.com/ersilia-os/ersilia/assets/. Yet I dont have rights to upload files to the addressed repository.

Why do you want to upload file to ersilia repository?. Based on the task we are working on, we are to create our own repository and upload necessary figures, data and notebook file. Do you have your own repository opened?

GemmaTuron commented 3 months ago

Hi @arinetf3321

Please let us know if you are still working on the application - we will revise your repository once it has been updated. Thanks!

DhanshreeA commented 3 months ago

Closing issue as no response from @arinetf3321

arinetf3321 commented 3 months ago

Exporting the outcome of the model prediction to github repository as csv file not maintaining its format. Some fields get lost after exportation to github repository.