#!/usr/bin/perl -w use strict; chomp(my @list = grep /^(?:Query|Sbjct) /, <>); s/^\w*\s+\d*\s+([^\s]+).*/$1/ for @list; for my $i (0 .. @list / 2 - 1){ my $mm; my @a = split //, $list[$i*2]; my @b = ('|') x @a; my @c = split //, $list[$i*2+1]; for (0..$#a){ if (uc($a[$_]) ne uc($c[$_])){ $b[$_] = ' '; $mm .= "Mismatch ($a[$_]/$c[$_]) at position " . ($_ + 1) . "\n"; } } print @a, "\n", @b, "\n", @c, "\n"; print $mm ? "$mm\n" : "\n"; } #### TGtAGTGCAGTGGCGCAATCTCGGCTCACTGCAAGCATCGCCTCCTGGGTTCACGCCATT || ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| TGGAGTGCAGTGGCGCAATCTCGGCTCACTGCAAGCATCGCCTCCTGGGTTCACGCCATT Mismatch (t/G) at position 3 CTCCTGCCTCAGCCTCCCGAGTAGCTGGGACTACAGGCATCTGCCACCATGCCCCACTAA |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| CTCCTGCCTCAGCCTCCCGAGTAGCTGGGACTACAGGCATCTGCCACCATGCCCCACTAA ttttttctattttttAGTAGAGACGGGGTTTCACCATGTTAGCCAGGATGGTCTCGATCT |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| TTTTTTCTATTTTTTAGTAGAGACGGGGTTTCACCATGTTAGCCAGGATGGTCTCGATCT CCTGACCTCGTGATCCGCCCACCTCAGCCTCCCAAAGTGCTGGGATTACAGGCGTGAGCC ||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||| CCTGACCTCCTGATCCGCCCACCTCAGCCTCCCAAAGTGCTGGGATTACAGGCGTGAGCC Mismatch (G/C) at position 10 aTGTTTTGAGCATATAGGGAAAATTTATAAAAATTGGCCATGATGaaacataagctcaaa |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ATGTTTTGAGCATATAGGGAAAATTTATAAAAATTGGCCATGATGAAACATAAGCTCAAA aagtttaaaaagaaaactcctaaaagttggcataacaaagcctaaaaaTCATTTCAAACT |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| AAGTTTAAAAAGAAAACTCCTAAAAGTTGGCATAACAAAGCCTAAAAATCATTTCAAACT TGGTATAACTGTTACTAGAAAACCATCTACACAATGACTATATATATGCCTTTATTTCAT |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| TGGTATAACTGTTACTAGAAAACCATCTACACAATGACTATATATATGCCTTTATTTCAT TTTTATGTTACGCTTCTCTTTATATTTGAATCATTCCTTTAAACTACATAAACATTTTCA |||||||||| |||||||||| |||||||| ||||||||||||||||||||||||||||| TTTTATGTTAAGCTTCTCTTTCTATTTGAACCATTCCTTTAAACTACATAAACATTTTCA Mismatch (C/A) at position 11 Mismatch (A/C) at position 22 Mismatch (T/C) at position 31 AGTGTTTGTAAATACCCTTTTAAAAATTACTGCTGTTAGCTGTTCTTCATGATTTTCTTA |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| AGTGTTTGTAAATACCCTTTTAAAAATTACTGCTGTTAGCTGTTCTTCATGATTTTCTTA CTGGTCTCCTTACACATTCGAAATTGGACATTTCCGACTATTTCCTTGGTATGTTTTATA |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| CTGGTCTCCTTACACATTCGAAATTGGACATTTCCGACTATTTCCTTGGTATGTTTTATA