A couple of weeks ago, I wrote a post on identifying OMIM phenotypes that are associated with a gene of interest. I thought I solved the problem by using one of my favourite R packages (biomaRt) but alas. For example, I could not find any OMIM IDs associated with the TTN gene using biomaRt. In the end, I resorted to using the OMIM API through a small R package I wrote called romim.
Firstly, I would like to define what the OMIM Morbid Map is. From the official FAQ it is stated:
The OMIM Gene Map and Morbid Map present the cytogenetic locations of genes and disorders, respectively, that are described in OMIM.
The definition of morbid in this context is: "of the nature of or indicative of disease" rather than referring to death. Specifically the Morbid Map refers to the morbid anatomy of the human genome, which was a chromosomal map of genetic diseases. Since genes are also mapped onto chromosomes, the Morbid Map is a derivative table of genes and genetic phenotypes. I bring this up because this I was using the Morbid Map (mim_morbid) in biomaRt.
After reading the OMIM API help page and the OMIM Search help page more carefully, I realised I could use the API to search for genes associated with OMIM phenotypes. I wrote this into a function called gene_to_omim() in the romim package. To use it you need to request access to the API.
# install necessary packages if you haven't already install.packages('XML') install.packages("devtools") library("devtools") install_github('davetang/romim') library(romim) # replace with your real key set_key('AAAAAAAAAAAAAAAAAAAAAA') my_omim <- gene_to_omim('TTN') # six OMIM phenotypes my_omim  "604145" "613765" "608807" "611705" "603689" "600334" omim_list <- sapply(my_omim, get_omim, geneMap = TRUE) sapply(omim_list, get_title) 604145 613765 "CARDIOMYOPATHY, DILATED, 1G; CMD1G" "CARDIOMYOPATHY, FAMILIAL HYPERTROPHIC, 9; CMH9" 608807 611705 "MUSCULAR DYSTROPHY, LIMB-GIRDLE, TYPE 2J; LGMD2J" "MYOPATHY, EARLY-ONSET, WITH FATAL CARDIOMYOPATHY; EOMFC" 603689 600334 "HEREDITARY MYOPATHY WITH EARLY RESPIRATORY FAILURE; HMERF" "TIBIAL MUSCULAR DYSTROPHY, TARDIVE; TMD"
I have also included a search_phenotype() function to search OMIM phenotypes associated with free text. For example, if you were interested in OMIM phenotypes that contain the word "neuromuscular degeneration":
my_search <- search_phenotype("neuromuscular degeneration") omim_list <- sapply(my_search, get_omim, geneMap = TRUE) sapply(omim_list, get_title) 604320 "SPINAL MUSCULAR ATROPHY, DISTAL, AUTOSOMAL RECESSIVE, 1; DSMA1" 105400 "AMYOTROPHIC LATERAL SCLEROSIS 1; ALS1" sapply(omim_list, get_gene) 604320 105400 "IGHMBP2, SMUBP2, CATF1, SMARD1, HMN6, CMT2S" "DCTN1, HMN7B"
If you use more than one keyword, all the keywords need to be present in the order you specified. The OMIM phenotype entries needed to specifically contain "neuromuscular degeneration" in the example above.
The romim package contains functions that prepare queries in R that can be used to interrogate the OMIM database via the OMIM API. The function gene_to_omim() seems to have solved my problem of associating genes to OMIM phenotypes. I have also written a search_phenotype() function that can search OMIM phenotypes that match your input text. See
help(package=romim) for more information.
This work is licensed under a Creative Commons
Attribution 4.0 International License.