github.com/hscells/guru@v0.0.0-20200207042420-2dabeb950d69/semgroups.go (about) 1 package guru 2 3 import ( 4 "bufio" 5 "bytes" 6 "strings" 7 ) 8 9 type SemGroup struct { 10 Identifier string 11 Name string 12 TUI string 13 STY string 14 } 15 16 var groups map[string]SemGroup 17 18 func LoadSemGroups(input string) map[string]SemGroup { 19 g := make(map[string]SemGroup) 20 s := bufio.NewScanner(bytes.NewBufferString(input)) 21 for s.Scan() { 22 line := strings.Split(s.Text(), "|") 23 g[line[2]] = SemGroup{ 24 Identifier: line[0], 25 Name: line[1], 26 TUI: line[2], 27 STY: line[3], 28 } 29 } 30 return g 31 } 32 33 func MapSemGroup(tui string) (SemGroup, bool) { 34 if groups == nil { 35 groups = LoadSemGroups(semGroups) 36 } 37 v, ok := groups[tui] 38 return v, ok 39 } 40 41 func DefaultSemGroups() map[string]SemGroup { 42 return LoadSemGroups(semGroups) 43 } 44 45 const semGroups = `ACTI|Activities & Behaviors|T052|Activity 46 ACTI|Activities & Behaviors|T053|Behavior 47 ACTI|Activities & Behaviors|T056|Daily or Recreational Activity 48 ACTI|Activities & Behaviors|T051|Event 49 ACTI|Activities & Behaviors|T064|Governmental or Regulatory Activity 50 ACTI|Activities & Behaviors|T055|Individual Behavior 51 ACTI|Activities & Behaviors|T066|Machine Activity 52 ACTI|Activities & Behaviors|T057|Occupational Activity 53 ACTI|Activities & Behaviors|T054|Social Behavior 54 ANAT|Anatomy|T017|Anatomical Structure 55 ANAT|Anatomy|T029|Body Location or Region 56 ANAT|Anatomy|T023|Body Part, Organ, or Organ Component 57 ANAT|Anatomy|T030|Body Space or Junction 58 ANAT|Anatomy|T031|Body Substance 59 ANAT|Anatomy|T022|Body System 60 ANAT|Anatomy|T025|Cell 61 ANAT|Anatomy|T026|Cell Component 62 ANAT|Anatomy|T018|Embryonic Structure 63 ANAT|Anatomy|T021|Fully Formed Anatomical Structure 64 ANAT|Anatomy|T024|Tissue 65 CHEM|Chemicals & Drugs|T116|Amino Acid, Peptide, or Protein 66 CHEM|Chemicals & Drugs|T195|Antibiotic 67 CHEM|Chemicals & Drugs|T123|Biologically Active Substance 68 CHEM|Chemicals & Drugs|T122|Biomedical or Dental Material 69 CHEM|Chemicals & Drugs|T118|Carbohydrate 70 CHEM|Chemicals & Drugs|T103|Chemical 71 CHEM|Chemicals & Drugs|T120|Chemical Viewed Functionally 72 CHEM|Chemicals & Drugs|T104|Chemical Viewed Structurally 73 CHEM|Chemicals & Drugs|T200|Clinical Drug 74 CHEM|Chemicals & Drugs|T111|Eicosanoid 75 CHEM|Chemicals & Drugs|T196|Element, Ion, or Isotope 76 CHEM|Chemicals & Drugs|T126|Enzyme 77 CHEM|Chemicals & Drugs|T131|Hazardous or Poisonous Substance 78 CHEM|Chemicals & Drugs|T125|Hormone 79 CHEM|Chemicals & Drugs|T129|Immunologic Factor 80 CHEM|Chemicals & Drugs|T130|Indicator, Reagent, or Diagnostic Aid 81 CHEM|Chemicals & Drugs|T197|Inorganic Chemical 82 CHEM|Chemicals & Drugs|T119|Lipid 83 CHEM|Chemicals & Drugs|T124|Neuroreactive Substance or Biogenic Amine 84 CHEM|Chemicals & Drugs|T114|Nucleic Acid, Nucleoside, or Nucleotide 85 CHEM|Chemicals & Drugs|T109|Organic Chemical 86 CHEM|Chemicals & Drugs|T115|Organophosphorus Compound 87 CHEM|Chemicals & Drugs|T121|Pharmacologic Substance 88 CHEM|Chemicals & Drugs|T192|Receptor 89 CHEM|Chemicals & Drugs|T110|Steroid 90 CHEM|Chemicals & Drugs|T127|Vitamin 91 CONC|Concepts & Ideas|T185|Classification 92 CONC|Concepts & Ideas|T077|Conceptual Entity 93 CONC|Concepts & Ideas|T169|Functional Concept 94 CONC|Concepts & Ideas|T102|Group Attribute 95 CONC|Concepts & Ideas|T078|Idea or Concept 96 CONC|Concepts & Ideas|T170|Intellectual Product 97 CONC|Concepts & Ideas|T171|Language 98 CONC|Concepts & Ideas|T080|Qualitative Concept 99 CONC|Concepts & Ideas|T081|Quantitative Concept 100 CONC|Concepts & Ideas|T089|Regulation or Law 101 CONC|Concepts & Ideas|T082|Spatial Concept 102 CONC|Concepts & Ideas|T079|Temporal Concept 103 DEVI|Devices|T203|Drug Delivery Device 104 DEVI|Devices|T074|Medical Device 105 DEVI|Devices|T075|Research Device 106 DISO|Disorders|T020|Acquired Abnormality 107 DISO|Disorders|T190|Anatomical Abnormality 108 DISO|Disorders|T049|Cell or Molecular Dysfunction 109 DISO|Disorders|T019|Congenital Abnormality 110 DISO|Disorders|T047|Disease or Syndrome 111 DISO|Disorders|T050|Experimental Model of Disease 112 DISO|Disorders|T033|Finding 113 DISO|Disorders|T037|Injury or Poisoning 114 DISO|Disorders|T048|Mental or Behavioral Dysfunction 115 DISO|Disorders|T191|Neoplastic Process 116 DISO|Disorders|T046|Pathologic Function 117 DISO|Disorders|T184|Sign or Symptom 118 GENE|Genes & Molecular Sequences|T087|Amino Acid Sequence 119 GENE|Genes & Molecular Sequences|T088|Carbohydrate Sequence 120 GENE|Genes & Molecular Sequences|T028|Gene or Genome 121 GENE|Genes & Molecular Sequences|T085|Molecular Sequence 122 GENE|Genes & Molecular Sequences|T086|Nucleotide Sequence 123 GEOG|Geographic Areas|T083|Geographic Area 124 LIVB|Living Beings|T100|Age Group 125 LIVB|Living Beings|T003|Alga 126 LIVB|Living Beings|T011|Amphibian 127 LIVB|Living Beings|T008|Animal 128 LIVB|Living Beings|T194|Archaeon 129 LIVB|Living Beings|T007|Bacterium 130 LIVB|Living Beings|T012|Bird 131 LIVB|Living Beings|T099|Family Group 132 LIVB|Living Beings|T013|Fish 133 LIVB|Living Beings|T004|Fungus 134 LIVB|Living Beings|T096|Group 135 LIVB|Living Beings|T016|Human 136 LIVB|Living Beings|T009|Invertebrate 137 LIVB|Living Beings|T015|Mammal 138 LIVB|Living Beings|T001|Organism 139 LIVB|Living Beings|T101|Patient or Disabled Group 140 LIVB|Living Beings|T002|Plant 141 LIVB|Living Beings|T098|Population Group 142 LIVB|Living Beings|T097|Professional or Occupational Group 143 LIVB|Living Beings|T014|Reptile 144 LIVB|Living Beings|T006|Rickettsia or Chlamydia 145 LIVB|Living Beings|T010|Vertebrate 146 LIVB|Living Beings|T005|Virus 147 OBJC|Objects|T071|Entity 148 OBJC|Objects|T168|Food 149 OBJC|Objects|T073|Manufactured Object 150 OBJC|Objects|T072|Physical Object 151 OBJC|Objects|T167|Substance 152 OCCU|Occupations|T091|Biomedical Occupation or Discipline 153 OCCU|Occupations|T090|Occupation or Discipline 154 ORGA|Organizations|T093|Health Care Related Organization 155 ORGA|Organizations|T092|Organization 156 ORGA|Organizations|T094|Professional Society 157 ORGA|Organizations|T095|Self-help or Relief Organization 158 PHEN|Phenomena|T038|Biologic Function 159 PHEN|Phenomena|T069|Environmental Effect of Humans 160 PHEN|Phenomena|T068|Human-caused Phenomenon or Process 161 PHEN|Phenomena|T034|Laboratory or Test Result 162 PHEN|Phenomena|T070|Natural Phenomenon or Process 163 PHEN|Phenomena|T067|Phenomenon or Process 164 PHYS|Physiology|T043|Cell Function 165 PHYS|Physiology|T201|Clinical Attribute 166 PHYS|Physiology|T045|Genetic Function 167 PHYS|Physiology|T041|Mental Process 168 PHYS|Physiology|T044|Molecular Function 169 PHYS|Physiology|T042|Organ or Tissue Function 170 PHYS|Physiology|T032|Organism Attribute 171 PHYS|Physiology|T040|Organism Function 172 PHYS|Physiology|T039|Physiologic Function 173 PROC|Procedures|T060|Diagnostic Procedure 174 PROC|Procedures|T065|Educational Activity 175 PROC|Procedures|T058|Health Care Activity 176 PROC|Procedures|T059|Laboratory Procedure 177 PROC|Procedures|T063|Molecular Biology Research Technique 178 PROC|Procedures|T062|Research Activity 179 PROC|Procedures|T061|Therapeutic or Preventive Procedure`