I have Illumina MiSeq paired-end reads from 150bp amplicons mapped to my reference genome (> 1000X coverage). These reads have indels that may or may not induce frameshifts. If the indel induces a frameshift (i.e. indel is not a multiple of 3bp), I want to know if that leads to a stop codon later in the read. Is there any package/method that would allow me to do this?
Few extra details
- I might be wrong but I think this is different than gene prediction as I would want the tool to scan each read in the correct frame; not try different frames to detect ORFs etc.
- I expect mosaicism, so I do not want to compute a single assembly/consensus and predict stop codons in it.
Here is how I imagine such a script/tool would work:
- Take the position of the first translated codon of the exon I am interested in (from Ensembl for instance?). Eg. gene abc/exon1 starts at chr1:1000.
Then for each read:
- Look at which position the read is mapped to my reference. Eg. read 1 is mapped to chr1:1050.
- Compute the position of the first full codon in the correct frame in my read. Eg. start codon at chr1:1000 but my read starts at chr1:1050, the first full translated codon in my read should start at chr1:1052 (I think?).
- Split all my read into 3-mers starting at that position and build something like a 3-mer/position dictionnary.
- Look for stop codons and report the positions.
Does it exist?