Do Exons Ever Have Different Reading Frames In Spliced Variants?
5
9
Entering edit mode
13.5 years ago
Andrea_Bio ★ 2.8k

Hi

I apologise for the basic molecular biology question but I've been away from this area for quite a while. I was looking at a gene today and noticed that it had different exon boundaries for its splice variants. I had always thought splice variants had the different combinations of the same exons (e.g. splice variant 1 might contain exons 1,2 and 4, splice variant 2 might contain exons 1, 3 and 4). Sometimes you also get intron retention where you get a 'exon' which might be exons 1 and 2 plus the intron between them. In my mind I have a model of making plug and play proteins from different exon combinations

i was a little surprised to find an exon which had different start and end points in different transcripts of the gene. I thought this might still be ok if the exons are still translated from the same starting point and/or have the same reading frame. When I inspected it closer the exon was not translated in either transcript so the gene was still consistent my plug and play model. But this then begs the question, do you ever find genes where exons are translated in different reading frames. This would give a totally different protein sequence in the splice variants. I've never heard of this but that doesn't mean it hasn't been discovered in the ten years since I studied this!

thanks

splicing exon • 9.4k views
ADD COMMENT
7
Entering edit mode
ADD COMMENT
0
Entering edit mode

If you were to use a SNP effect predictor program to look at the effect of a SNP on a protein product, how do they know which reading frame to use to translate in?

ADD REPLY
6
Entering edit mode
13.5 years ago

Let's use the table knownGene at UCSC to find all the alternate frames ( ). This table contains the positions of all the exons for each transcript.

Edit: The following java program downloads and parses the knownGene table. An array of bytes is used to flag all the frames (0|1|2) seen along a chromosome (99=not processed).

We loop over each gene and each exon, and the current frame (0|1|2) is recorded for the current position. The position is printed to screen if two distinct frames have been recorded at one position on the chromosome.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.Arrays;
import java.util.zip.GZIPInputStream;


public class BioStar3034
    {

    void run() throws Exception
        {
        //an array of frame 0/1/2 or 99 if not filled
        byte genome[]=null;
        //download UCSC knownGene
        BufferedReader r=new BufferedReader(new InputStreamReader(
                new GZIPInputStream( new URL(
                "http://hgdownload.cse.ucsc.edu/goldenPath/hg18/database/knownGene.txt.gz").openStream())
                ));
        String line;
        String prevChrom=null;
        while((line=r.readLine())!=null)
            {
            String tokens[]=line.split("[\t]");
            if(!tokens[2].equals("+")) continue;//just use the genes on strand '+'
            String chrom=tokens[1];
            if(prevChrom==null || !(prevChrom.equals(chrom)))
                {
                genome=new byte[300000000];//should be enough for human chr1
                Arrays.fill(genome,0,genome.length,(byte)99);//all the frame
                prevChrom=chrom;
                }

            int cdsStart=Integer.parseInt(tokens[5]);
            int cdsEnd=Integer.parseInt(tokens[6]);
            int exonsCount=Integer.parseInt(tokens[7]);

            String exonStarts[]=tokens[8].split("[,]");
            String exonEnds[]=tokens[9].split("[,]");

            int starts[]=new int[exonsCount];
            int ends[]=new int[exonsCount];
            for(int i=0;i< exonsCount;++i)
                {
                starts[i]=Integer.parseInt(exonStarts[i]);
                ends[i]=Integer.parseInt(exonEnds[i]);
                }

            int position=cdsStart;
            int cDNA=0;
            //loop over the cDNA and flag the frames 0/1/2
            while(position

Compilation:

javac BioStar3034.java

Run:

java BioStar3034

Result:

(...)
chr1:53286158 frame: 0 || 2
chr1:53286159 frame: 1 || 0
chr1:53286160 frame: 2 || 1
chr1:53286161 frame: 0 || 2
chr1:53286162 frame: 1 || 0
chr1:53286163 frame: 2 || 1
chr1:53286164 frame: 0 || 2
chr1:53286165 frame: 1 || 0
chr1:53286166 frame: 2 || 1
chr1:53286167 frame: 0 || 2
chr1:53286168 frame: 1 || 0
chr1:53286169 frame: 2 || 1
chr1:53286170 frame: 0 || 2
(...)

e.g: chr1:53286158 at UCSC is : http://genome.ucsc.edu/cgi-bin/hgTracks?org=Human&db=hg18&position=chr1%3A53286158-53286160

two frames in the region chr1:53286158

ADD COMMENT
0
Entering edit mode

Interesting Pierre, maybe you could explain a bit whats going on here?

ADD REPLY
0
Entering edit mode

Sorry, I've added a few comments :-)

ADD REPLY
0
Entering edit mode

Thanks for your reply Pierre but I'm not entirely sure what your code is doing. Could you elaborate a little please?

ADD REPLY
0
Entering edit mode

I've added some comments. I Hope it's clearer.

ADD REPLY
0
Entering edit mode

Maybe you could say something about the output Pierre? The Result panel above seems to indicate that there is a reading frame displaced by 2bp from another. Following the link you give it looks like there is a single track that matches the others but then has a frame shift and then terminates in a stop codon soon after. Is that how you see it too?

ADD REPLY
5
Entering edit mode
13.5 years ago
Dave Lunt ★ 2.0k

Although it can happen, its going to be exceptionally rare in nature. You might want to be skeptical of this explanation until you have exceptional evidence for it. It is very difficult for such genes to arise by mutation and selection (non-homologous recombination and transposition are possible though). Even if a functional second reading frame were to arise maintaining both is difficult for an organism since an adaptive substitution in one reading frame can be deleterious in the other. Even assuming both can co-exist there is the "jack of all trades, master of none" problem. Selection will not favour such arrangements, and an individual that has a gene duplication of this locus will be at an ENORMOUS advantage since each copy can have a single function free to fix adaptive mutations as they like. The evidence for many functional dual reading frames is I think quite weak.

ADD COMMENT
2
Entering edit mode
12.2 years ago
Anima Mundi ★ 2.9k

It happens: they are called overlapped genes, and are common in viruses. They are probably a way to increase the density of the information of the viral genome (wich has to be packaged).

See here

PS: Viruses display also the capability to produce different proteins starting from the same mature mRNA; this is possible thanks to special sequences, called slippery sequences, that are capable to make the ribosome switch.

ADD COMMENT
0
Entering edit mode
12.2 years ago

Eukaryotes have a lot of stop codons in the wrong reading frames, presumably as a defence, so if the new frame is littered with stops, then that is an indication its wrong.

Also remember to see if there is the splice acceptor and donor sites at exon intron boundaries (AG and GT) normally help to see.

I actually cant answer your question directly as Im trying to find out, but I know for CERTAIN that prokaryotic genomes can read different variants using different frames. There is one famous example I have forgotten the name off where it has a short genome, but it is read in three different frames giving a bunch of genes.

The guy above me is wrong. he is right to say it is difficult for this to evolve (and this has baffled me for some time as it seems impossible to arise by evolution) but it is common.

But in eukaryotes... I am unsure. I am currently doing an exercise where this problem has arisen.

ADD COMMENT

Login before adding your answer.

Traffic: 1999 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6