3532 lines (3531 with data), 293.2 kB
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Aims**:\n",
" - extract the omics mentioned in multi-omics articles\n",
"\n",
"**NOTE**: the articles not in PMC/with no full text need to be analysed separately, or at least highlighted."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%run notebook_setup.ipynb"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import pandas\n",
"pandas.set_option('display.max_colwidth', 100)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/markdown": [
"Imported:\n",
"\n",
" - `literature` (904B0F94)\n",
" - `literature_subjects` (98E10AF9)\n",
"\n",
"at Saturday, 25. Jul 2020 16:02"
],
"text/plain": [
"<IPython.core.display.Markdown object>"
]
},
"metadata": {
"text/markdown": {
"action": "import",
"command": "from pubmed_derived_data import literature, literature_subjects",
"finished": "2020-07-25T16:02:11.034225",
"finished_human_readable": "Saturday, 25. Jul 2020 16:02",
"result": [
{
"new_file": {
"crc32": "904B0F94",
"sha256": "A2EFC068A287A3B724AE4B320EE5356E1E99474BD08A2E2A3EBA34CD0194F23B"
},
"subject": "literature"
},
{
"new_file": {
"crc32": "98E10AF9",
"sha256": "DDA318B4E0EC865063AB772B31DD156B2B8E9EA5531B59A0C04B97C70CD21AA9"
},
"subject": "literature_subjects"
}
],
"started": "2020-07-25T16:02:07.681278"
}
},
"output_type": "display_data"
}
],
"source": [
"%vault from pubmed_derived_data import literature, literature_subjects"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"literature['title_abstract_text_subjects'] = (\n",
" literature['title']\n",
" + ' ' + literature['abstract_clean'].fillna('')\n",
" + ' ' + literature_subjects.apply(lambda x: ' '.join(x[x == True].index), axis=1)\n",
" + ' ' + literature['full_text'].fillna('')\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"omics_features = literature.index.to_frame().drop(columns='uid').copy()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"from functools import partial\n",
"from helpers.text_processing import check_usage\n",
"from pandas import Series\n",
"\n",
"check_usage_in_input = partial(\n",
" check_usage,\n",
" data=literature,\n",
" column='title_abstract_text_subjects',\n",
" limit=5 # show only first 5 results\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"TERM_IN_AT_LEAST_N_ARTICLES = 5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Omics"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. Lookup by words which end with -ome"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"cellular_structures = {\n",
" # organelles\n",
" 'peroxisome',\n",
" 'proteasome',\n",
" 'ribosome',\n",
" 'exosome',\n",
" 'nucleosome',\n",
" 'polysome',\n",
" 'autosome',\n",
" 'autophagosome',\n",
" 'endosome',\n",
" 'lysosome',\n",
" # proteins and molecular complexes\n",
" 'spliceosome',\n",
" 'cryptochrome',\n",
" # chromosmes\n",
" 'autosome',\n",
" 'chromosome',\n",
" 'x-chromosome',\n",
" 'y-chromosome',\n",
"}\n",
"\n",
"species = {\n",
" 'trichome'\n",
"}\n",
"\n",
"tools_and_methods = {\n",
" # dry lab\n",
" 'dphenome',\n",
" 'dgenome',\n",
" 'reactome',\n",
" 'rexposome',\n",
" 'phytozome',\n",
" 'rgenome',\n",
" 'igenome', # iGenomes\n",
" # wet lab\n",
" 'microtome'\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"not_an_ome = {\n",
" 'outcome',\n",
" 'middle-income',\n",
" 'welcome',\n",
" 'wellcome', # :)\n",
" 'chrome',\n",
" 'some',\n",
" 'cumbersome',\n",
" 'become',\n",
" 'home',\n",
" 'come',\n",
" 'overcome',\n",
" 'cytochrome',\n",
" 'syndrome',\n",
" 'ubiome',\n",
" 'biome', # this IS an ome, but more into envrionmental studies, rather than molecular biology!\n",
" 'fluorochrome',\n",
" 'post-genome',\n",
" 'ubiquitin-proteasome', # UPS\n",
" *tools_and_methods,\n",
" *cellular_structures,\n",
" *species\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"\u001b[0;31mSignature:\u001b[0m \u001b[0mget_ome_regexp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mDocstring:\u001b[0m <no docstring>\n",
"\u001b[0;31mSource:\u001b[0m \n",
"\u001b[0;32mdef\u001b[0m \u001b[0mget_ome_regexp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;31m# use look-ahead to allow for overlaps\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34m'(?='\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34mrf'(?:^|\\s|{separators_re}|ome-)'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34m'('\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34mr'(?:\\w+)ome'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34m'|'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34mr'(?:(?:\\w+-\\w*)|\\w+)ome'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34m')'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;31m# also, match plural form\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34m'(?:s)?'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34mrf'(?:\\s|$|{separators_re}|{final_dot_not_url_part}|-)'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34m')'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mFile:\u001b[0m ~/multi-omics/omics.py\n",
"\u001b[0;31mType:\u001b[0m function\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from omics import get_ome_regexp\n",
"ome_re = get_ome_regexp()\n",
"get_ome_regexp??"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>uid</th>\n",
" <th>match</th>\n",
" <th>term</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>15687839</td>\n",
" <td>1</td>\n",
" <td>genome</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>16077939</td>\n",
" <td>1</td>\n",
" <td>genome</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>16077939</td>\n",
" <td>2</td>\n",
" <td>genome</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" uid match term\n",
"5 15687839 1 genome\n",
"9 16077939 1 genome\n",
"10 16077939 2 genome"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ome_occurrences = (\n",
" literature['title_abstract_text_subjects'].str.lower()\n",
" .str.extractall(ome_re)[0]\n",
" .to_frame('term').reset_index()\n",
")\n",
"ome_occurrences = ome_occurrences[~ome_occurrences.term.isin(not_an_ome)]\n",
"ome_occurrences.head(3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.1 Harmonise hyphenation"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"from helpers.text_processing import report_hyphenation_trends, harmonise_hyphenation"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>more_popular</th>\n",
" <th>less_popular</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>metagenome</td>\n",
" <td>meta-genome</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>phosphoproteome</td>\n",
" <td>phospho-proteome</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>metaproteome</td>\n",
" <td>meta-proteome</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>whole-exome</td>\n",
" <td>wholeexome</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>pan-genome</td>\n",
" <td>pangenome</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>subgenome</td>\n",
" <td>sub-genome</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>sub-proteome</td>\n",
" <td>subproteome</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>endo-metabolome</td>\n",
" <td>endometabolome</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>exometabolome</td>\n",
" <td>exo-metabolome</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>cancer-genome</td>\n",
" <td>cancergenome</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>1000genome</td>\n",
" <td>1000-genome</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>minichromosome</td>\n",
" <td>mini-chromosome</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" more_popular less_popular\n",
"0 metagenome meta-genome\n",
"1 phosphoproteome phospho-proteome\n",
"2 metaproteome meta-proteome\n",
"3 whole-exome wholeexome\n",
"4 pan-genome pangenome\n",
"5 subgenome sub-genome\n",
"6 sub-proteome subproteome\n",
"7 endo-metabolome endometabolome\n",
"8 exometabolome exo-metabolome\n",
"9 cancer-genome cancergenome\n",
"10 1000genome 1000-genome\n",
"11 minichromosome mini-chromosome"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"hyphenation_rules = report_hyphenation_trends(ome_occurrences.term)\n",
"hyphenation_rules"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"ome_occurrences.term = harmonise_hyphenation(ome_occurrences.term, hyphenation_rules)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.2 Fix typos"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"from helpers.text_processing import find_term_typos, create_typos_map"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>rare_term</th>\n",
" <th>popular_term</th>\n",
" <th>similarity</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>trascriptome</td>\n",
" <td>transcriptome</td>\n",
" <td>0.960000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>transcritome</td>\n",
" <td>transcriptome</td>\n",
" <td>0.960000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>transciptome</td>\n",
" <td>transcriptome</td>\n",
" <td>0.960000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>tanscriptome</td>\n",
" <td>transcriptome</td>\n",
" <td>0.960000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>microbome</td>\n",
" <td>microbiome</td>\n",
" <td>0.947368</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>protenome</td>\n",
" <td>proteome</td>\n",
" <td>0.941176</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>o-glycoproteome</td>\n",
" <td>glycoproteome</td>\n",
" <td>0.928571</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>n-glycoproteome</td>\n",
" <td>glycoproteome</td>\n",
" <td>0.928571</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>glycol-proteome</td>\n",
" <td>glycoproteome</td>\n",
" <td>0.928571</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>mirome</td>\n",
" <td>mirnome</td>\n",
" <td>0.923077</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>1-metabolome</td>\n",
" <td>metabolome</td>\n",
" <td>0.909091</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" rare_term popular_term similarity\n",
"0 trascriptome transcriptome 0.960000\n",
"1 transcritome transcriptome 0.960000\n",
"2 transciptome transcriptome 0.960000\n",
"3 tanscriptome transcriptome 0.960000\n",
"4 microbome microbiome 0.947368\n",
"5 protenome proteome 0.941176\n",
"6 o-glycoproteome glycoproteome 0.928571\n",
"7 n-glycoproteome glycoproteome 0.928571\n",
"8 glycol-proteome glycoproteome 0.928571\n",
"9 mirome mirnome 0.923077\n",
"10 1-metabolome metabolome 0.909091"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ome_counts = ome_occurrences.drop_duplicates(['uid', 'term']).term.sorted_value_counts()\n",
"potential_ome_typos = find_term_typos(ome_counts, TERM_IN_AT_LEAST_N_ARTICLES - 1)\n",
"potential_ome_typos"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"31216675 source), it may be possible to evaluate how Omic 1-metabolome relationships and associated path...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('1-metabolome')"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"22661985 es are applying high-throughput miRNA sequencing (miRNAome) based identification and quantificat...\n",
"25783038 stemic responses of gut hormones, the circulating miRNAome and the metabolome in a rat model of ...\n",
"27716141 of PDGF-BB-regulated transcriptome, proteome and miRNAome (3-omics) in PASMCs. The results demo...\n",
"29312565 hts. Here, we performed an integrated analysis of miRNAome, proteome and metabolome, aimed to in...\n",
"29703144 of miRNA changes in aneuploid cells (Fig. \\nFig. 1\\nmiRNAome in aneuploid model cell lines. \\na\\...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('miRNAome')"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"26697401 ome (copy number), transcriptome, translatome and miRome levels (GEO series GSE56654, GSE56552 a...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('miRome')"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"32318338 publicly available implementations. The packages \\nrexposome\\nomicRexposome\\nexposome\\nOmicsLonD...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('rexposome')"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"32076369 gical data such as lipidome, phosphoproteome, and glycol-proteome. Multi-omics data generated fo...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('glycol-proteome')"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"31925439 performed using the CasOFFinder tool (\\nhttp://www.rgenome.net/cas-offinder/\\n\\n \\nStatis...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('rgenome')"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"26542228 ng a reference annotation comprised of Illumina’s iGenomes, Mark Gerstein’s Pseudogene annotatio...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('iGenomes')"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"25364758 versa\\nThe seminal work of Hawkins et al. (\\nhttp://cancergenome.nih.gov/\\nhttp://www.roadmapepi...\n",
"26239918 ownloaded from TCGA data portal (level 3; \\nhttp://cancergenome.nih.gov\\nKnown methylated CRC ge...\n",
"26256959 f commonly mutated genes.\\nBeyond \\nin vitro\\nhttp://cancergenome.nih.gov\\nhttp://www.cbioportal...\n",
"26283178 ach step can be found in Additional files \\nhttp://cancergenome.nih.gov/\\n\\n \\nResults and ...\n",
"26396172 ns in Cancer (COSMIC, \\nhttp://cancer.sanger.ac.uk/cancergenome/projects/cosmic\\nhttp://www.myca...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('cancergenome')"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"is_typo_subset_or_variant = {\n",
" ('transcritome', 'transcriptome'): True,\n",
" ('transciptome', 'transcriptome'): True,\n",
" ('tanscriptome', 'transcriptome'): True,\n",
" ('trascriptome', 'transcriptome'): True,\n",
" ('microbome', 'microbiome'): True,\n",
" ('protenome', 'proteome'): True,\n",
" # (neither n- nor o- is frequent enough on its own)\n",
" ('o-glycoproteome', 'glycoproteome'): True,\n",
" ('n-glycoproteome', 'glycoproteome'): True,\n",
" ('glycol-proteome', 'glycoproteome'): True, # note \"glycol\" instead of \"glyco\"\n",
" ('mirome', 'mirnome'): True,\n",
" ('1-metabolome', 'metabolome'): True\n",
"}\n",
"ome_typos_map = create_typos_map(potential_ome_typos, is_typo_subset_or_variant)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"mirome 7\n",
"n-glycoproteome 2\n",
"transciptome 2\n",
"o-glycoproteome 1\n",
"tanscriptome 1\n",
"glycol-proteome 1\n",
"microbome 1\n",
"transcritome 1\n",
"trascriptome 1\n",
"1-metabolome 1\n",
"protenome 1\n",
"Name: term, dtype: int64"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"replaced = ome_occurrences.term[ome_occurrences.term.isin(ome_typos_map)]\n",
"replaced.value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"19"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(replaced)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"ome_occurrences.term = ome_occurrences.term.replace(ome_typos_map)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.3 Replace synonymous and narrow terms"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
"ome_replacements = {}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### miRNAomics → miRNomics"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"miRNAome is more popular name for -ome, while miRNomics is more popular for -omics."
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"mirnome 21\n",
"mirnaome 24\n",
"Name: term, dtype: int64"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ome_occurrences.term.value_counts().loc[['mirnome', 'mirnaome']]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As I use -omcis for later on, for consistency I will change miRNAome → miRNome"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
"ome_replacements['miRNAome'] = 'miRNome'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Cancer genome → genome"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"genome 5587\n",
"cancer-genome 5\n",
"Name: term, dtype: int64"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ome_occurrences.term.value_counts().loc[['genome', 'cancer-genome']]"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"ome_replacements['cancer-genome'] = 'genome'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Host microbiome → microbiome"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"microbiome 2075\n",
"host-microbiome 18\n",
"Name: term, dtype: int64"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ome_occurrences.term.value_counts().loc[['microbiome', 'host-microbiome']]"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
"ome_replacements['host-microbiome'] = 'microbiome'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Replace the values"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
"ome_occurrences.term = ome_occurrences.term.replace(\n",
" {k.lower(): v.lower() for k, v in ome_replacements.items()}\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.4 Summarise popular \\*ome terms"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"index\n",
"genome 1516\n",
"transcriptome 807\n",
"proteome 581\n",
"metabolome 406\n",
"microbiome 302\n",
"epigenome 183\n",
"whole-genome 132\n",
"exome 118\n",
"metagenome 79\n",
"methylome 73\n",
"interactome 72\n",
"phenome 54\n",
"whole-exome 51\n",
"lipidome 46\n",
"phosphoproteome 36\n",
"metatranscriptome 32\n",
"secretome 29\n",
"metaproteome 23\n",
"exposome 18\n",
"whole-transcriptome 18\n",
"translatome 16\n",
"mirnome 15\n",
"virome 12\n",
"fluxome 11\n",
"peptidome 9\n",
"regulome 9\n",
"glycome 8\n",
"immunome 8\n",
"degradome 7\n",
"glycoproteome 7\n",
"pan-genome 6\n",
"kinome 5\n",
"mycobiome 5\n",
"Name: term, dtype: int64"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ome_counts = ome_occurrences.drop_duplicates(['uid', 'term']).term.sorted_value_counts()\n",
"ome_common_counts = ome_counts[ome_counts >= TERM_IN_AT_LEAST_N_ARTICLES]\n",
"ome_common_counts"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"18 exposome\n",
"Name: index, dtype: object"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ome_common_terms = Series(ome_common_counts.index)\n",
"ome_common_terms[ome_common_terms.str.endswith('some')]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2. Lookup by omics and adjectives"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"\u001b[0;31mSignature:\u001b[0m \u001b[0mget_omics_regexp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mDocstring:\u001b[0m <no docstring>\n",
"\u001b[0;31mSource:\u001b[0m \n",
"\u001b[0;32mdef\u001b[0m \u001b[0mget_omics_regexp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;31m# use look-ahead to allow for overlaps\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34m'(?='\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34mrf'(?:^|\\s|{separators_re}|omic-)'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;31m# match '*-omic', '*-*omic', '*omic'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34m'('\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;31m# handle both *omic-*omic and *-*omic\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34mr'(?:\\w+)omic'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34m'|'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34mr'(?:(?:\\w+-\\w*)|\\w+)omic'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34m')'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;31m# match both *omic and omics, but capture only \"omic\" part\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34m'(?:s)?'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34mrf'(?:\\s|$|{separators_re}|{final_dot_not_url_part}|-)'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34m')'\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mFile:\u001b[0m ~/multi-omics/omics.py\n",
"\u001b[0;31mType:\u001b[0m function\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from omics import get_omics_regexp\n",
"\n",
"omics_re = get_omics_regexp()\n",
"get_omics_regexp??"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"12186644 chnologies and appropriately coined the new name 'integromics' for the data-integration issues a...\n",
"15687693 also becoming increasingly practical. We define 'integromics' as the melding of such diverse ty...\n",
"16077939 romoters. This is the first report on comparative integromics analyses on Sfrp1 orthologs. \n",
"16077992 sulinoma. This is the first report on comparative integromics analyses on SFRP2 orthologs. \n",
"16077994 volution. This is the first report on comparative integromics analyses on the SOX2 orthologs. \n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('integromics')"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"19837627 s on metabolomics data management, normalization, meta-omics data analysis, and an integrative a...\n",
"24624120 high-resolution molecular approaches, so called “meta-omics”, are now allowing concrete linkage...\n",
"26315987 nd us through the application of high-resolution \"meta-omics\". Metaproteomics offers the ability...\n",
"28724401 l diversification within the lichen microbiota by meta-omics. \\nRecent evidence of specific bact...\n",
"28744486 odontal ligament and alveolar bone. We employed a meta-omics approach that included microbial 16...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('meta-omics')"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"19996478 gene expression and function. This is called the \"post-genomic area\" by some authors or \"functio...\n",
"20821203 the sequencing of complete genomes and efficient post-genomic approaches provide the basis for ...\n",
"22303399 ities of integrative omics. Since the dawn of the post-genomic era a myriad of novel high-throug...\n",
"22319563 iverse networks. State-of-the-art technologies in post-genomic science offer ways to inspect and...\n",
"24851096 ptome consists of approximately 25,000 genes. The post-genomic era has provided a wealth of nove...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('post-genomic')"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"27716141 B-regulated transcriptome, proteome and miRNAome (3-omics) in PASMCs. The results demonstrated t...\n",
"28450497 Integrating 3-omics data analyze rat lung tissue of COPD state\n",
"29888072 y, on 20 successive and random splits of the TCGA 3-omics dataset in training (66%) and test (33...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('3-omics')"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [],
"source": [
"multi_omic = {\n",
" 'multi-omic',\n",
" 'muti-omic',\n",
" 'mutli-omic',\n",
" 'multiomic',\n",
" 'cross-omic',\n",
" 'panomic',\n",
" 'pan-omic',\n",
" 'trans-omic',\n",
" 'transomic',\n",
" 'four-omic',\n",
" 'multiple-omic',\n",
" 'inter-omic',\n",
" 'poly-omic',\n",
" 'polyomic',\n",
" 'integromic',\n",
" 'integrated-omic',\n",
" 'integrative-omic',\n",
" '3-omic'\n",
"}\n",
"\n",
"tools = {\n",
" # MixOmics\n",
" 'mixomic',\n",
" # MetaRbolomics\n",
" 'metarbolomic',\n",
" # MinOmics\n",
" 'minomic',\n",
" # LinkedOmics - TCGA portal\n",
" 'linkedomic',\n",
" # Mergeomics - https://doi.org/10.1186/s12864-016-3198-9\n",
" 'mergeomic'\n",
"}\n",
"\n",
"vague = {\n",
" 'single-omic'\n",
"}\n",
"\n",
"adjectives = {\n",
" 'economic',\n",
" 'socio-economic',\n",
" 'socioeconomic',\n",
" 'taxonomic',\n",
" 'syndromic',\n",
" 'non-syndromic',\n",
" 'agronomic',\n",
" 'anatomic',\n",
" 'autonomic',\n",
" 'atomic',\n",
" 'palindromic',\n",
" # temporal\n",
" 'postgenomic',\n",
" 'post-genomic'\n",
"}\n",
"\n",
"not_an_omic = {\n",
" 'non-omic', # this on was straightforward :)\n",
" *adjectives,\n",
" *multi_omic,\n",
" *tools,\n",
" *vague\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>uid</th>\n",
" <th>match</th>\n",
" <th>term</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>12186644</td>\n",
" <td>1</td>\n",
" <td>genomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>12186644</td>\n",
" <td>2</td>\n",
" <td>genomic</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" uid match term\n",
"1 12186644 1 genomic\n",
"2 12186644 2 genomic"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"omic_occurrences = (\n",
" literature['title_abstract_text_subjects'].str.lower()\n",
" .str.extractall(omics_re)[0]\n",
" .to_frame('term').reset_index()\n",
")\n",
"omic_occurrences = omic_occurrences[~omic_occurrences.term.isin(not_an_omic)]\n",
"omic_occurrences.head(2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2.1 Harmonise hyphenation"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>more_popular</th>\n",
" <th>less_popular</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>metabolomic</td>\n",
" <td>meta-bolomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>metagenomic</td>\n",
" <td>meta-genomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>epigenomic</td>\n",
" <td>epi-genomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>lipidomic</td>\n",
" <td>lipid-omic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>metaproteomic</td>\n",
" <td>meta-proteomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>metatranscriptomic</td>\n",
" <td>meta-transcriptomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>proteogenomic</td>\n",
" <td>proteo-genomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>pharmacogenomic</td>\n",
" <td>pharmaco-genomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>phosphoproteomic</td>\n",
" <td>phospho-proteomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>meta-omic</td>\n",
" <td>metaomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>exometabolomic</td>\n",
" <td>exo-metabolomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>immunogenomic</td>\n",
" <td>immuno-genomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>non-genomic</td>\n",
" <td>nongenomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>proteo-transcriptomic</td>\n",
" <td>proteotranscriptomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>metaproteogenomic</td>\n",
" <td>meta-proteogenomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>cellomic</td>\n",
" <td>cell-omic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>epi-transcriptomic</td>\n",
" <td>epitranscriptomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>multigenomic</td>\n",
" <td>multi-genomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>meta-metabolomic</td>\n",
" <td>metametabolomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>systems-genomic</td>\n",
" <td>systemsgenomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>multiproteomic</td>\n",
" <td>multi-proteomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>imaging-genomic</td>\n",
" <td>imaginggenomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>immuno-proteomic</td>\n",
" <td>immunoproteomic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>multomic</td>\n",
" <td>mult-omic</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>endometabolomic</td>\n",
" <td>endo-metabolomic</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" more_popular less_popular\n",
"0 metabolomic meta-bolomic\n",
"1 metagenomic meta-genomic\n",
"2 epigenomic epi-genomic\n",
"3 lipidomic lipid-omic\n",
"4 metaproteomic meta-proteomic\n",
"5 metatranscriptomic meta-transcriptomic\n",
"6 proteogenomic proteo-genomic\n",
"7 pharmacogenomic pharmaco-genomic\n",
"8 phosphoproteomic phospho-proteomic\n",
"9 meta-omic metaomic\n",
"10 exometabolomic exo-metabolomic\n",
"11 immunogenomic immuno-genomic\n",
"12 non-genomic nongenomic\n",
"13 proteo-transcriptomic proteotranscriptomic\n",
"14 metaproteogenomic meta-proteogenomic\n",
"15 cellomic cell-omic\n",
"16 epi-transcriptomic epitranscriptomic\n",
"17 multigenomic multi-genomic\n",
"18 meta-metabolomic metametabolomic\n",
"19 systems-genomic systemsgenomic\n",
"20 multiproteomic multi-proteomic\n",
"21 imaging-genomic imaginggenomic\n",
"22 immuno-proteomic immunoproteomic\n",
"23 multomic mult-omic\n",
"24 endometabolomic endo-metabolomic"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"hyphenation_rules = report_hyphenation_trends(omic_occurrences.term)\n",
"hyphenation_rules"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [],
"source": [
"omic_occurrences.term = harmonise_hyphenation(omic_occurrences.term, hyphenation_rules)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2.2 Fix typos"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>rare_term</th>\n",
" <th>popular_term</th>\n",
" <th>similarity</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>phoshphoproteomic</td>\n",
" <td>phosphoproteomic</td>\n",
" <td>0.969697</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>trascriptomic</td>\n",
" <td>transcriptomic</td>\n",
" <td>0.962963</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>transriptomic</td>\n",
" <td>transcriptomic</td>\n",
" <td>0.962963</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>transcripomic</td>\n",
" <td>transcriptomic</td>\n",
" <td>0.962963</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>transciptomic</td>\n",
" <td>transcriptomic</td>\n",
" <td>0.962963</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>trancriptomic</td>\n",
" <td>transcriptomic</td>\n",
" <td>0.962963</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>metageonomic</td>\n",
" <td>metagenomic</td>\n",
" <td>0.956522</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>metaobolomic</td>\n",
" <td>metabolomic</td>\n",
" <td>0.956522</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>metabotranscriptomic</td>\n",
" <td>metatranscriptomic</td>\n",
" <td>0.947368</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>mirnaomic</td>\n",
" <td>mirnomic</td>\n",
" <td>0.941176</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>metranscriptomic</td>\n",
" <td>metatranscriptomic</td>\n",
" <td>0.941176</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>metranscriptomic</td>\n",
" <td>transcriptomic</td>\n",
" <td>0.933333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>miromic</td>\n",
" <td>mirnomic</td>\n",
" <td>0.933333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>n-glycoproteomic</td>\n",
" <td>glycoproteomic</td>\n",
" <td>0.933333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>onomic</td>\n",
" <td>ionomic</td>\n",
" <td>0.923077</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>c-metabolomic</td>\n",
" <td>metabolomic</td>\n",
" <td>0.916667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>integratomic</td>\n",
" <td>interactomic</td>\n",
" <td>0.916667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>pharmacoepigenomic</td>\n",
" <td>pharmacogenomic</td>\n",
" <td>0.909091</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>metobolomic</td>\n",
" <td>metabolomic</td>\n",
" <td>0.909091</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>scepigenomic</td>\n",
" <td>epigenomic</td>\n",
" <td>0.909091</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>epigenomomic</td>\n",
" <td>epigenomic</td>\n",
" <td>0.909091</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" rare_term popular_term similarity\n",
"0 phoshphoproteomic phosphoproteomic 0.969697\n",
"1 trascriptomic transcriptomic 0.962963\n",
"2 transriptomic transcriptomic 0.962963\n",
"3 transcripomic transcriptomic 0.962963\n",
"4 transciptomic transcriptomic 0.962963\n",
"5 trancriptomic transcriptomic 0.962963\n",
"6 metageonomic metagenomic 0.956522\n",
"7 metaobolomic metabolomic 0.956522\n",
"8 metabotranscriptomic metatranscriptomic 0.947368\n",
"9 mirnaomic mirnomic 0.941176\n",
"10 metranscriptomic metatranscriptomic 0.941176\n",
"11 metranscriptomic transcriptomic 0.933333\n",
"12 miromic mirnomic 0.933333\n",
"13 n-glycoproteomic glycoproteomic 0.933333\n",
"14 onomic ionomic 0.923077\n",
"15 c-metabolomic metabolomic 0.916667\n",
"16 integratomic interactomic 0.916667\n",
"17 pharmacoepigenomic pharmacogenomic 0.909091\n",
"18 metobolomic metabolomic 0.909091\n",
"19 scepigenomic epigenomic 0.909091\n",
"20 epigenomomic epigenomic 0.909091"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"omic_counts = omic_occurrences.drop_duplicates(['uid', 'term']).term.sorted_value_counts()\n",
"potential_omic_typos = find_term_typos(omic_counts, TERM_IN_AT_LEAST_N_ARTICLES - 1)\n",
"potential_omic_typos"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"26870025 against pathogenic infections. In addition, other non-omic techniques such as real-time PCR (qPC...\n",
"28935855 the extent of ethnic variation at these omics and non-omics biomarkers. It is evident that there...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('non-omic')"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"30936206 h the Entner-Doudoroff pathway. We integrated the C-metabolomics data with physiological paramet...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('C-metabolomics')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Not captured in the text abstract, but full version has 13C, so carbon-13, so type of metabolomics."
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"29312565 consequences in cells. Integrating metabolomics, miRNAomics and proteomics approach and thereby...\n",
"32204397 d in the literature [\\nIntegrated analysis of this miRNAomics and transcriptomics dataset has al...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('miRNAomics')"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"28005952 by integrating patient derived transcriptomic and miRomics data into gene/miRNA/transcription fa...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('miRomics')"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"29927748 MinOmics, an Integrative and Immersive Tool for Mu\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('MinOmics')"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"31555316 been relevant in problem domains ranging across economics, robotics, genomics, chemometrics, and...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('onomic', words=True)"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"31555316 Multitable Methods for Microbiome Data Integration. The simultaneous study of multiple measureme...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"literature.loc[omic_occurrences[omic_occurrences.term == 'onomic'].uid].title_abstract_text_subjects"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"31555316 corresponds to a species, and is shaded in by tax onomic family. Species with loadings far from...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input(r'\\bonomic', words=False, highlight=' onomic')"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"25330259 rRNA; to assess the elemental content we employed ionomics by inductively coupled plasma optica...\n",
"25660284 ranscriptomics, lipidomics, cytomics, metallomics, ionomics, interactomics, and phenomics. These...\n",
"27821058 salt tolerance, were used to determine changes of ionomic, metabolomic and proteomic profiles i...\n",
"30904092 nomics, transcriptomics, proteomics, phenomics and ionomics in delineating the complex molecular...\n",
"31232451 ). Fine isolation of cell components combined with ionomics revealed that more Cd accumulated in...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input(' ionomic', words=False)"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"29356624 different omics layers, integromics (also termed integratomics or integrated omics) studies aim...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('integratomic', words=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note: integratomics has literally three hits in PubMed, two because of http://www.integratomics-time.com/"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [],
"source": [
"is_typo_subset_or_variant = {\n",
" ('phoshphoproteomic', 'phosphoproteomic'): True,\n",
" ('transriptomic', 'transcriptomic'): True,\n",
" ('transcripomic', 'transcriptomic'): True,\n",
" ('transciptomic', 'transcriptomic'): True,\n",
" ('trancriptomic', 'transcriptomic'): True,\n",
" ('trascriptomic', 'transcriptomic'): True,\n",
" ('metageonomic', 'metagenomic'): True,\n",
" ('metaobolomic', 'metabolomic'): True,\n",
" ('metabotranscriptomic', 'metatranscriptomic'): False,\n",
" ('mirnaomic', 'mirnomic'): True,\n",
" ('metranscriptomic', 'metatranscriptomic'): True,\n",
" ('metranscriptomic', 'transcriptomic'): False,\n",
" ('miromic', 'mirnomic'): True,\n",
" ('n-glycoproteomic', 'glycoproteomic'): True,\n",
" ('onomic', 'ionomic'): False,\n",
" ('c-metabolomic', 'metabolomic'): True,\n",
" ('integratomic', 'interactomic'): False,\n",
" ('pharmacoepigenomic', 'pharmacogenomic'): False,\n",
" ('metobolomic', 'metabolomic'): True,\n",
" # how to treat single-cell?\n",
" ('scepigenomic', 'epigenomic'): True,\n",
" #('epitranscriptomic', 'transcriptomic'): False\n",
" ('epigenomomic', 'epigenomic'): True,\n",
"}\n",
"omic_typos_map = create_typos_map(potential_omic_typos, is_typo_subset_or_variant)"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"n-glycoproteomic 8\n",
"mirnaomic 2\n",
"transciptomic 2\n",
"transcripomic 1\n",
"scepigenomic 1\n",
"metranscriptomic 1\n",
"metageonomic 1\n",
"metaobolomic 1\n",
"epigenomomic 1\n",
"trascriptomic 1\n",
"transriptomic 1\n",
"miromic 1\n",
"trancriptomic 1\n",
"c-metabolomic 1\n",
"metobolomic 1\n",
"phoshphoproteomic 1\n",
"Name: term, dtype: int64"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"replaced = omic_occurrences.term[omic_occurrences.term.isin(omic_typos_map)]\n",
"replaced.value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"25"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(replaced)"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {},
"outputs": [],
"source": [
"omic_occurrences.term = omic_occurrences.term.replace(omic_typos_map)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2.3 Popular *omic(s) terms:"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"index\n",
"genomics 1365\n",
"proteomics 1135\n",
"transcriptomics 1095\n",
"metabolomics 849\n",
"epigenomics 273\n",
"metagenomics 203\n",
"lipidomics 120\n",
"pharmacogenomics 70\n",
"metatranscriptomics 69\n",
"metaproteomics 65\n",
"phosphoproteomics 55\n",
"proteogenomics 52\n",
"phenomics 50\n",
"fluxomics 36\n",
"glycomics 33\n",
"meta-omics 28\n",
"metabonomics 24\n",
"interactomics 23\n",
"microbiomics 21\n",
"methylomics 18\n",
"radiomics 18\n",
"peptidomics 16\n",
"glycoproteomics 14\n",
"nutrigenomics 14\n",
"mirnomics 13\n",
"secretomics 12\n",
"toxicogenomics 11\n",
"phylogenomics 10\n",
"radiogenomics 10\n",
"immunogenomics 8\n",
"pharmacometabolomics 7\n",
"viromics 7\n",
"foodomics 5\n",
"ionomics 5\n",
"Name: term, dtype: int64"
]
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"omic_counts = omic_occurrences.drop_duplicates(['uid', 'term']).term.sorted_value_counts()\n",
"omic_counts[omic_counts >= TERM_IN_AT_LEAST_N_ARTICLES].add_suffix('s')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Crude overview"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {},
"outputs": [],
"source": [
"ome_terms = Series(ome_counts[ome_counts >= TERM_IN_AT_LEAST_N_ARTICLES].index)\n",
"omic_terms = Series(omic_counts[omic_counts >= TERM_IN_AT_LEAST_N_ARTICLES].index)"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [],
"source": [
"assert omics_features.index.name == 'uid'\n",
"\n",
"for term in ome_terms:\n",
" mentioned_by_uid = set(ome_occurrences[ome_occurrences.term == term].uid)\n",
" omics_features['mentions_' + term] = omics_features.index.isin(mentioned_by_uid)\n",
"\n",
"for term in omic_terms:\n",
" mentioned_by_uid = set(omic_occurrences[omic_occurrences.term == term].uid)\n",
" omics_features['mentions_' + term] = omics_features.index.isin(mentioned_by_uid)"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [],
"source": [
"from helpers.text_processing import prefix_remover\n",
"\n",
"ome_terms_mentioned = omics_features['mentions_' + ome_terms].rename(columns=prefix_remover('mentions_'))\n",
"omic_terms_mentioned = omics_features['mentions_' + omic_terms].rename(columns=prefix_remover('mentions_'))"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [],
"source": [
"%R library(ComplexUpset);"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1] \"Dropping 22 empty groups\"\n"
]
},
{
"data": {
"image/png": "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\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -i ome_terms_mentioned -w 800 -r 100\n",
"\n",
"upset(ome_terms_mentioned, colnames(ome_terms_mentioned), min_size=10, width_ratio=0.1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Merge -ome and -omic terms"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Creating omic whole-genomics\n",
"Creating omic exomics\n",
"Creating omic whole-exomics\n",
"Creating omic exposomics\n",
"Creating omic whole-transcriptomics\n",
"Creating omic translatomics\n",
"Creating omic regulomics\n",
"Creating omic immunomics\n",
"Creating omic degradomics\n",
"Creating omic pan-genomics\n",
"Creating omic kinomics\n",
"Creating omic mycobiomics\n"
]
}
],
"source": [
"from warnings import warn\n",
"\n",
"terms_associated_with_omic = {\n",
" omic + 's': [omic]\n",
" for omic in omic_terms\n",
"}\n",
"\n",
"for ome in ome_terms:\n",
" assert ome.endswith('ome')\n",
" auto_generate_omic_term = ome[:-3] + 'omics'\n",
" omic = auto_generate_omic_term\n",
" if omic not in terms_associated_with_omic:\n",
" if omic in omic_counts.index:\n",
" warn(f'{omic} was removed at thresholding, but it is a frequent -ome!')\n",
" else:\n",
" print(f'Creating omic {omic}')\n",
" terms_associated_with_omic[omic] = []\n",
"\n",
" terms_associated_with_omic[omic].append(ome)"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {},
"outputs": [],
"source": [
"from omics import add_entities_to_features\n",
"\n",
"\n",
"add_entities_to_omic_features = partial(\n",
" add_entities_to_features,\n",
" features=omics_features,\n",
" omics_terms=terms_associated_with_omic\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ome_or_omic</th>\n",
" <th>terms</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>genomics</td>\n",
" <td>[genome, genomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>proteomics</td>\n",
" <td>[proteome, proteomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>transcriptomics</td>\n",
" <td>[transcriptome, transcriptomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>metabolomics</td>\n",
" <td>[metabolome, metabolomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>epigenomics</td>\n",
" <td>[epigenome, epigenomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>metagenomics</td>\n",
" <td>[metagenome, metagenomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>lipidomics</td>\n",
" <td>[lipidome, lipidomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>pharmacogenomics</td>\n",
" <td>[pharmacogenomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>metatranscriptomics</td>\n",
" <td>[metatranscriptome, metatranscriptomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>metaproteomics</td>\n",
" <td>[metaproteome, metaproteomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>phosphoproteomics</td>\n",
" <td>[phosphoproteome, phosphoproteomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>proteogenomics</td>\n",
" <td>[proteogenomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>phenomics</td>\n",
" <td>[phenome, phenomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>fluxomics</td>\n",
" <td>[fluxome, fluxomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>glycomics</td>\n",
" <td>[glycome, glycomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>meta-omics</td>\n",
" <td>[meta-omic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>metabonomics</td>\n",
" <td>[metabonomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>interactomics</td>\n",
" <td>[interactome, interactomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>microbiomics</td>\n",
" <td>[microbiome, microbiomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>methylomics</td>\n",
" <td>[methylome, methylomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>radiomics</td>\n",
" <td>[radiomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>peptidomics</td>\n",
" <td>[peptidome, peptidomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>glycoproteomics</td>\n",
" <td>[glycoproteome, glycoproteomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>nutrigenomics</td>\n",
" <td>[nutrigenomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>mirnomics</td>\n",
" <td>[mirnome, mirnomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>secretomics</td>\n",
" <td>[secretome, secretomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>toxicogenomics</td>\n",
" <td>[toxicogenomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>phylogenomics</td>\n",
" <td>[phylogenomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>radiogenomics</td>\n",
" <td>[radiogenomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>immunogenomics</td>\n",
" <td>[immunogenomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>pharmacometabolomics</td>\n",
" <td>[pharmacometabolomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>viromics</td>\n",
" <td>[virome, viromic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>foodomics</td>\n",
" <td>[foodomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>ionomics</td>\n",
" <td>[ionomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>whole-genomics</td>\n",
" <td>[whole-genome]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>exomics</td>\n",
" <td>[exome]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>whole-exomics</td>\n",
" <td>[whole-exome]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>exposomics</td>\n",
" <td>[exposome]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>whole-transcriptomics</td>\n",
" <td>[whole-transcriptome]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>translatomics</td>\n",
" <td>[translatome]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td>regulomics</td>\n",
" <td>[regulome]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td>immunomics</td>\n",
" <td>[immunome]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42</th>\n",
" <td>degradomics</td>\n",
" <td>[degradome]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43</th>\n",
" <td>pan-genomics</td>\n",
" <td>[pan-genome]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44</th>\n",
" <td>kinomics</td>\n",
" <td>[kinome]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45</th>\n",
" <td>mycobiomics</td>\n",
" <td>[mycobiome]</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" ome_or_omic terms\n",
"0 genomics [genome, genomic]\n",
"1 proteomics [proteome, proteomic]\n",
"2 transcriptomics [transcriptome, transcriptomic]\n",
"3 metabolomics [metabolome, metabolomic]\n",
"4 epigenomics [epigenome, epigenomic]\n",
"5 metagenomics [metagenome, metagenomic]\n",
"6 lipidomics [lipidome, lipidomic]\n",
"7 pharmacogenomics [pharmacogenomic]\n",
"8 metatranscriptomics [metatranscriptome, metatranscriptomic]\n",
"9 metaproteomics [metaproteome, metaproteomic]\n",
"10 phosphoproteomics [phosphoproteome, phosphoproteomic]\n",
"11 proteogenomics [proteogenomic]\n",
"12 phenomics [phenome, phenomic]\n",
"13 fluxomics [fluxome, fluxomic]\n",
"14 glycomics [glycome, glycomic]\n",
"15 meta-omics [meta-omic]\n",
"16 metabonomics [metabonomic]\n",
"17 interactomics [interactome, interactomic]\n",
"18 microbiomics [microbiome, microbiomic]\n",
"19 methylomics [methylome, methylomic]\n",
"20 radiomics [radiomic]\n",
"21 peptidomics [peptidome, peptidomic]\n",
"22 glycoproteomics [glycoproteome, glycoproteomic]\n",
"23 nutrigenomics [nutrigenomic]\n",
"24 mirnomics [mirnome, mirnomic]\n",
"25 secretomics [secretome, secretomic]\n",
"26 toxicogenomics [toxicogenomic]\n",
"27 phylogenomics [phylogenomic]\n",
"28 radiogenomics [radiogenomic]\n",
"29 immunogenomics [immunogenomic]\n",
"30 pharmacometabolomics [pharmacometabolomic]\n",
"31 viromics [virome, viromic]\n",
"32 foodomics [foodomic]\n",
"33 ionomics [ionomic]\n",
"34 whole-genomics [whole-genome]\n",
"35 exomics [exome]\n",
"36 whole-exomics [whole-exome]\n",
"37 exposomics [exposome]\n",
"38 whole-transcriptomics [whole-transcriptome]\n",
"39 translatomics [translatome]\n",
"40 regulomics [regulome]\n",
"41 immunomics [immunome]\n",
"42 degradomics [degradome]\n",
"43 pan-genomics [pan-genome]\n",
"44 kinomics [kinome]\n",
"45 mycobiomics [mycobiome]"
]
},
"execution_count": 72,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"omics = {k: [k] for k in terms_associated_with_omic}\n",
"add_entities_to_omic_features(omics, entity_type='ome_or_omic')"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {},
"outputs": [],
"source": [
"from omics import omics_by_entity, omics_by_entity_group"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"interactomics is a proper \"omics\", but it is difficult to assign to a single entity - by definition"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"19910409 termines abundance of small cellular metabolites; interactomics, which resolves the whole set of...\n",
"22510581 sent study we performed an integrated proteomics, interactomics and metabolomics analysis of Lon...\n",
"23137709 ed investigations (metabolomics, transcriptomics, interactomics, phosphoproteomics, mathematical...\n",
"23248778 tis through genomics, trascriptomics, proteomics, interactomics, etc. These studies serve as fou...\n",
"25111155 mbining proteomics, transcriptomics, genomics and interactomics data. This approach identified a...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 74,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('interactomics')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"phylogenomics is not an omic on its own, but if used in context of metagenomics it can refer to actual omics data"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"23122336 ematic analysis of the Hsf family in rice using a phylogenomics-based approach that integrates m...\n",
"27480683 stems. Recent advances in genomics, metabolomics, phylogenomics, and synthetic biology now enabl...\n",
"27540739 segmentally duplicated (Itoh et al. \\nTo date, six phylogenomics databases have been developed f...\n",
"27633273 otation browser, genes and proteins, epitope map, phylogenomics, molecular diagnostic primers, t...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('phylogenomics')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"regulomics is both a name of a tool, group (@MIM UW), and omics:"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"30985253 to integrate transcriptomics, interactomics, and regulomics data in using a network-based mult...\n",
"31494994 s is available at http://bioinfo.sibs.ac.cn/plant-regulomics. \n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 76,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input('regulomics')"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'immunomics', 'interactomics', 'phylogenomics', 'regulomics'}"
]
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from functools import reduce\n",
"omics_mapped_to_entities = reduce(set.union, omics_by_entity.values())\n",
"set(terms_associated_with_omic) - omics_mapped_to_entities"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {},
"outputs": [],
"source": [
"assert omics_mapped_to_entities - set(terms_associated_with_omic) == set()"
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'phylogenomics', 'regulomics'}"
]
},
"execution_count": 79,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"omics_mapped_to_entities_groups = reduce(set.union, omics_by_entity_group.values())\n",
"set(terms_associated_with_omic) - omics_mapped_to_entities_groups"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>entity</th>\n",
" <th>terms</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>genes</td>\n",
" <td>[exome, genome, genomic, immunogenomic, whole-exome, whole-genome]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>transcripts</td>\n",
" <td>[mirnome, mirnomic, transcriptome, transcriptomic, translatome, whole-transcriptome]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>proteins & peptides</td>\n",
" <td>[degradome, peptidome, peptidomic, proteogenomic, proteome, proteomic, secretome, secretomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>clades (meta-* & pan-*)</td>\n",
" <td>[meta-omic, metagenome, metagenomic, metaproteome, metaproteomic, metatranscriptome, metatranscr...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>epigenetic modifications</td>\n",
" <td>[epigenome, epigenomic, methylome, methylomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>protein modifications</td>\n",
" <td>[glycoproteome, glycoproteomic, kinome, phosphoproteome, phosphoproteomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>exogenous factors</td>\n",
" <td>[exposome, foodomic, nutrigenomic, pharmacogenomic, pharmacometabolomic, toxicogenomic]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>endogenous molecules</td>\n",
" <td>[fluxome, fluxomic, glycome, glycomic, ionomic, lipidome, lipidomic, metabolome, metabolomic, me...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>clinical data</td>\n",
" <td>[phenome, phenomic, radiogenomic, radiomic]</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" entity \\\n",
"0 genes \n",
"1 transcripts \n",
"2 proteins & peptides \n",
"3 clades (meta-* & pan-*) \n",
"4 epigenetic modifications \n",
"5 protein modifications \n",
"6 exogenous factors \n",
"7 endogenous molecules \n",
"8 clinical data \n",
"\n",
" terms \n",
"0 [exome, genome, genomic, immunogenomic, whole-exome, whole-genome] \n",
"1 [mirnome, mirnomic, transcriptome, transcriptomic, translatome, whole-transcriptome] \n",
"2 [degradome, peptidome, peptidomic, proteogenomic, proteome, proteomic, secretome, secretomic] \n",
"3 [meta-omic, metagenome, metagenomic, metaproteome, metaproteomic, metatranscriptome, metatranscr... \n",
"4 [epigenome, epigenomic, methylome, methylomic] \n",
"5 [glycoproteome, glycoproteomic, kinome, phosphoproteome, phosphoproteomic] \n",
"6 [exposome, foodomic, nutrigenomic, pharmacogenomic, pharmacometabolomic, toxicogenomic] \n",
"7 [fluxome, fluxomic, glycome, glycomic, ionomic, lipidome, lipidomic, metabolome, metabolomic, me... \n",
"8 [phenome, phenomic, radiogenomic, radiomic] "
]
},
"execution_count": 80,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"add_entities_to_omic_features(omics_by_entity, entity_type='entity')"
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>entity_group</th>\n",
" <th>terms</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>proteins, peptides & modifications</td>\n",
" <td>[degradome, glycoproteome, glycoproteomic, kinome, peptidome, peptidomic, phosphoproteome, phosp...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>metabolites & other molecules</td>\n",
" <td>[exposome, fluxome, fluxomic, glycome, glycomic, ionomic, lipidome, lipidomic, metabolome, metab...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>genes, epigenetics & genetic associations</td>\n",
" <td>[epigenome, epigenomic, exome, genome, genomic, immunogenomic, methylome, methylomic, nutrigenom...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>clades (meta-* & pan-*)</td>\n",
" <td>[meta-omic, metagenome, metagenomic, metaproteome, metaproteomic, metatranscriptome, metatranscr...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>transcripts</td>\n",
" <td>[mirnome, mirnomic, transcriptome, transcriptomic, translatome, whole-transcriptome]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>other</td>\n",
" <td>[foodomic, immunome, interactome, interactomic, phenome, phenomic, radiogenomic, radiomic]</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" entity_group \\\n",
"0 proteins, peptides & modifications \n",
"1 metabolites & other molecules \n",
"2 genes, epigenetics & genetic associations \n",
"3 clades (meta-* & pan-*) \n",
"4 transcripts \n",
"5 other \n",
"\n",
" terms \n",
"0 [degradome, glycoproteome, glycoproteomic, kinome, peptidome, peptidomic, phosphoproteome, phosp... \n",
"1 [exposome, fluxome, fluxomic, glycome, glycomic, ionomic, lipidome, lipidomic, metabolome, metab... \n",
"2 [epigenome, epigenomic, exome, genome, genomic, immunogenomic, methylome, methylomic, nutrigenom... \n",
"3 [meta-omic, metagenome, metagenomic, metaproteome, metaproteomic, metatranscriptome, metatranscr... \n",
"4 [mirnome, mirnomic, transcriptome, transcriptomic, translatome, whole-transcriptome] \n",
"5 [foodomic, immunome, interactome, interactomic, phenome, phenomic, radiogenomic, radiomic] "
]
},
"execution_count": 81,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"add_entities_to_omic_features(omics_by_entity_group, entity_type='entity_group')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Visualize the entities & entities groups"
]
},
{
"cell_type": "code",
"execution_count": 82,
"metadata": {},
"outputs": [],
"source": [
"omic_entities = omics_features['entity_' + Series(list(omics_by_entity.keys()))].rename(columns=prefix_remover('entity_'))\n",
"omic_entities_groups = omics_features['entity_group_' + Series(list(omics_by_entity_group.keys()))].rename(columns=prefix_remover('entity_group_'))"
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -i omic_entities -w 800 -r 100\n",
"\n",
"upset(omic_entities, colnames(omic_entities), min_size=10, width_ratio=0.1)"
]
},
{
"cell_type": "code",
"execution_count": 84,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -i omic_entities_groups -w 800 -r 100\n",
"\n",
"upset(omic_entities_groups, colnames(omic_entities_groups), min_size=10, width_ratio=0.1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Number of omics mentioned in abstract vs the multi-omic term used"
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {},
"outputs": [],
"source": [
"omes_or_omics_df = omics_features['ome_or_omic_' + Series(list(omics.keys()))].rename(columns=prefix_remover('ome_or_omic_'))"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [],
"source": [
"literature['omic_terms_detected'] = omes_or_omics_df.sum(axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [],
"source": [
"lt = literature[['term', 'omic_terms_detected']]"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>title</th>\n",
" <th>omic_terms_detected</th>\n",
" </tr>\n",
" <tr>\n",
" <th>uid</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>31779274</th>\n",
" <td>The State-of-the Art of Environmental Toxicogenomics: Challenges and Perspectives of \"Omics\" App...</td>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31142855</th>\n",
" <td>Multi-omics of the gut microbial ecosystem in inflammatory bowel diseases.</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32318338</th>\n",
" <td>Computational Oncology in the Multi-Omics Era: State of the Art.</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29362952</th>\n",
" <td>The role of the clinician in the multi-omics era: are you ready?</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28271979</th>\n",
" <td>Toward a Taxonomy for Multi-Omics Science? Terminology Development for Whole Genome Study Approa...</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32326339</th>\n",
" <td>Precision Medicine in Childhood Asthma: Omic Studies of Treatment Response.</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25211071</th>\n",
" <td>The Integrative Human Microbiome Project: dynamic analysis of microbiome-host omics profiles dur...</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32047482</th>\n",
" <td>The Progress of Multi-Omics Technologies: Determining Function in Lactic Acid Bacteria Using a S...</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29927718</th>\n",
" <td>Multiomics Data Triangulation for Asthma Candidate Biomarkers and Precision Medicine.</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28232845</th>\n",
" <td>Abiotic Stress Responses and Microbe-Mediated Mitigation in Plants: The Omics Strategies.</td>\n",
" <td>10</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" title \\\n",
"uid \n",
"31779274 The State-of-the Art of Environmental Toxicogenomics: Challenges and Perspectives of \"Omics\" App... \n",
"31142855 Multi-omics of the gut microbial ecosystem in inflammatory bowel diseases. \n",
"32318338 Computational Oncology in the Multi-Omics Era: State of the Art. \n",
"29362952 The role of the clinician in the multi-omics era: are you ready? \n",
"28271979 Toward a Taxonomy for Multi-Omics Science? Terminology Development for Whole Genome Study Approa... \n",
"32326339 Precision Medicine in Childhood Asthma: Omic Studies of Treatment Response. \n",
"25211071 The Integrative Human Microbiome Project: dynamic analysis of microbiome-host omics profiles dur... \n",
"32047482 The Progress of Multi-Omics Technologies: Determining Function in Lactic Acid Bacteria Using a S... \n",
"29927718 Multiomics Data Triangulation for Asthma Candidate Biomarkers and Precision Medicine. \n",
"28232845 Abiotic Stress Responses and Microbe-Mediated Mitigation in Plants: The Omics Strategies. \n",
"\n",
" omic_terms_detected \n",
"uid \n",
"31779274 12 \n",
"31142855 11 \n",
"32318338 11 \n",
"29362952 10 \n",
"28271979 10 \n",
"32326339 10 \n",
"25211071 10 \n",
"32047482 10 \n",
"29927718 10 \n",
"28232845 10 "
]
},
"execution_count": 88,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"literature.sort_values('omic_terms_detected', ascending=False)[['title', 'omic_terms_detected']].head(10)"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -i lt -w 800\n",
"(\n",
" ggplot(lt, aes(x=term, y=omic_terms_detected))\n",
" + geom_violin(adjust=2)\n",
" + geom_point()\n",
" + theme_bw()\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {},
"outputs": [
{
"data": {
"text/markdown": [
"Stored `omics_features` (32CBB0C4 → 32CBB0C4) at Saturday, 25. Jul 2020 16:02"
],
"text/plain": [
"<IPython.core.display.Markdown object>"
]
},
"metadata": {
"text/markdown": {
"action": "store",
"command": "store omics_features in pubmed_derived_data",
"finished": "2020-07-25T16:02:41.547865",
"finished_human_readable": "Saturday, 25. Jul 2020 16:02",
"result": [
{
"new_file": {
"crc32": "32CBB0C4",
"sha256": "5341315C160BE59D98DC80F7B2F5F2FB982F24900AC029B6301F92EE639DECB8"
},
"old_file": {
"crc32": "32CBB0C4",
"sha256": "5341315C160BE59D98DC80F7B2F5F2FB982F24900AC029B6301F92EE639DECB8"
},
"subject": "omics_features"
}
],
"started": "2020-07-25T16:02:40.544535"
}
},
"output_type": "display_data"
}
],
"source": [
"%vault store omics_features in pubmed_derived_data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Current limitations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Patchy coverage"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Currently I only detected omic-describing terms in less than 70% of abstracts:"
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.8249421296296297"
]
},
"execution_count": 91,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"omic_entities.any(axis=1).mean()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Potential solution: select a random sample of 50 articles, annotate manually, calculate sensitivity and specificity.\n",
"\n",
"If any omic is consistently omitted, reconsider how search terms are created."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Apostrophes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Are we missing out on \\*'omic terms, such us meta'omic used in [here](https://doi.org/10.1053/j.gastro.2014.01.049)?"
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"uid\n",
"31142855 lable through the Inflammatory Bowel Disease Multi'omics Database ( http://ibdmdb.org ), provide...\n",
"32612960 ght and weight of our cohort. We performed a multi'omics [i.e., 16S rRNA amplicon and shotgun me...\n",
"Name: title_abstract_text_subjects, dtype: object"
]
},
"execution_count": 92,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_usage_in_input(\n",
" r'\\w+\\'omic',\n",
" words=False,\n",
" highlight='\\'omic'\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"unlikely (but would be nice to get it in!)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fields of study"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"('genetics', 'epigenetics')"
]
},
"execution_count": 93,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"'genetics', 'epigenetics'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Some authors may prefer to say \"we integrated genetic and proteomic data\" rather than \"genomic and proteomic\""
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}