The paper makes it sound as though at least for the disease-miRNA link, that this is the proper tool, though perhaps not for keywords. It seems that the link to PhenomiR http://mips.helmholtz-muenchen.de/phenomir is down at the moment. Hopefully it is not another stale bioinformatics resource. Thanks.
We have a list of about 30 miRNAs with accession number and name like so:
MIMAT0003313 miR-643
MIMAT0000446 miR-127-3p
MIMAT0002814 miR-432
MIMAT0000423 miR-125b
MIMAT0003214 miR-551a
MIMAT0004694 miR-342-5p
MIMAT0003284 miR-616*
I want to try to connect those miRNAs to diseases or key words--such as "circulating", "plasma", or "cancer". Programs like chilibot can do this well for genes since gene/protein names and aliases are well-mapped. I wonder if it is possible to do this for miRNAs, though. miRNA id's, family names, or aliases do not seem to have such a tool available as I can tell. If something exists which can mine Pubmed or other databases to look for matches between miRNAs in this list and certain keywords/diseases, that would be great. If there is another handy way you can think to do this, I'd love to hear suggestions.
3 answers
I think you will be interested in having a look at PhenomiR (http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2847718/).
If down you should email the authors but I guess it should fullfill your needs at least for the disease part. And you can also ask the authors if they are aware of other tools.
You can use EUtils ESearch to search the NCBI nucleotide database for miRNAs, then link to PubMed using ELink.
Here's a quick example using the BioRuby implementation of EUtils. Search this site too (e.g. for "elink"); the topic has been covered before.
To search the Nucleotide database:
#!/usr/bin/ruby
require "rubygems" # ruby 1.8.7
require "bio"
require "open-uri"
require "crack" # for XML parsing
Bio::NCBI.default_email = "me@me.com"
ncbi = Bio::NCBI::REST.new
ncbi.esearch("miR-643", {"db" => "nucleotide", "retmax" => 200})
# => ["301172193", "270132492"]
To link nucleotide GI with PubMed UIDs:
# use ID 301172193 as example
base = "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/"
suff = "elink.fcgi?dbfrom=nucleotide&db=pubmed&id=301172193"
xml = open("#{base + suff}").read
xml = Crack::XML.parse(xml)
# ugly code to get the PubMed IDs
ids = xml['eLinkResult']['LinkSet']['LinkSetDb'].map {|ls| ls['Link'].map {|l| l['Id']} }
# => [["18760970", "16381832"], ["18760970", "16381832"]]
# more ugly code for unique IDs
ids = ids.flatten.uniq
=> ["18760970", "16381832"]
# do something with IDs e.g. EFetch
Thank you. This looks like an inventive solution. I guess it depends on PubMed entries having good identifiers for miRNAs--something I'll need to look into.
My colleague, Jingchun Sun, had some useful links toward this end including: HMDD The human microRNA disease database (HMDD) and miR2Disease base.
The former of them claims to be more up to date than the latter. I will update once I know more.
Log in to answer this question.