TheBobBob's picture
Upload main.py
10b33fb verified
raw
history blame
1.68 kB
from biomodelcache import BioModelCacheRetrieval
from convert_sbml_to_antimony import convert_sbml_to_antimony
from split_biomodels import split_biomodels
from create_vector_db import create_vector_db
from generate_response import generate_response
import os
import tempfile
LOCAL_DOWNLOAD_DIR = tempfile.mkdtemp()
def main():
retriever = BioModelCacheRetrieval(search_str)
models = retriever.search_models()
if models:
all_final_items = []
for model_id, model_data in models.items():
print(f"Processing model: {model_data['name']}")
model_url = model_data['url']
model_file_path = retriever.download_model_files(model_url, model_id)
if model_file_path:
antimony_file_path = os.path.join(LOCAL_DOWNLOAD_DIR, f"{model_id}.txt")
convert_sbml_to_antimony(model_file_path, antimony_file_path)
final_items = split_biomodels(antimony_file_path)
all_final_items.extend(final_items)
if all_final_items:
db = create_vector_db(all_final_items)
query_text = input("Enter your question about the model(s): ")
response = generate_response(db, query_text)
print(f"Response: {response}")
else:
return ValueError("No models were processed successfully.")
else:
return ValueError("No models found matching your search query.")
if __name__ == "__main__":
search_str = input("Enter search query: ")
main(search_str)
#nosetests