I have a list of HGNC IDs and wanted to map it to uniprot.swissprot ID.
The tools I have used so far are
- David tool for conversion of IDs,
- Biomart (R package) and
- Mygene.info (R package)
But the problem with the first two tools (David and Biomart) is that they accept only smaller gene list as an input and I have 60,000 list of genes. So, I have also tried Mygene.info as an R package (As I have better understanding of R than python or any other programming languages). But when I try to give a gene list as an input in (mygene) package,
res <- queryMany(c('1053_at', '117_at', '121_at', '1255_g_at', '1294_at'),scopes='reporter', species='human')
it shows
Error: is.request(y) is not TRUE
Why is the error showing, whenever I am inputting a gene-list. Please help me figure out where the problem is and how it can be solved?
Thanks in advance.
I think it needs to be pointed out that you're not passing in a gene list there, they're not HGNC identifiers, they're Affymetrix probeset identifiers, which is not really the same thing at all...
I'd suggest sticking with biomaRt and just getting all genes. You can then match up or filter your results in R. Or am I misunderstanding your problem?
I'm suggesting not supplying any filter values. Just have biomaRt pull the data for all the genes.
Yeah just ran biomaRt without any filters (
ID <- getBM(attributes= c("hgnc_symbol", "uniprot_genename","uniprot_swissprot"),mart= mart)
). Got a list of 35353 genes. So, now I have to map it with my gene list, right? Correct me if I am wrong. Thanks a lot. It solved the problem.In R, this is a subsetting, match(), or merge() operation that will likely take just a second or two to run.
If you don't mind could you please add your answer with an example because I dont want to leave any gap in my understanding.