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