VirtualPatientEngine / AIAgents4Pharma

AI Agents for drug discovery, drug development, and other pharmaceutical R&D
MIT License
0 stars 0 forks source link

Search BioModels metadata to get models #3

Open dmccloskey opened 1 week ago

dmccloskey commented 1 week ago

As a user, I would like to be able to semantically search the BioModels metadata to identify the model that I would like to simulate. BioModels metadata could include the original article abstract and main text, curator notes, and other information available on the BioModels website. Currently, users must specify the BioModel ID to download the model.

Potential solution

lilijap commented 5 days ago

I would suggest we approach this with the basico.biomodels submodule (https://basico.readthedocs.io/en/latest/API/basico.html#module-basico.biomodels). This submodule provides a function search_for_model(), where the user can specify a keyword and search for available models form the database. From my understanding, we would not neceserily require a local chase of BioModels database in this case. A code snippet, for your reference:

 models = search_for_model('repressilator')
 for model in models:
    print(model['id'], model['name'], model['format'])

Let me know your thoughts, @dmccloskey.

dmccloskey commented 5 days ago

@lilijap Thanks for providing the code snippet. I agree that we do not necessarily need to maintain a local database of BioModels when we can fetch a model on the fly using the functionality you described.

However, we would need to maintain some type of vector database with the chunked embeddings of the biomodels metadata to enable semantic search across it. Once we retrieve the biomodels ID from the semantic search, we could then download it as you mentioned.

Another use case to keep in mind would be a local database of internal/proprietary models that users in pharma could upload and use within their organization securely. The other benefit is that any changes a user makes to a biomodel could be versioned and saved locally.