
>
>
>     Before I go further down this route, is there not a simple way to
>     get this information?
>
>
> Stating the obvious, probably, but this is not a question with a 
> simple answer.  You may have to settle on some sort of heuristic 
> (choose a random region, the longest region, the one containing the 
> most transcripts, etc.) to sort out such cases or simply ignore them 
> altogether (throw them away).  Unfortunately, these oddities are 
> present in the human genome (and other expanded genomes) and it is not 
> possible to totally avoid them.
>
I understand the possible pitfalls (and the biology for why they would 
happen), but at the same time, it is still a pretty standard question 
that many databases give some answer to. Generally, I understand gene 
boundaries as the largest region that contains the transcripts annotated 
to be in that gene. This is the case for Ensembl, I believe (where you 
can definitely query the database and get out gene start and stop points 
for a gene id). If there are multiple chromosomes for the same gene id, 
these could be returned as separate entries. I would like to have a 
database query that accomplishes this, like the transcripts and exons 
functions, because my naive implementation (in addition to the problems 
with the multiple chrX and chrY mappings) is extremely slow.

The reason I want this is that I want to pull up all reads from a bam 
file associated with this gene, regardless of the transcript. If I give 
per transcript information, I get reads coming up multiple times, 
because the transcripts from the same gene substantially overlap and the 
reads are pulled up per transcript. This might be useful in some 
setting, but generally I'm going to want to then post-process the reads 
per gene to deal with the multiple transcript problem (yes I know genes 
can overlap too, but this is a problem of smaller magnitude, and I think 
I can deal with that issue separately). Moreover, the number of genes is 
much smaller than the number of transcripts, and I want to reduce the 
number of queries of the bam file, as well as the number of reads I pull 
into memory at a time.

Thanks,
Elizabeth





	[[alternative HTML version deleted]]

