   I noticed that for some Affymetrix probe sets, "genenames" (annotate) 
returns a single gene whereas "getBM" (biomaRt) returns two:

annotate:
 > library(hgu133a)
 > genenames <- as.list(hgu133aGENENAME)
 > genenames[["200710_at"]]
[1] "acyl-Coenzyme A dehydrogenase, very long chain"

biomaRt:
 > ensemblhuman <- useMart("ensembl", dataset="hsapiens_gene_ensembl")
 > getBM(attributes=c("affy_hg_u133a", "hgnc_symbol", 
"ensembl_transcript_id"),filters="affy_hg_u133a",values="200710_at",mart=ensemblhuman)
affy_hg_u133a hgnc_symbol ensembl_transcript_id
1 200710_at ACADVL ENST00000356839
2 200710_at ACADVL ENST00000322910
3 200710_at ACADVL ENST00000350303
4 200710_at DVL2   ENST00000380838
5 200710_at DVL2   ENST00000005340

  Why are the results from annotate and biomaRT inconsistent? Is there a 
"correct" answer? The above probe set is just one of the examples I came 
across when learning biomaRt using the first 30 rows of my ExpressionSet 
object "eset" produced by nsFilter (see below). My cursory examination 
of ACADVL and DVL2 using the UCSC genome browser suggests that the 
one-to-many behaviour may occur because the genes are physically 
adjacent in the genome (for this and one other example I inspected, the 
genes were head-to-tail).

 > ans <- nsFilter(eset)
 > eset <- ans$eset
 > affyids <- rownames(exprs(eset[1:30, ]))
>  affyids
 [1] "214440_at"   "202376_at"   "201511_at"   "201000_at"   "209459_s_at"
 [6] "203504_s_at" "212772_s_at" "204343_at"   "209620_s_at" "200045_at"
[11] "202123_s_at" "206411_s_at" "212895_s_at" "214274_s_at" "212186_at"
[16] "43427_at"    "202502_at"   "202366_at"   "205355_at"   "200710_at"
[21] "205412_at"   "209608_s_at" "210337_s_at" "207071_s_at" "200793_s_at"
[26] "213501_at"   "201629_s_at" "202767_at"   "204393_s_at" "200974_at"
>  annotation <- unique(getBM(c("affy_hg_u133a", "hgnc_symbol"), 
filters="affy_hg_u133a", values=affyids, mart=ensemblhuman))
>  annotation
affy_hg_u133a hgnc_symbol
 1 200045_at   ABCF1
 4 200710_at   ACADVL
 7 200710_at   DVL2
 9 200793_s_at ACO2
10 200793_s_at POLR3H
13 200974_at
14 200974_at   ACTA2
16 201000_at   AARS
19 201511_at   GPBAR1
20 201511_at   AAMP
21 201629_s_at ACP1
23 202123_s_at ABL1
25 202366_at   ACADS
26 202376_at   SERPINA3
28 202502_at   ACADM
30 202767_at   DDB2
34 202767_at   ACP2
35 203504_s_at ABCA1
36 204343_at   ABCA3
39 204393_s_at ACPP
40 205355_at   ACADSB
42 205412_at   ACAT1
43 206411_s_at ABL2
46 207071_s_at ACO1
49 209459_s_at ABAT
50 209608_s_at ACAT2
51 209608_s_at TCP1
52 209620_s_at ABCB7
55 210337_s_at ACLY
57 212186_at   ACACA
61 212772_s_at ABCA2
64 212895_s_at TIMM22
65 212895_s_at ABR
69 213501_at   ACOX1
71 214274_s_at DLEC1
74 214274_s_at ACAA1
77 214440_at   NAT1
79 43427_at    ACACB

  I don't understand why the results for "200974_at" are a gene with no 
hgnc_symbol and ACTA2 since I thought nsFilter would have removed the 
gene with no name.

  I'm an inexperienced R/Bioconductor user and so am unsure whether I've 
simply made some elementary mistakes.

Saira Mian

	[[alternative HTML version deleted]]

