[Bioperl-l] Classifying SNPs
Mark A. Jensen
maj at fortinbras.us
Wed Jul 8 15:23:54 UTC 2009
Hey Abhishek-
You might root around in Bio::PopGen. Here's a script to get stuff from
raw fasta data--see comments within.
cheers
Mark
use Bio::AlignIO;
use Bio::PopGen::Utilities;
$file = "your_raw_file.fas";
my $aln = Bio::AlignIO->new(-format=>'fasta', -file=>$file)->next_aln;
# get the alignment into a Bio::PopGen::Population format, with codons
# as the marker sites
my $pop =
Bio::PopGen::Utilities->aln_to_population(-alignment=>$aln, -site_model=>'cod');
# here are your variable codons...
my @cdnpos = $pop->get_marker_names;
# here are your individuals represented in the alignment
my @inds = $pop->get_Individuals;
# which have names like "Codon-3-9", "Codon-4-12", etc
foreach my $cdn (@cdnpos) {
# calculate the unique codons represented at this codon position
my (%ucdns, @ucdns);
@genos = $pop->get_Genotypes(-marker=>$cdn);
$ucdns{$_->get_Alleles}++ for @genos;
@ucdns = sort keys %ucdns;
#
# here, use translate or something faster to identify syn/non-syn
# check out code in Bio::Align::DNAStatistics for various methods
}
# relate back to individuals with this
foreach my $ind (@inds) {
print "Individual ".$ind->unique_id."\n";
print "Site\tAllele\n";
foreach my $cdn (@cdnpos) {
print $cdn, "\t", $ind->get_Genotypes($cdn)->get_Alleles, "\n";
}
}
1;
----- Original Message -----
From: "Abhishek Pratap" <abhishek.vit at gmail.com>
To: <bioperl-l at lists.open-bio.org>
Sent: Wednesday, July 08, 2009 10:24 AM
Subject: [Bioperl-l] Classifying SNPs
Hi All
This might seem to be an old track question. However I was not able to
find a good answer in the many diff mailing list archives.
For all our SNP predictions we would like to know whether they are
synonymous / non-synonymous. If Non-synonymous/Exonic then find the
position on the gene where amino acid is getting changed and to what
...Also info about indels will help.
I am not sure if something like this already exists. If not even some
pointers on how to move forward will help.
Thanks,
-Abhi
_______________________________________________
Bioperl-l mailing list
Bioperl-l at lists.open-bio.org
http://lists.open-bio.org/mailman/listinfo/bioperl-l
More information about the Bioperl-l
mailing list