ersilia-os / ersilia Goto Github PK
View Code? Open in Web Editor NEWThe Ersilia Model Hub, a repository of AI/ML models for infectious and neglected disease research.
Home Page: https://ersilia.io
License: GNU General Public License v3.0
The Ersilia Model Hub, a repository of AI/ML models for infectious and neglected disease research.
Home Page: https://ersilia.io
License: GNU General Public License v3.0
The fetch
command downloads a model from a GitHub repository corresponding to the identifier of the model, for example, eos4e40. In verbose mode (ersilia -v fetch eos4e40
), the logging is displayed on the terminal. However, if verbose mode is not used, (ersilia fetch eos4e40
) the user does not have a sense of the progress in downloading and setting up the model on the local computer.
Add a progress bar or percentage to the fetch
command. Progress should ideally capture:
I noticed that there are no installation steps for Ersilia Model on Windows and the steps would be coming soon.
Please, I would like to work with the developers to know how to install Ersilia on Windows and help write the steps.
I have already downloaded Miniconda, activated the Ersilia environment and installed Ersilia. I just need to collaborate with the developers for it to properly work on my system.
Thank you.
Applicant: < @dchidindu5 >
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.
If you have interest in working on related topics, or have new suggestions, please do the following
Applicant:
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.
If you have interest in working on related topics, or have new suggestions, please do the following
Is your feature request related to a problem? Please describe.
As a contributor for quite sometime now, I can tell from my experience the initial experience can be stressful. On the other hand, a lot of new contributors are sometimes shy to open up about their issues and problems to the project maintainers, or discuss about in the public communication channels.
Describe the solution you'd like
In this situation, it will be great if we could introduce a readme file, specifically designed for the new contributors with all the relevant links or resources. This makes the process of contribution easy and smooth for new onboarding contributors and also encourages more future contributions.
Applicant: https://github.com/anamika-yadav99
Welcome to the Ersilia Open Source Initiative. This issue will serve to track all your contributions for the project “Improve the Ersilia Model Hub, a FOSS platform offering pre-trained AI/ML models for research”.
Please tick the tasks as you complete them. To make a final application it is not required to have completed all tasks. This project requires knowledge of the Python programming language. The tasks are not ordered from more to less important, they are simply related to different skills. Start where you feel most comfortable.
ersilia
library.ersilia catalog
command. Add a screenshot of the local catalog (ersilia catalog –local
)ersilia
as a Python library (find more information here). Ideally, use a Jupyter notebook.ersilia
Python library. The app can have an input and an output box, and perhaps a few models to select. Add a screenshot of the app as seen in your browser.If you have interest in working on related topics, or have new suggestions, please do the following
Ersilia accepts the incorporation of third-party models and would not mind suggestions.
Model title
Suggest a title for your model. For example, 'Antimicrobial activity prediction'
Model features
Describe the features of the model. For example, "The Antimicrobial activit prediction model predicts antimicrobial activity in a specimen."
Use Case
Give a brief tutorial of how the model is used. Screenshots and/or videos can be included.
Publication
Is there a link to a publication? (DOI, PMID, URL). If yes, include the link.
Code
Is code available? If so, please provide link to repository (GitHub, GitLab, BitBucket)
License
Please include a license for the model.
Currently, Ersilia can be pip-installed. We have a GitHub Action to update ersilia on PyPi every time we do a new release. However, pip installation does not ensure that extra requirements (such as git-lfs) are installed. Perhaps having ersilia as a conda package would be desirable as well.
Make ersilia conda-installable and trigger a GitHub Action every to update the ersilia conda repository on every new release of the package.
Ersilia models can be browsed on the web. Although we do not have a good interface now, this can be done through an Airtable base. There is no way to search/filter models using the CLI. As of now, the only thing that can be done is: ersilia catalog
, which simply prints all models on a table.
We would like to have a search function in the ersilia CLI. For example: ersilia catalog search --text "antimicrobial"
or ersilia catalog search --mode "pretrained"
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
What is your feature request ?, Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Hello,
Could you create an empty folder in the ersilia project with the name "tutorial" ?
This issue is great if you are a beginner who wants to test how the git fork, branch, and pull requests work. I recommend reading this tutorial first
Please note this issue will only be assigned to one applicant, ping me here if you want to contribute to this.
Applicant: Maxwell Kambona https://github.com/camus60
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.
If you have interest in working on related topics, or have new suggestions, please do the following
The Readme file contains a typo in the word acknowledgement
and there is a need to be fixed. cc: @GemmaTuron
@miquelduranfrigola @GemmaTuron I hope if there are more code problems that can tackles the contributors skills in python to improve
their skills .What do you think folks? we can do a discussion here
Applicant: Abdelrahman Nawar @Nawarrr
Welcome to the Ersilia Open Source Initiative. This issue will serve to track all your contributions for the project “Improve the Ersilia Model Hub, a FOSS platform offering pre-trained AI/ML models for research”.
Please tick the tasks as you complete them. To make a final application it is not required to have completed all tasks. This project requires knowledge of the Python programming language. The tasks are not ordered from more to less important, they are simply related to different skills. Start where you feel most comfortable.
ersilia
library.ersilia catalog
command. Add a screenshot of the local catalog (ersilia catalog –local
)ersilia
as a Python library (find more information here). Ideally, use a Jupyter notebook.ersilia
Python library. The app can have an input and an output box, and perhaps a few models to select. Add a screenshot of the app as seen in your browser.If you have interest in working on related topics, or have new suggestions, please do the following
A few months ago, we created a small repository named isaura to manage calculated data. Storing calculations is very relevant, especially for computationally intensive models that have not been optimized for production by original authors. Isaura works mainly on HDF5 files, and our idea is to store these files in the AWS Registry of Open Data (ROD), eventually.
The current logic behind Isaura is that a local
and a public
file exist. The public file is typically large, and is downloaded (optionally) at fetching time. The local file contains only calculations performed by the user (i.e. those that were not available in the public file). Users have the option to contribute their calculations to the public file. We are currently tackling this issue with data version control DVC.
We would like to open a discussion with the goal of identifying the best design of Isaura, and the best way to link it to the AWS ROD. Two urging questions we have are:
We suggest that we start the discussion here and then we open more specific issues to tackle each point.
Applicant: <@sayantani11>
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.
If you have interest in working on related topics, or have new suggestions, please do the following
Medicinal Literature
Models used
Training
After a lot of epochs, the model should predict the correct drug with a good accuracy
Discussion
Please provide your valuable feedback and hopefully we might end up discovering a novel drug.
Thank You
-Kumari Surya Remanan
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
Create one or two slides with a schema of how to use the Ersilia Model Hub and upload them in the folder /tutorials
Feel free to use any tools you want, we recommend checking carbon for snippets of code, and also reading our brand guidelines here.
You can start working on this project even if other applicants are working on it as well, feel free to make your own design.
To answer this issue, please first go to issue #16 and comment there. Also note this is a medium-sized issue, and requires some technical expertise. To create a tutorial, you probably need to install and run the Hub.
Be creative and have fun!
Currently, users can list the catalog of all available ersilia models with the command ersilia catalog
. They have the option to list only models that are available on their local computer with ersilia catalog --local
.
The current output of these commands is a table printed on the terminal using the tabulate python library.
We would like to have a better output, although it is not clear to us what would be the best option. Options we've considered are:
Is your feature request related to a problem? Please describe.
The readme file is absolutely stunning. When I was reading the file, it seems to be very simple, the alignments, bold fonts,etc. I would like to add my creativity.
Describe the solution you'd like
I will change the file look by adding some outstanding ideas on to it.
@GemmaTuron could you pls assign this to me
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
We want to write a better README file, including better installation instructions and a better description of the package features. Are there any guidelines to a good README file?
When a model is downloaded with the fetch
command, the corresponding GitHub repository is cloned, including Git LFS files. As of now, there is no way to know the size of the downloaded files before cloning. In addition, a conda environment or a docker container is created after download. We do not have a way of estimating the size of such environments/containers. Therefore, we are unable to inform the user about the size of the model they are about to fetch.
We would like to calculate total disk usage of a model before fetching it. This includes:
Create a template for an issue to request a model incorporation in the hub. Important questions to keep in mind are: name of the model, why is it for, license, where is the code living...
If someone else is working on this, you can create a new template or contribute your ideas to the existing one.
This issue is for Outreachy Applicants interested in contributing to the Project "Improve the Ersilia Model Hub, a FOSS platform offering pre trained AI/ML models for research"
Before tackling any coding issue, comment here with:
This is required before we accept any pull request for the issues labelled with the tag "code"
Applicant: @loweyvana
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.
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
If you have interest in working on related topics, or have new suggestions, please do the following
New Suggestion
There is so much to write about when it comes to NTDs, If you permit me, I would like to suggest we write several blog posts about the different aspects of NTDs and add them as links to this main blog post. In that way, we could cover the whole topic and our audience would have enough stuff to read about. Let me know what you think, please.
Feedback from mentor @miquelduranfrigola
Miquel Duran (Ersilia) il y a 2 jours
As for the series of blogposts idea, this is quite interesting. I think we could frame it within the context of the Ersilia Model Hub, for example: "What models should we prioritize, based on the current status of drug discovery/development for NTDs?
Describe the bug
A clear and concise description of what the bug is. Example can be a calculation error or a missing command.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
feature request : Improve catalog by including model size in "ersilia catalog" output. A Column displaying model size against each model would help the user to get an idea of the amount of time it will take to download, also the user would get to know how much space is required in the disk.
Problem : while working on the issue #8 , I had to test the deletion of models. for which I had to download a couple of models. I was looking the models that require the least space on disk so that the testing would take lesser time, but there was no mechanism of finding that out before running the fetch command.
Alternatives :
Ersilia accepts the incorporation of third-party models and would not mind suggestions.
Model title
Suggest a title for your model. For example, 'Antimicrobial activity prediction'
Model features
Describe the features of the model. For example, "The Antimicrobial activit prediction model predicts antimicrobial activity in a specimen."
Use Case
Give a brief tutorial of how the model is used. Screenshots and/or videos can be included.
Benefit: What benefit can the model offer in the field of science?
Publication
Is there a link to a publication? (DOI, PMID, URL). If yes, include the link.
Code
Is code available? If so, please provide link to repository (GitHub, GitLab, BitBucket).
License
Please include a license for the model.
Our high-level documentation is being built using a GitBook. In addition, we have the automatically generated documentation (package index) as created by Sphinx. This low-level documentation can be seen here.
We currently lack docstrings for most of the classes in ersilia, which results in poor code documentation. We are seeking advice on how to write code documentation efficiently, as well as contributors who would be able to help us in the writing.
Please comment under this issue with good resources on how to write documentation
Is your feature request related to a problem? Please describe.
From a beginner's perspective, the first thing someone looks for is the contribution guidelines. In order to understand how to make a pull request, check related formats and to look for beginner friendly issues.
Describe the solution you'd like
A readme file about contribution guidelines will be a great addition to make the project more user friendly and will also help in improving participation in the project.
Describe alternatives you've considered
Additional context
Applicant: <@MsChineme>
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.
If you have interest in working on related topics, or have new suggestions, please do the following
While reading through the conda documentation, I found out that the Conda environment is made up of two versions (miniconda and anaconda).
Both are recommended but with different features and functionalities.
I'm suggesting that both versions should be outlined in the "Ersilia Installation Guide" so that users can make their choices.
Describe the bug
Some links are broken in the repository.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
This page should have rendered.
Desktop (please complete the following information):
Additional context
None
What is your feature request?
A clear concise descritprion of what you want to happen.
Is your feature request related to a problem?
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Most models in Ersilia require substantial disk usage. Deleting a model means removing all model files as well as the corresponding conda environment or docker container. A desirable feature would be to automatically remove models if they have not been used for e.g. a month.
Keep track of model last usage date, and delete it automatically if considered to be unused.
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.
If you have interest in working on related topics, or have new suggestions, please do the following
Hello,
Could you create an empty folder in the ersilia project with the name /documentation ?
This issue is great if you are a beginner who wants to test how the git fork, branch, and pull requests work. I recommend reading this "tutorial" first
Please note this issue will only be assigned to one applicant, ping me here if you want to contribute to this.
We are working to develop simple tutorials for the Ersilia Model Hub.
Ca you comment below suggestion one example of a good tutorial from another FOSS project we could get inspiration from?
This is a required step to tackle Issue #17
Is your feature request related to a problem? Please describe.
Scrolling up and down is exhausting when exploring the readme file
Describe the solution you'd like
I want to incorporate a button to scroll back to the top page after every sub-section of the readme file
@GemmaTuron @miquelduranfrigola kindly assign this issue to me
What is your feature request?
There are some spelling and grammatical errors in the readme.md file which can be resolved and also there is as of now no information or links to direct the new commers to the contribution guidelines in the readme file. Including that information can be quite helpful.
Is your feature request related to a problem?
As I landed on the repository and went through the readme.md file, I searched for some information or direction to contributing in this codebase in the file but couldn't get it. Someone who is new to the repository will find it easier to navigate to that information from the readme page than looking for the new_contributors.md and contributing.md file in the repository.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Applicant: https://github.com/mahamtariq58
Welcome to the Ersilia Open Source Initiative. This issue will serve to track all your contributions for the project “Improve the Ersilia Model Hub, a FOSS platform offering pre-trained AI/ML models for research”.
Please tick the tasks as you complete them. To make a final application it is not required to have completed all tasks. This project requires knowledge of the Python programming language. The tasks are not ordered from more to less important, they are simply related to different skills. Start where you feel most comfortable.
ersilia
library.ersilia catalog
command. Add a screenshot of the local catalog (ersilia catalog –local
)ersilia
as a Python library (find more information here). Ideally, use a Jupyter notebook.ersilia
Python library. The app can have an input and an output box, and perhaps a few models to select. Add a screenshot of the app as seen in your browser.If you have interest in working on related topics, or have new suggestions, please do the following
@miquelduranfrigola @GemmaTuron I want to address an issue not related to fixing a bug but something i encountered while trying to install ersilia CLI. As related to issue #36 i installed the Ubuntu because my system is windows 10 and downloaded all the packages needed but still it didnt work and it was due to my conda environment.
So if someone faced the same problem instead of using:
"conda create -n ersilia python=3.7"
please use:
"source ~/anaconda3/etc/profile.d/conda.sh"
Then activate the environment as per in Ersilia book. it worked and i hope it helps others.Thank you
What is your feature request?
A writing style guide that will have every document follow a standard style.
Is your feature request related to a problem?
Ersilia deals a with a lot of documentation, keeping that in mind it will be great if we introduce a writing style guideline. In that way we can maintain a standard format for every document. This will also help when we have new contributors in the future.
Within the Road map section there is a need to correct grammar as part of the improvement to the read me file. cc: @GemmaTuron
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.