Entering edit mode
The following biomaRt query returns the minor_allele column as logical instead of character:
library("biomaRt")
mart <- useMart(host="feb2014.archive.ensembl.org", biomart="ENSEMBL_MART_SNP")
ensembl <- useDataset("hsapiens_snp", mart=mart)
res <- getBM(attributes=c("chr_name","chrom_start","chrom_strand","allele","refsnp_id", "refsnp_source","minor_allele", "minor_allele_freq"),
filters=c("chr_name", "chrom_start", "chrom_end"), values=list("11", 108202735,108202740), mart=ensembl)
> res
chr_name chrom_start chrom_strand allele refsnp_id refsnp_source
1 11 108202738 1 C/T rs186666661 dbSNP
minor_allele minor_allele_freq
1 TRUE 0.000459137
> class(res$minor_allele)
[1] "logical"
If using a wider range the minor allele is returned correctly:
> res <- getBM(attributes=c("chr_name", "chrom_start","chrom_strand","allele","refsnp_id", "refsnp_source", "minor_allele", "minor_allele_freq"),
filters=c("chr_name", "chrom_start", "chrom_end"), values=list("11", 108202650,108202740),
mart=ensembl)
> res
chr_name chrom_start chrom_strand allele refsnp_id refsnp_source
1 11 108202681 1 HGMD_MUTATION CD991612 HGMD-PUBLIC
2 11 108202681 1 HGMD_MUTATION CD991613 HGMD-PUBLIC
3 11 108202685 1 A/G rs28904920 dbSNP
4 11 108202685 1 HGMD_MUTATION CM0910523 HGMD-PUBLIC
5 11 108202716 1 A/C rs199915459 dbSNP
6 11 108202738 1 C/T rs186666661 dbSNP
minor_allele minor_allele_freq
1 NA
2 NA
3 NA
4 NA
5 C 0.000459137
6 T 0.000459137
> class(res$minor_allele)
[1] "character"
Is there any way to circumvent this behaviour
Regards,
Christian
