[ensembl-dev] How can a SNP cause a frameshift mutation

Will McLaren wm2 at ebi.ac.uk
Wed Nov 3 16:25:38 GMT 2010


Hi Andrea,

I suspect you are either defining the coordinates of your SNPs
incorrectly, or defining the allele_string incorrectly.

A SNP in Ensembl should have its end coordinate equal to its start
coordinate, since by definition it affects only a single base.

It's allele_string should look something like "A/G" where A is the
reference allele and G is the variant allele.

It's hard for me to say which is causing the problem without seeing
your data, but try following these tips and it should be OK.

Cheers

Will McLaren
Ensembl Variation

On 3 November 2010 16:15, Andrea Edwards <edwardsa at cs.man.ac.uk> wrote:
> Hi
>
> I think I am doing something seriously wrong with the ensembl variation
> database. I have a thousand SNPs which I am looking at, all of which are in
> exons and not a single SNP according to my code is a synonymous or non
> synonymous coding SNP. The vast majority of my SNPs seem to be frameshift
> coding. I don't see how a SNP can cause a frameshift mutation - only
> insertions and deletions can cause that.
>
> I'd be grateful if anyone can see what I am doing wrong
>
> #get adaptors
> my $vfa = $reg->get_adaptor($species, 'variation', 'variationfeature');
>        my $sa = $reg->get_adaptor($species, 'core', 'slice');
>        my $transcript_adaptor =$reg->get_adaptor($species,
> 'core','Transcript');
>
> #iterate through my SNPs
>
> while (my $ref = $sth->fetchrow_hashref()) {
>
>        my $slice = $sa->fetch_by_region('chromosome',$ref->{'Chr'});
>                my $new_vf = Bio::EnsEMBL::Variation::VariationFeature->new(
>                        -start => $ref->{'LiftPos'},  #position of SNP
>                        -end => $iLiftPos,
>                        -slice => $slice,           # the variation must be
> attached to a slice
>                        -allele_string => $iallele,    # the first allele
> should be the reference allele
>                        -strand => 1,
>                        -map_weight => 1,
>                        -adaptor => $vfa,           # we must attach a
> variation feature adaptor
>                        -variation_name => 'newSNP',
>                    );
>
>            foreach $transcript_variant
> (@{$new_vf->get_all_TranscriptVariations}) {
>
>                    foreach $consequence
> (@{$transcript_variant->consequence_type}) {
>                        print "$consequence\n";
>                    }
>                }
>
> }
>
> I've stripped the code right down to its minmum as shown above. Not a single
> consequence is synonymous or non synonymous out of 1000 SNPs in exons.
> Plenty of them are intronic but that's to be expected as  SNP might be in
> the exon of one gene but the intron of another.
>
> I'm going to find all the known SNPs in my DNA of interest (cow chromosome
> 7) and see what my code says when ran on known synonymous and non-synonymous
> SNPs.
>
> Any advice or help appreciated
>
> thanks
>
> _______________________________________________
> Dev mailing list
> Dev at ensembl.org
> http://lists.ensembl.org/mailman/listinfo/dev
>




More information about the Dev mailing list