Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Outreachy Documentation Project: Ifeoluwa Favour Ojumoro #97

Closed
19 of 38 tasks
ifeoluwafavour opened this issue Apr 3, 2022 · 46 comments
Closed
19 of 38 tasks

Outreachy Documentation Project: Ifeoluwa Favour Ojumoro #97

ifeoluwafavour opened this issue Apr 3, 2022 · 46 comments

Comments

@ifeoluwafavour
Copy link
Contributor

ifeoluwafavour commented Apr 3, 2022

Applicant: @ifeoluwafavour

Welcome to the Ersilia Open Source Initiative. This issue will serve to track all your contributions for the project “Improve the documentation and outreach material of the Ersilia Model Hub”.

Please tick the tasks as you complete them. To make a final application it is not required to have completed all tasks. Only the Initial Steps and Community sections are REQUIRED. The tasks are not ordered from more to less important, they are simply related to different skills. Start where you feel most comfortable. This project can be adapted to the applicants interests, please focus on the type of tasks that you prefer / have better skills / would like to work on as an intern.


Initial steps:

  • Record your application for the project in the outreachy website referencing this issue. Please make sure to select the right project on the website.
  • Join the Slack channel to follow public communications
  • Comment under this issue explaining why are you interested in this project

GitHub documentation:

  • Create a README file with the name <README_yourname.md> under the /documentation folder
  • Link the #PR in a comment under this issue
  • Incorporate feedback from the mentor

Writing dissemination material

  • Read the Strategic plan 2021-2023 for Ersilia and create a 1-page blogpost with the main points
  • Comment under this issue with a link to the blogpost (a google docs for example)
  • Incorporate feedback from the mentor
  • Choose your own topic related to Ersilia (AI/ML for biomedical research, neglected diseases, drug discovery…) and write a 1-page blogpost to communicate to a non-expert audience
  • Comment under this issue with a link to the blogpost (a google docs for example)
  • Incorporate feedback from the mentor
  • Create a template for a twitter post to release every time a new model is incorporated in the Hub (twitter: 280 characters, you can suggest a main post + thread with extra information) and add it as a comment under this issue
  • Create a template short Newsletter (1 paragraph) to send every month to our community (funders, users, contributors). It should mention metrics (models in the hub, number of users, funding…), thank you etc

Technical skills (required for the tutorial only)

  • Install the Ersilia Model Hub
  • Test one model
  • Add a screenshot under this issue showing the model running in your computer
  • Write a docstring for the ErsiliaModel class. Use the Google Python Style guide. Paste the docstring as a comment below (do not use a PR).

Graphic material

  • Read the Ersilia Brand Guidelines
  • Read “Why Ersilia?”
  • Create one image / slide to explain Ersilia’s mission and vision
  • Link to the image/slide as a comment under this issue
  • Incorporate feedback from the mentor
  • Create two slides / short video showing how to use the Ersilia Model Hub and add them under the /tutorial folder
  • Link the #PR in this issue
  • Incorporate feedback from the mentor

Scientific content

  • Check the models available in the Hub
  • Select one model from the list and write a technical card (what is the model for, what input, which data was used to create it, what kind of ML algorithm uses…) for it
  • Add your card as a comment to this issue
  • Search the scientific literature and suggest 3 new models (comment in this issue) that would be relevant to incorporate in the Hub.

Community

  • Look up two other projects and comment on their issues with feedback on one of their tasks
  • If you have feedback from your peers, answer it in this issue.

Other

If you have interest in working on related topics, or have new suggestions, please do the following

  • Add a comment in this issue with your new idea, tagging the mentor
  • Get feedback from the mentor and act accordingly
  • Link in the comments any other PR you have contributed to.

Final application

  • I have answered all comments from mentors and contributors
  • All PR or issues assigned to me are complete
  • I have submitted my final application to the project
@ifeoluwafavour
Copy link
Contributor Author

ifeoluwafavour commented Apr 3, 2022

Why I am interested in Ersilia
Ersilia's ultimate goal is to effectively lower the barrier to drug discovery, encouraging academic groups and enterprises to pursue the development of new medicines and this excites me.

I'm an Industrial Chemistry undergraduate and I attended a public lecture in my university here in Nigeria. In that event, lecturers and research scientists complained about the limitations they faced when it came to making substantial progress in their research work which would help them solve pressing issues in the healthcare system.

I have also listened to students who have ideas that can greatly assist in solving these problems but these limitations hold the students back.

However, if they are presented with a tool like Ersilia that makes pre-trained machine learning models available to assist in drug discovery and development of new meficines, more than half of these scientists' problems would be solved.

This is why I'm interested in Ersilia. I would love to be part of the initiative that will take research in the healthcare system in low and middle income countries especially, to a new level of making discoveries with ease.

@ifeoluwafavour ifeoluwafavour changed the title Outreachy Documentation Project: <Ifeoluwa Favour Ojumoro> Outreachy Documentation Project: Ifeoluwa Favour Ojumoro Apr 3, 2022
@ifeoluwafavour
Copy link
Contributor Author

ifeoluwafavour commented Apr 3, 2022

Initial contributions:

  1. I corrected a typo at Line 47 in the README file
    Update README.md #18 (comment)

  2. I created an issue template for third-party model incorporation to Ersilia's Model to be suggested by contributors.
    For Third-party Model incorporation into the Hub #23

  3. I created an issue to include a Windows Installation guide on Ersilia's Model Hub page.
    Installation steps of Ersilia Model for Windows operating system  #26

  4. I created a pull request where I listed the steps to install Ersilia on Windows operating system through Windows Subsystem for Linux or through a Virtual Machine.
    I also described the problems I faced while trying to install Ersilia on my system in the pull request description.
    This pull request solves the issue I raised on including a Windows Installation guide on Ersilia's Model Hub page.
    Created file for Windows installation of Ersilia #67

@GemmaTuron
Copy link
Member

Hi @ifeoluwafavour ,

Great work so far. I will incorporate the template for model request once the discussion is closed. For the Windows installation, I am only missing a couple of sentences explaining a bit what a virtual machine is. For example, users might get confused that they have to install python or conda again even if they have it in their computers already. Can you add one line to explain that a virtual machine is like a separate computer?

Next you can continue working on any of the tasks listed above!

@ifeoluwafavour
Copy link
Contributor Author

Hi @ifeoluwafavour ,

Great work so far. I will incorporate the template for model request once the discussion is closed. For the Windows installation, I am only missing a couple of sentences explaining a bit what a virtual machine is. For example, users might get confused that they have to install python or conda again even if they have it in their computers already. Can you add one line to explain that a virtual machine is like a separate computer?

Next you can continue working on any of the tasks listed above!

Okay. Thank you very much for your feedback. I will go ahead to start making changes now and also start working on a task.

@ifeoluwafavour
Copy link
Contributor Author

Hi @ifeoluwafavour ,

Great work so far. I will incorporate the template for model request once the discussion is closed. For the Windows installation, I am only missing a couple of sentences explaining a bit what a virtual machine is. For example, users might get confused that they have to install python or conda again even if they have it in their computers already. Can you add one line to explain that a virtual machine is like a separate computer?

Next you can continue working on any of the tasks listed above!

I have created a pull request where I updated the installation steps file explaining why users still need to download Conda, Python and Git for Linux.

#116

@GemmaTuron
Copy link
Member

GemmaTuron commented Apr 5, 2022

Thanks @ifeoluwafavour I have merged your changes! I think the WSL installation is much clearer now. I will let @victorabba finish his work, then we can work to add your work to the official installation guide, I will let you know next steps in this regard. Meanwhile, please check the list of tasks and select one that you find interesting to continue the contribution!

@ifeoluwafavour
Copy link
Contributor Author

Thank you very much @GemmaTuron
I'm currently working on one of the tasks.

@ifeoluwafavour
Copy link
Contributor Author

Adobe_Post_20220405_1016170.03516428464077359-2.png

@ifeoluwafavour
Copy link
Contributor Author

ifeoluwafavour commented Apr 6, 2022

Docstring for the ErsiliaModel class

class ErsiliaModel(model_identifier):
    " " "The ErsiliaModel class fetches a model from the Ersilia Model hub.

    Attributes:
        model_identifier(str): Provide model identifier in eos0abc format.
    " " "

    def serve():
        ' ' 'The serve function provides the URL, Process ID and scl of model session.' ' '

    def predict(molecule_name):
        " " "
          Arg:
             molecule_name(str): Provide molecule name in SMILE format or in a .csv file
         Returns:
             predictions: Outcomes could be Antibiotic activity, Target, Vector, Physiochemical property, ADME, CYP450, Toxicity.
        " " "

    def close():
        ' ' 'The close function ends a model session.' ' '

@GemmaTuron
Copy link
Member

Hi @ifeoluwafavour !

I am taggin @miquelduranfrigola for feedback on the docstrings, meanwhile continue working on some other task !

@ifeoluwafavour
Copy link
Contributor Author

Hi @ifeoluwafavour !

I am taggin @miquelduranfrigola for feedback on the docstrings, meanwhile continue working on some other task !

Okay. Thank you for your feedback.
I will move on to another task

@ifeoluwafavour
Copy link
Contributor Author

ifeoluwafavour commented Apr 7, 2022

I have written a summary of EOSI's strategic plan in the form of a blog post.

Here's the link to the document:
https://docs.google.com/document/d/18sPRsVA7GmRMQdR5DELKpcy6Jn1pmqvfF_7_s2ZNZeo/edit?usp=drivesdk

@ifeoluwafavour
Copy link
Contributor Author

Hi @GemmaTuron
I didn't see the need to rewrite everything. I just highlighted the main points from the main strategic plan page.

@dchidindu5
Copy link
Contributor

Hey @ifeoluwafavour you need to grant an access to 3rd party users to your blog post.
Here is what it says
ife1

@ifeoluwafavour
Copy link
Contributor Author

ifeoluwafavour commented Apr 8, 2022

Hey @ifeoluwafavour you need to grant an access to 3rd party users to your blog post.
Here is what it says
ife1

Oh I thought I was to give access to the mentor only.

I'll change it to be publicly accessible now. Is this okay with you @GemmaTuron ?

@dchidindu5
Copy link
Contributor

dchidindu5 commented Apr 8, 2022 via email

@ifeoluwafavour
Copy link
Contributor Author

It's publicly accessible now @dchidindu5

@ifeoluwafavour
Copy link
Contributor Author

ifeoluwafavour commented Apr 8, 2022

Twitter Template for The Release of New Models

We have a new model! 💃🕺

Ever wondered how a molecule moves? 🤔

With <model_name> you can see how the molecule of interest moves and also, with what it moves! 😃

Learn more:
*picture/video of the model being used


The code is of course open sourced:

Source paper:

Work by: <contributors' or developers' names>


Ersilia Open Source Initiative welcomes model contributions.

You can check out our README in our repository for more information to get started as a contributor.

@victorabba
Copy link
Contributor

Hey @ifeoluwafavour you need to grant an access to 3rd party users to your blog post.
Here is what it says
ife1

Oh I thought I was to give access to the mentor only.

I'll change it to be publicly accessible now. Is this okay with you @GemmaTuron ?

Hello @ifeoluwafavour that's a nice write-up, but don't you think you can make it more catchy by adding a suitable title?

@GemmaTuron
Copy link
Member

Hi @ifeoluwafavour,

Thanks for making the blogpost public. You can choose to make it readable only to the mentor, but of course we encourage to publicly share the information. I have added a few comments in it, specially I think you should focus in summarizing the lists into one or two sentences. You do not need to have all the information, is is a summary, but it makes it nicer for readers if blogposts do not have too many bullet points.

thanks for the comments @victorabba and @dchidindu5. Giving it a title as Victor suggests would be nice as well!
Hope you like my comments and if you need further clarification tag me!

@GemmaTuron
Copy link
Member

Twitter Template for The Release of New Models

Introducing <model_name>, A model that predicts activity in molecules with 70% accuracy. (Brief information about the model)

Learn more: *picture/video of the model being used 1/3

The code is of course open sourced:

Source paper: online article or publication that inspired the development of the model.

Work by: <contributors' or developers' names> 2/3

Ersilia Open Source Initiative welcomes model contributions.

You can check out our README in our repository for more information to get started as a contributor.

3/3

Thanks for starting off in this task! Good first ideas, as a general suggestion, think that people scrolls through twitter and only half reads things, so it has to be very catchy. let's try to use a very catchy title, Introducing XXX model might not catch the attention of people scrolling through twitter. Something more like "We have a new model...."

I would not mention accuracy or other numbers in a twitter post, many people may not understand to what are we referring to, or videos as they wont have time to check them.

Refering to authors etc is good!

@ifeoluwafavour
Copy link
Contributor Author

Hi @ifeoluwafavour,

Thanks for making the blogpost public. You can choose to make it readable only to the mentor, but of course we encourage to publicly share the information. I have added a few comments in it, specially I think you should focus in summarizing the lists into one or two sentences. You do not need to have all the information, is is a summary, but it makes it nicer for readers if blogposts do not have too many bullet points.

thanks for the comments @victorabba and @dchidindu5. Giving it a title as Victor suggests would be nice as well!
Hope you like my comments and if you need further clarification tag me!

Yes I've seen your comments and I like them too 😄 I will make the changes as soon as possible. I will also go ahead to add the title and make the blogpost more engaging.

@ifeoluwafavour
Copy link
Contributor Author

Twitter Template for The Release of New Models

Introducing <model_name>, A model that predicts activity in molecules with 70% accuracy. (Brief information about the model)

Learn more: *picture/video of the model being used 1/3

The code is of course open sourced:

Source paper: online article or publication that inspired the development of the model.

Work by: <contributors' or developers' names> 2/3

Ersilia Open Source Initiative welcomes model contributions.

You can check out our README in our repository for more information to get started as a contributor.

3/3

Thanks for starting off in this task! Good first ideas, as a general suggestion, think that people scrolls through twitter and only half reads things, so it has to be very catchy. let's try to use a very catchy title, Introducing XXX model might not catch the attention of people scrolling through twitter. Something more like "We have a new model...."

I would not mention accuracy or other numbers in a twitter post, many people may not understand to what are we referring to, or videos as they wont have time to check them.

Refering to authors etc is good!

Alright! Noted.
I'll make everything more catchy and make the other changes.
Thank you for your feedback.

@loweyvana
Copy link
Contributor

Hi @ifeoluwafavour . Thanks for making your work readable. Great job!

@loweyvana
Copy link
Contributor

Hi @ifeoluwafavour, I saw you ticked the community task. Please could you help me with some clarifications? When they say we should look at other projects, do they mean other Erisilia's projects on outreachy ? or other ersilia's projects in general on their webpage?

@ifeoluwafavour
Copy link
Contributor Author

Hi @ifeoluwafavour, I saw you ticked the community task. Please could you help me with some clarifications? When they say we should look at other projects, do they mean other Erisilia's projects on outreachy ? or other ersilia's projects in general on their webpage?

It means you have to check other contributors' projects. Just as you've commented on mine

@loweyvana
Copy link
Contributor

Oh ok! Great !!!
I was thinking far😅.

Thank youuuu. Let me catch some sleep now.

@Kcfreshly
Copy link
Contributor

@ifeoluwafavour great work.

@ifeoluwafavour
Copy link
Contributor Author

Oh ok! Great !!!
I was thinking far😅.

Thank youuuu. Let me catch some sleep now.

😂😂 okay.

@ifeoluwafavour
Copy link
Contributor Author

@ifeoluwafavour great work.

Thank you 😁

@ifeoluwafavour
Copy link
Contributor Author

Twitter Template for The Release of New Models

We have a new model! 💃🕺

Ever wondered how a molecule moves? 🤔

With <model_name> you can see how the molecule of interest moves and also, with what it moves! 😃

Learn more:
*picture/video of the model being used


The code is of course open sourced:

Source paper:

Work by: <contributors' or developers' names>


Ersilia Open Source Initiative welcomes model contributions.

You can check out our README in our repository for more information to get started as a contributor.

Hi @GemmaTuron, I have edited the Twitter post template

@ifeoluwafavour
Copy link
Contributor Author

I have written a summary of EOSI's strategic plan in the form of a blog post.

Here's the link to the document:
https://docs.google.com/document/d/18sPRsVA7GmRMQdR5DELKpcy6Jn1pmqvfF_7_s2ZNZeo/edit?usp=drivesdk

@GemmaTuron I also incorporated the corrections you made in the blog post

@Jaya3112
Copy link
Contributor

Great work @ifeoluwafavour

@loweyvana
Copy link
Contributor

Twitter Template for The Release of New Models
We have a new model! 💃🕺
Ever wondered how a molecule moves? 🤔
With <model_name> you can see how the molecule of interest moves and also, with what it moves! 😃
Learn more:
*picture/video of the model being used

The code is of course open sourced:
Source paper:
Work by: <contributors' or developers' names>

Ersilia Open Source Initiative welcomes model contributions.
You can check out our README in our repository for more information to get started as a contributor.

Hi @GemmaTuron, I have edited the Twitter post template

Great work @ifeoluwafavour , absolutely love it.

@ifeoluwafavour
Copy link
Contributor Author

Thank you so much @Jaya3112 @loweyvana

@ifeoluwafavour
Copy link
Contributor Author

I wrote a blog post on artificial intelligence in biomedical research. Here's the link.
https://docs.google.com/document/d/13jQqMVx85TuVAiE00flmGymiC3_pUdJSF_WMdF3fu08/edit?usp=drivesdk

@GemmaTuron
Copy link
Member

Hi @ifeoluwafavour

Thanks for adding our comments and being so active in the community in both GitHub and Slack, your work is really appreciated.
The AI post is well thought, good that you introduce the risk of bias in AI, is a topic we are really interested in.
The installation guidelines for Ersilia in Windows are great, we will incorporate them in our guide. I will work with @victorabba to make a section on virtual machines.

I think you are ready to work towards your final application! Perhaps one last task would be to choose a model and suggest a technical card for it, if you want to work further on the project

@ifeoluwafavour
Copy link
Contributor Author

Okay! 😃

Thank you very much for your kind words @GemmaTuron

I will start working on the technical card.

@ifeoluwafavour
Copy link
Contributor Author

ifeoluwafavour commented Apr 13, 2022

MODEL TECHNICAL CARD

IDENTIFICATION 
Model ID: eos1vms
Model name: chembl-multitask-descriptor
Model description: the model predicts the main target of a small molecule based on ChEMBL data.

GENERAL INFORMATION 
ML algorithm used to train model: Naive Bayes (specifically the Multinomial Naive Bayes algorithm).
Data used to train model: a subset of CHEMBL_18 data containing pairs of ligand compounds and single-protein targets.
Input: compound
Output: target and vector

RESOURCES
Repository: https://github.com/ersilia-os/eos1vms
Source code: https://github.com/chembl/target_predictions
Publication: https://chembl.github.io/ligand-based-target-predictions-in/
License: Apache

@ifeoluwafavour
Copy link
Contributor Author

MODEL TECHNICAL CARD

IDENTIFICATION 
Model ID: eos1vms
Model name: chembl-multitask-descriptor
Model description: the model predicts the main target of a small molecule based on ChEMBL data.

GENERAL INFORMATION 
ML algorithm used to train model: Naive Bayes (specifically the Multinomial Naive Bayes algorithm).
Data used to train model: a subset of CHEMBL_18 data containing pairs of ligand compounds and single-protein targets.
Input: compound
Output: target and vector

RESOURCES
Repository: https://github.com/ersilia-os/eos1vms
Source code: https://github.com/chembl/target_predictions
Publication: https://chembl.github.io/ligand-based-target-predictions-in/
License: Apache

Hi @GemmaTuron

I have written the technical card for a model.

@Elizabeth-Joseph-Mawutin
Copy link
Contributor

MODEL TECHNICAL CARD

IDENTIFICATION  Model ID: eos1vms Model name: chembl-multitask-descriptor Model description: the model predicts the main target of a small molecule based on ChEMBL data.

GENERAL INFORMATION  ML algorithm used to train model: Naive Bayes (specifically the Multinomial Naive Bayes algorithm). Data used to train model: a subset of CHEMBL_18 data containing pairs of ligand compounds and single-protein targets. Input: compound Output: target and vector

RESOURCES Repository: https://github.com/ersilia-os/eos1vms Source code: https://github.com/chembl/target_predictions Publication: https://chembl.github.io/ligand-based-target-predictions-in/ License: Apache

Hello @ifeoluwafavour. Nice work

@ifeoluwafavour
Copy link
Contributor Author

MODEL TECHNICAL CARD

IDENTIFICATION  Model ID: eos1vms Model name: chembl-multitask-descriptor Model description: the model predicts the main target of a small molecule based on ChEMBL data.

GENERAL INFORMATION  ML algorithm used to train model: Naive Bayes (specifically the Multinomial Naive Bayes algorithm). Data used to train model: a subset of CHEMBL_18 data containing pairs of ligand compounds and single-protein targets. Input: compound Output: target and vector

RESOURCES Repository: https://github.com/ersilia-os/eos1vms Source code: https://github.com/chembl/target_predictions Publication: https://chembl.github.io/ligand-based-target-predictions-in/ License: Apache

Hello @ifeoluwafavour. Nice work

Thank you Elizabeth 😊

@julietugo
Copy link
Contributor

MODEL TECHNICAL CARD

IDENTIFICATION  Model ID: eos1vms Model name: chembl-multitask-descriptor Model description: the model predicts the main target of a small molecule based on ChEMBL data.

GENERAL INFORMATION  ML algorithm used to train model: Naive Bayes (specifically the Multinomial Naive Bayes algorithm). Data used to train model: a subset of CHEMBL_18 data containing pairs of ligand compounds and single-protein targets. Input: compound Output: target and vector

RESOURCES Repository: https://github.com/ersilia-os/eos1vms Source code: https://github.com/chembl/target_predictions Publication: https://chembl.github.io/ligand-based-target-predictions-in/ License: Apache

Great work @ifeoluwafavour

@ifeoluwafavour
Copy link
Contributor Author

MODEL TECHNICAL CARD

IDENTIFICATION  Model ID: eos1vms Model name: chembl-multitask-descriptor Model description: the model predicts the main target of a small molecule based on ChEMBL data.

GENERAL INFORMATION  ML algorithm used to train model: Naive Bayes (specifically the Multinomial Naive Bayes algorithm). Data used to train model: a subset of CHEMBL_18 data containing pairs of ligand compounds and single-protein targets. Input: compound Output: target and vector

RESOURCES Repository: https://github.com/ersilia-os/eos1vms Source code: https://github.com/chembl/target_predictions Publication: https://chembl.github.io/ligand-based-target-predictions-in/ License: Apache

Great work @ifeoluwafavour

Thank you @julietugo

@GemmaTuron
Copy link
Member

Hi @ifeoluwafavour
If only, the card is missing the number of molecules in the dataset (sometimes this is not available so don't worry). The rest is good, thanks!

@ifeoluwafavour
Copy link
Contributor Author

Okay
Thank you very much for everything @GemmaTuron
Should I close the issue now?

gitbook-com bot pushed a commit that referenced this issue Jul 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants