in reply to Help tracking changes in array
G'day reebee3,
Welcome to the Monastery.
I'd use substr to get the individual bases. Then a simple comparison will identify your SNPs.
#!/usr/bin/env perl -l use strict; use warnings; my ($seq1, $seq2) = qw{ATGGAT ACGGAG}; my $snp = 0; for my $pos (1 .. length $seq1) { my $base1 = substr $seq1, $pos - 1, 1; my $base2 = substr $seq2, $pos - 1, 1; next if $base1 eq $base2; ++$snp; print "SNP $snp is the $base1 --> $base2 at position $pos"; }
Output:
SNP 1 is the T --> C at position 2 SNP 2 is the T --> G at position 6
— Ken
|
|---|