#### Optimale align #### for ($i=1;$i<=$x;$i++) { $z=0; for ($j=1;$j<=$y;$j++) { if ($Hochw eq $LM[$i][$j]) { $Ugabe=$Hochw; $q=$j; $w=$i; for ($k=0;$k<=10000;$k++) { $abbruch=0; if ($Ugabe eq $LM[$w-1][$q]-1) {$qwe=$LM[$w-1][$q]-1; $align[$z]="-$ySeq[$w-1]|"."1"; $Ugabe=$LM[$w-1][$q]; $z=$z+1; $w=$w-1; if ($w eq 0){$k=10000;}else{} } else { $abbruch=1; if (($Ugabe eq $LM[$w-1][$q-1]+2) || ($Ugabe eq $LM[$w-1][$q-1]-1)) {$o=$o+1; $align[$z]="$xSeq[$q-1]$ySeq[$w-1]|"; $Ugabe=$LM[$w-1][$q-1]; $z=$z+1; $q=$q-1; $w=$w-1; if ($w eq 0){$k=10000;}else{} if ($q eq 0){$k=10000;}else{} }else{} } if ($Ugabe eq $LM[$w][$q-1]-1) { $align[$z]="$xSeq[$q-1]-|"."2"; $Ugabe=$LM[$w][$q-1]; $z=$z+1; $q=$q-1; if ($q eq 0){$k=10000;}else{} } else { if ($abbruch eq 1){}else{ if (($Ugabe eq $LM[$w-1][$q-1]+2) || ($Ugabe eq $LM[$w-1][$q-1]-1)) {$o=$o+1; $align[$z]="$xSeq[$w-1]$ySeq[$q-1]|"; $Ugabe=$LM[$w-1][$q-1]; $z=$z+1; $q=$q-1; $w=$w-1; if ($w eq 0){$k=10000;}else{} if ($q eq 0){$k=10000;}else{} }else{}} } } } else{} } } @weiter=reverse(@align); foreach $bla(@weiter) { print $bla; }