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
211 stars 147 forks source link

Outreachy Documentation Project: Akua Dokua Asiedu #158

Closed DokuaAsiedu closed 2 years ago

DokuaAsiedu commented 2 years ago

Applicant: @DokuaAsiedu

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:

DokuaAsiedu commented 2 years ago

The open source environment fascinates me. Although it has not been long since I was introduced to it, the concept of making source code available to anyone in order to pool contributions from all types of skillsets to a enhance a project is a bold step in my opinion. The reason why I say this is that I am only familiar with environments where everything is done discreetly until it is time for launch to avoid others from taking credit for work. So seeing how this community still protects creators and contributors is very fascinating and draws me into this space. Now, where does Ersilia fit in this? Well it's quite simple really. I believe everyone should have access to healthcare and I support all efforts in making sure that that goal is reached. Even though I am not a health worker and so cannot contribute directly, I can, through this project, help the ones that can. By creating useful documentation that scientists can rely on to make use of the models provided through this project, that will further their research into diseases and infections, I want to contribute what I can and learn along the way. So that is that and I hope to do my best.

DokuaAsiedu commented 2 years ago

Here is a link to my blog post summary about the strategic plan: https://1drv.ms/w/s!Ao-vQCbQQ9a4nBv1WAYq8BVBtooc?e=toPyAx

Link to my blog post about a topic related to Ersilia and I chose to talk about malaria: https://1drv.ms/w/s!Ao-vQCbQQ9a4nB-Rzh12Jt3U-jGm?e=xmJTbg

Link to my pull request for the readme file: https://github.com/ersilia-os/ersilia/pull/250

Link to newsletter template: https://1drv.ms/p/s!Ao-vQCbQQ9a4nCCAQdLx8xnu3qAj?e=iTj4XO

@GemmaTuron would love to hear your take on this

DokuaAsiedu commented 2 years ago

This is the link to the slide explaining Ersilia's mission and vision: https://1drv.ms/p/s!Ao-vQCbQQ9a4nB3WVqBZBv5D4DkY?e=REpWT6 @GemmaTuron

GemmaTuron commented 2 years ago

Hi @DokuaAsiedu

Thanks for the work, I really like the background of the slide similar to our logo! The application deadline is close, so please focus on preparing your final application in the Outreachy website!

Thanks

DokuaAsiedu commented 2 years ago

Hi @DokuaAsiedu

Thanks for the work, I really like the background of the slide similar to our logo! The application deadline is close, so please focus on preparing your final application in the Outreachy website!

Thanks

Thank you for having a look

DokuaAsiedu commented 2 years ago

Twitter Template Case 1: If model was developed by someone else Hello everyone 👋! We are please to announce that we have introduced a new addition to our hub. Credit goes to [name here] who reached out to have [pronoun here] model incorporated into the hub. [Brief description of model here]. Feel free to check it and also don't forget to send us your thoughts and contributions. We would love to hear from you 😊.

Case2: If model was developed in-house Hello everyone 👋! We are please to announce that we have introduced a new addition to our hub. Credit goes to [name of Ersillia personnel] who worked tirelessly to develop this model and also [source of dataset] for providing the dataset with which the model was built. [Brief description of model here]. Feel free to check it and also don't forget to send us your thoughts and contributions. We would love to hear from you 😊.

Pmaidoo commented 2 years ago

What a great job so far Dokua . keep it up .

DokuaAsiedu commented 2 years ago

Screenshot showing model running Screenshot from 2022-04-20 12-25-28

DokuaAsiedu commented 2 years ago

Here's my ErsiliaModel class docstring:


class ErsiliaModel(ErsiliaBase):
    '''A subclass of the base Ersilia class. When initialized, it fetches the model specified with the id specified from the Ersilia hub and checks its validity'''

    def is_valid():
        '''Returns the validity of the loaded model. A model is valid if its id or slug value has an entry in the model hub

        Returns:
            True if the loaded model is valid, False otherwise
        '''

    def api(api_name, input, output, batch_size):
        '''Loads an input file, splits it into lines and passes the lines into the specified API task, writing all the results into an output file

        Args:
            api_name:    The name of the API to execute
            input:        The path of the input file
            output:        The path of the output file for results
            batch_size:    The number of input lines to process at a time. Defaults to 100

        Returns:
            The output data of the API
        '''

    def api_task(api_name, input, output, batch_size):
        '''Creates and API instance using the api_name and passes the input through it, returning its result. The result could be a generator, file or specific datatype (dict, dataframe, numby array, etc.)

        Args:
            api_name:    The name of the API to execute
            input:        The path of the input file
            output:        The path of the output file for results
            batch_size:    The number of input lines to process at a time. Defaults to 100

        Returns:
            The output data of the API
        '''

    def update_model_usage_time(model_id):
        '''Records the timestamp at which a model was used

        Args:
            model_id:    The id of the model which was executed
        '''

    def serve():
        '''Starts (or restarts) the Docker server which hosts the model'''

    def close():
        '''Terminates the Docker server'''
DokuaAsiedu commented 2 years ago

What a great job so far Dokua . keep it up .

Thanks so much

DokuaAsiedu commented 2 years ago

Here is a technical card for morgan-counts: Technical Card

DokuaAsiedu commented 2 years ago

3 Models I think would be a great addition to the hub: