Следующая/предыдущая вырожденная позиция

Макрос позволяет переходить к следующей либо предыдущей вырожденной позиции в нуклеотидной последовательности. По умолчанию использует клавиши CtrlN и CtrlShiftN


macro Descr = "Next or previous redundant position"
Key = "CtrlShiftN CtrlN"
Area = "Editor.'*.aln' Editor.'*.dna' Editor.'*.fasta'"
{{
BM.add();
%key = Key(#AKey);
$while(Editor.RealPos>1)
	$if (%key == "RCtrlN" || %key == "CtrlN")
		%delta=1;
	$else
		%delta=-1;
		$end

	Editor.Pos(1,5,Editor.Pos(0,5)+%delta);

	%curChar=ucase(substr(Editor.Value,Editor.RealPos-1,1));
	$if(%curChar!="A" && %curChar!="T" && %curChar!="G" && %curChar!="C" )
		$exit
		$end
	$end
}}
Вход Регистрация