Open dmccloskey opened 1 week 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.
@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.
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