[1bdb11]: / aitrika / base / aitrika_base.py

Download this file

132 lines (106 with data), 5.4 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
from typing import Optional, Dict, List, Union
import pandas as pd
from aitrika.extractors.pubmed_extractor import PubMedExtractor
from aitrika.extractors.llm_extractor import LLMExtractor
from aitrika.utils.loader import loader
from aitrika.llm.base_llm import BaseLLM
class AItrikaBase:
def __init__(self, pubmed_id: Optional[str] = None):
self.pubmed_id = pubmed_id
self.pubmed_extractor = PubMedExtractor(pubmed_id) if pubmed_id else None
self.llm_extractor = LLMExtractor()
@loader(text="Extracting PubMed ID")
def extract_pubmed_id(self) -> str:
if not self.pubmed_extractor:
raise ValueError("PubMed ID not set")
return self.pubmed_extractor.extract_pubmed_id()
@loader(text="Extracting title")
def extract_title(self) -> str:
if not self.pubmed_extractor:
raise ValueError("PubMed ID not set")
return self.pubmed_extractor.extract_title()
@loader(text="Extracting abstract")
def extract_abstract(self) -> str:
if not self.pubmed_extractor:
raise ValueError("PubMed ID not set")
return self.pubmed_extractor.extract_abstract()
@loader(text="Extracting other abstract")
def extract_other_abstract(self) -> str:
if not self.pubmed_extractor:
raise ValueError("PubMed ID not set")
return self.pubmed_extractor.extract_other_abstract()
@loader(text="Extracting genes")
def extract_genes(self, dataframe: bool = False) -> Union[pd.DataFrame, str]:
if not self.pubmed_extractor:
raise ValueError("PubMed ID not set")
return self.pubmed_extractor.extract_genes(dataframe)
@loader(text="Extracting diseases")
def extract_diseases(self, dataframe: bool = False) -> Union[pd.DataFrame, str]:
if not self.pubmed_extractor:
raise ValueError("PubMed ID not set")
return self.pubmed_extractor.extract_diseases(dataframe)
@loader(text="Extracting species")
def extract_species(self, dataframe: bool = False) -> Union[pd.DataFrame, str]:
if not self.pubmed_extractor:
raise ValueError("PubMed ID not set")
return self.pubmed_extractor.extract_species(dataframe)
@loader(text="Extracting chemicals")
def extract_chemicals(self, dataframe: bool = False) -> Union[pd.DataFrame, str]:
if not self.pubmed_extractor:
raise ValueError("PubMed ID not set")
return self.pubmed_extractor.extract_chemicals(dataframe)
@loader(text="Extracting mutations")
def extract_mutations(self, dataframe: bool = False) -> Union[pd.DataFrame, str]:
if not self.pubmed_extractor:
raise ValueError("PubMed ID not set")
return self.pubmed_extractor.extract_mutations(dataframe)
@loader(text="Extracting associations between genes and diseases")
def extract_associations(
self, dataframe: bool = False
) -> Union[pd.DataFrame, List[Dict]]:
if not self.pubmed_extractor:
raise ValueError("PubMed ID not set")
return self.pubmed_extractor.extract_associations(dataframe)
@loader(text="Extracting authors")
def extract_authors(self) -> str:
if not self.pubmed_extractor:
raise ValueError("PubMed ID not set")
return self.pubmed_extractor.extract_authors()
@loader(text="Extracting journal")
def extract_journal(self) -> str:
if not self.pubmed_extractor:
raise ValueError("PubMed ID not set")
return self.pubmed_extractor.extract_journal()
@loader(text="Extracting results")
def extract_results(self, llm: BaseLLM) -> str:
return self.llm_extractor.extract_results(llm)
@loader(text="Extracting bibliography")
def extract_bibliography(self, llm: BaseLLM) -> str:
return self.llm_extractor.extract_bibliography(llm)
@loader(text="Extracting methods")
def extract_methods(self, llm: BaseLLM) -> str:
return self.llm_extractor.extract_methods(llm)
@loader(text="Extracting introduction")
def extract_introduction(self, llm: BaseLLM) -> str:
return self.llm_extractor.extract_introduction(llm)
@loader(text="Extracting acknowledgements")
def extract_acknowledgements(self, llm: BaseLLM) -> str:
return self.llm_extractor.extract_acknowledgements(llm)
@loader(text="Extracting paper results")
def extract_paper_results(self, llm: BaseLLM) -> str:
return self.llm_extractor.extract_paper_results(llm)
@loader(text="Extracting effect sizes")
def extract_effect_sizes(self, llm: BaseLLM) -> str:
return self.llm_extractor.extract_effect_sizes(llm)
@loader(text="Extracting number of participants")
def extract_number_of_participants(self, llm: BaseLLM) -> str:
return self.llm_extractor.extract_number_of_participants(llm)
@loader(text="Extracting characteristics of participants")
def extract_characteristics_of_participants(self, llm: BaseLLM) -> str:
return self.llm_extractor.extract_characteristics_of_participants(llm)
@loader(text="Extracting interventions")
def extract_interventions(self, llm: BaseLLM) -> str:
return self.llm_extractor.extract_interventions(llm)
@loader(text="Extracting outcomes")
def extract_outcomes(self, llm: BaseLLM) -> str:
return self.llm_extractor.extract_outcomes(llm)