I am using homo.sapiens package (1.3.1, hg19 annotation) for my annotation, I have noted that when using
genes(Homo.sapiens, columns = "SYMBOL")
there is no HLA class genes included in mcol(HLA-A, HLA-B, HLA-C ...etc), but when I changed code to
transcripts(Homo.sapiens, columns = "SYMBOL")
I can find HLA class genes included in mcol(with several different transcripts).
I am wondering about what caused this issue because in other situations, "genes" command works fairly fine to extract information. Thanks for answering my question.
The genes function basically takes the furthest extent of all transcripts for a particular gene, and returns that. This works really well for the vast majority of all genes, but fails in two notable instances. First, when the gene is found on more than one chromosome (or unplaced scaffold thereof), and second, when the gene is found in discontiguous regions of a chromosome. You have run into problem #1:
Each of these genes is found on chr6, plus multiple unplaced scaffolds. It's not possible to return a single chromosomal region for these genes, so they get dropped. It is however possible to return multiple transcript locations, so transcripts does work.