Question: R BiomaRt human ensemble_gene_ids
0
gravatar for biola
2.8 years ago by
biola10
European Union
biola10 wrote:

Hi everyone, I know this may be the dumbest of the questions but I still can't understand how to work with human gene ids on biomaRt in R.

I just want a panel of attributes for a vector of ensembl names, which are all under the same filter. I've been reading manuals but I still can't let it work

how is it that:

nmid<-c("ENSSSCG00000011590",'ENSSSCG00000026755',"ENSSSCG00000003794","ENSSSCG00000002730")
mart <- useMart(biomart = "ensembl", dataset = "sscrofa_gene_ensembl")
s<-getBM(attributes = c("ensembl_gene_id", "external_gene_name"),
         filters    = "ensembl_gene_id",
         values     = nmid, mart = mart)

works fine while this one, with the same commands (just using the human filters and attributes):

nmid<-c("ENSG00000225630","ENSG00000248527","ENSG00000116251","ENSG00000074800")
mart <- useMart(biomart = "ensembl", dataset = "hsapiens_gene_ensembl")
s<-getBM(attributes = c("ensembl_gene_id", "external_gene_name"),
         filters    = "with_ens_hs_gene",
         values     = nmid, mart = mart)

gives me this output error?

  biomaRt error:  with_ens_hs_gene  is a boolean filter and needs a corresponding logical value of TRUE or FALSE to indicate if the query should retrieve all data that fulfill the boolean or alternatively that all data that not fulfill the requirement should be retrieved.

I tried to input values as values= list(nmid, TRUE) as in How To Use Boolean Filters In Biomart Under R? but nothing changes where should I put the TRUE, then? on the latest biomaRt manual they say "7.2.1 filterType Boolean filters need a value TRUE or FALSE in biomaRt. Setting the value TRUE will include all information that fulfill the filter requirement. Setting FALSE will exclude the information that fulfills the filter requirement and will return all values that don’t fulfill the filter. " but I still don't understand which other filter (or where to put the TRUE value) should I specify if I just want to filter by ensembl gene ids and use a list of names listed in values.

And by the way,

s<-getBM(mart = mart,attributes = c("ensembl_gene_id", "external_gene_name"),values= TRUE ,
         filters    = c( "with_ens_hs_gene"))

works and gives an empty matrix (of course). Where should I put my gene names vector (or list?)

I know, it's that stupid. Anyone can help? many thanks

biomart package R • 1.2k views
ADD COMMENTlink modified 2.8 years ago • written 2.8 years ago by biola10
0
gravatar for biola
2.8 years ago by
biola10
European Union
biola10 wrote:

I guess I found the solution to this stupid problem. It was a wrong filter. it's "ensembl_gene_id" and not "with_ens_hs_gene". Never overlook the power of grep.

thanks.

ADD COMMENTlink written 2.8 years ago by biola10
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 969 users visited in the last hour