대응별 맞춤 뉴클레오티드의 시퀀스를 사용하여 최대 정확히 일치하는
방법
우리의 제안 알고리즘을 향한 첫 번째 단계는 정렬 순서를 추출하는 MEMs 간의 시퀀스에 직접 비교니다. 그림 3a 는 ctc 와 AAA 가 비교에 의해 식별 된 두 개의 MEMs 인 대상과 쿼리 시퀀스를 비교하는 예입니다. 비교에서 연속 동일한 기호의 각 그룹,그것은 단지 하나의 일치하는 기호로 구성되어있는 경우에도 MEM 결과., 에서 추출하기 위해 모든 MEMs 간의 시퀀스,쿼리 시퀀스 이동되어야 하는 모든 방법을 오른쪽과 왼쪽에 하나의 상징에서 시간(그림을 참조하십시오. 3b). 각 교대 후에 새로운 MEMs 를 식별하기 위해 비교 단계를 반복해야합니다. 예를 들어,그림 3 의 세 번째 줄. 도 3b 는 쿼리 시퀀스가 오른쪽으로 하나의 심볼로 이동되고 대상 시퀀스와 비교되는 경우를 나타낸다. 비교 결과는 aaaagc 를 새로운 MEM 으로 식별합니다. Shift 및 compare 연산에 의해 추출 된 다른 모든 MEMs 도 그림 1 에서 강조 표시됩니다. 3b., Mems 중 3 개(Mx,My 및 Mz)는 나중에 설명하기 위해 사용할 다른 색상으로 강조 표시됩니다.

shift 및 비교 연산을 사용한 MEM 추출. a 는 시퀀스의 직접 비교에 의해 Mems 를 식별. b 쿼리 시퀀스의 마지막 심볼이 대상 시퀀스의 첫 번째 심볼에 정렬 될 때까지 쿼리가 왼쪽으로 시프트됩니다. 다음 쿼리 시퀀스가 이동하는 때까지 오른쪽 첫번째는 기호에서 쿼리를 순서를 정렬하면 마지막의 상징이 대상 시퀀스입니다., 각 시프트 후에 쿼리 및 대상 시퀀스의 겹치는 부분이 비교되어 새로운 MEMs 를 식별합니다. 세 MEMs(Mx,내과 Mz)을 강조 표시된 다른 색상으로 사용되는 나중에 설명
에 상관 갭 평가 모델,선형 점수를 사용하여 계산됩니다., 1Nm 은 수치를 일치하는 점수의 Rm,Nx 숫자의 불일치 각을 받은 불일치 처벌의 픽셀,아이 수 갭 구멍을 받고 각각 차이가 열 처벌의 Po Ng 은 총 길이의 간격을,각각의 격차를 받은 간격 확장자의 처벌 Pg. 연속 갭의 각 그룹에 대한 갭 개방이있을 것이다. 예를 들어 있는 경우에,두 개의 격차를 정렬에서,어디로 길이의 첫 번째 격차가 세 가지고 길이의 격차는 네 다음과 같은 두 가지 간격 개구부(2)총 길이의 간격이 일곱 개(Ng=3+4=7).,
주어진 목록의 모든 MEMs, 맞춤 계산할 수 있는 부분을 사용하여 정렬입니다. 예를 들어 Fig.에서 MEMs Mx,My 및 Mz 를 고려하십시오. 3b. 부분적인 선형에 의해 다른 조합의 Mx,내과 Mz 의 번호와 함께 일치하고,불일치 및 차이뿐만 아니라,결과로 정렬 점수는 그림에 표시됩니다. 4. Mx 및 Mz 만 포함하는 정렬은 가장 높은 정렬 점수를 초래합니다., My 와 Mz 는 서로 겹치고 둘 다 동일한 정렬로 간주 될 때 오버랩은 Mz 에서 제외됩니다. 도 1 의 모든 MEMs 고려. 3b 는 그 중 어느 것도 높은 점수를 얻지 못하는 더 많은 조합을 초래합니다.

가능한 모든 조합의 MEMs 에서 선형
을 검사하는 가능한 모든 조합의 MEMs 것은 내용이 포함될 수 있습니다., 에서”정렬 알고리즘”섹션에서 우리는 설명 소설은 동적 프로그래밍 알고리즘 DP-MEM 효율적으로 찾고 최고의 조합을 고려하지 않는 경우도 있습니다. DP-MEM 은 시퀀스의 어느 부분이 일치하는지 알 필요가 있지만 시퀀스의 실제 기호는 일치하지 않습니다. DP-MEM 에 대한 입력은”MEM 추출”섹션에 설명 된 mem 추출 프로세스 중에 얻은 대상 및 쿼리 시퀀스에서 MEMs 의 위치 지정입니다., 는 방법 MEMs 표현과 그들의 위치 및 방법의 수와 일치하,불일치 및 간격을 계산할 때 MEMs 에 결합하는 맞춤 설명의 나머지 부분에서 이 섹션입니다. 그림 5 은 다른 예로 정렬된 여섯 MEMs(M1 을 M6)을 형성하는 선형이 대상 시퀀 T 쿼리 시퀀스 Q. 위해 단순함이 없 사이에 겹치 MEMs 이 예제에서. 각 MEM Mi 는 정수의 삼중 항으로 표시됩니다:T 와 Q(각각 STi 와 SQi)의 시작 위치와 길이(Li)., T 와 Q 의 끝 위치는 나중에 계산할 수 있습니다(알고리즘 2 의 Φ2E). 표 1 은 T 및 Q.

예를 들어 맞춤 강조 표시된 MEM
이 있을 경우에는 모두 불일치 및 사이에 틈이의 경우와 Mj,모든 간격으로 간주 연속 갭을 줄이기 위해 열 처벌(하나의 격차를 오픈 처벌이 적용되는 계속 gap). 따라서,이들 사이에 간격이 있는 모든 인접한 MEMs 에 대해,단 하나의 갭 오픈 패널티가 적용된다., 불일치 및 유일한 연속 갭의 배치는 정렬 점수에 영향을 미치지 않으므로 중요하지 않습니다. 우리는 불일치 페널티가 일정하다고 가정합니다(이것은 DNA 서열에 대해 보통입니다).
MEM 추출
있는 방법을 추출물 최대 정확히 일치하는 간 긴 시퀀스와 같은 전체 게임입니다. 그러나 이러한 방법은 시간 소모적 인 작업 인 하나 또는 두 시퀀스의 전처리 및 인덱싱을 기반으로합니다. 예를 들어,DNA 읽 aligner,참조 게놈은 색인되면,동일 인덱스가 사용되는 각 시간을 새로 읽는 정렬되어 있습니다., 우리는 각 정렬에 대해 변경되는 비교적 짧은 시퀀스 사이의 MEMs 를 식별하는 빠른 알고리즘을 찾고 있습니다. 이 문제에 대한 무차별 대입 방법(추가 파일 1:섹션 II)은 느리고 비효율적입니다(o(n3)의 복잡성). 우리는 mem 추출 프로세스의 속도를 높이기 위해 빠른 비트 레벨 병렬 방법을 제안합니다. 우리의 MEM 추출 방법은도 1 에 도시 된 시프트 및 비교 연산에 기초한다. 3b.첫 번째 단계는 a,C,T 및 G 가 각각 00,01,10 및 11 로 인코딩되는 비트 벡터가있는 시퀀스를 나타내는 것입니다(추가 파일 1:섹션 III)., 도 6 은 대응하는 비트-벡터 표현과 함께 예시적인 시퀀스 쌍을 도시한다. 상품 컴퓨터에서 기계 단어는 일반적으로 32 개의 뉴클레오티드 기호를 수용 할 수있는 64 비트입니다. 시퀀스는 일반적으로 32 심볼보다 크기 때문에 해당 비트 벡터는 여러 기계어로 저장됩니다. 크기 n 기호 시퀀스의 비트 벡터에 대한 각 연산은\(\lceil\frac{n}{32}\rceil\)기계 단어에 작용합니다.

비트 벡터를 사용한 시퀀스의 표현. 강조 표시된 MEMs 가있는 XOR 출력(X). 리 bit-vector(E)을 식별합 시작과 끝의 각 MEMs
비트와 함께-벡터 시퀀스의 표현,이동하는 순서에 의해 하나의 기호와 같은 이동 비트-벡터에 의해 두 개의 비트 시퀀스와 비교할 수 있습으로 수행 XOR 침(32 상징에서 시간). XOR 출력(X)에서 00 은 기호가 일치 함을 의미하고 00 의 시퀀스는 MEM 을 보여줍니다., 정의 변화와 비트 연산에서 같이 계산하는 알고리즘 1X 고 이후 가장자리 bit-vector(E)에는 시작과 끝의 각 MEM 강조 표시된 설정된 비트(비트 값이다.) 그림 6 은 강조 표시된 MEMs 가있는 X 및 E 비트 벡터를 보여줍니다. 그런 다음 시퀀스에서 MEMs 의 위치가 에지 비트 벡터(추가 파일 1:섹션 IV)에서 계산됩니다.,
선형 알고리즘
에서는”방법”섹션에서,우리는 것을 보여를 고려하여 다른 조합의 MEMs 과 컴퓨팅 정렬 점수는 해당 정렬,나 식별할 수 있습의 조합 MEMs 는 결과에서 최대 정렬 점수입니다. 그러나 가능한 모든 mems 조합을 검사하는 것은 순진한 해결책입니다. 정렬을 효율적으로 찾는보다 체계적인 방법은 동적 프로그래밍을 사용하는 것입니다.
동적 프로그래밍은 더 작은 하위 문제를 정의하고 해결함으로써 문제에 대한 해결책에 접근하는 방법입니다., 하위 문제에 대한 솔루션은 각 단계에서 더 큰 문제를 해결하는 데 사용됩니다. 모든 하위 문제가 해결 될 때까지 프로세스가 반복됩니다. 결국 하위 문제 중 하나에 대한 해결책이 초기 문제에 대한 해결책이 될 것입니다. 모든 하위 문제가 해결되면 역 추적 프로세스는 최종 솔루션에 기여하는 일련의 솔루션을 식별합니다. 동적 프로그래밍에서는 재귀 프로 시저가 진행되는 입력 데이터의 순서가 있어야합니다.
우리는 쿼리 시퀀스(EQ)에서 끝의 위치에 따라 모든 MEMs 를 정렬합니다., 동일한 위치에서 끝나는 MEMs 는 임의의 방식으로 정렬됩니다. J 번째 하위 problem 은 jth MEM Mj(각각 T 및 Q)에서 끝나는 t 및 Q 의 하위 시퀀스의 정렬을 찾는 것입니다. 우리는 mem 의이 순서가 올바른 재귀를 지원하기에 충분하다는 것을 보여줄 것입니다.
정렬 된 mems 목록에서 EQi=EQj 는 mi 또는 Mj 중 하나가 쿼리 시퀀스의 다른 mem 과 완전히 겹침을 나타냅니다. 알고리즘 2 의 Φ2B 에서 오버랩 영역이 제외되므로 Mi 와 Mj 는 동일한 정렬에있을 수 없습니다., 따라서 ith 및 jth 하위 문제는 서로 독립적으로 해결되며 정렬 된 목록의 i 및 j 순서는 임의적 일 수 있습니다. 는 경우 EQk>EQj(k>j 정렬된 목록에서),Mk 수 있습의 일부가 되지 않는 선형이 끝에 Mj. 따라서 jth 하위 문제를 솔루션에서 kth 하위 문제로 독립적으로 해결할 수 있습니다. 또한 유사한 정당성을 사용하여 대상 시퀀스(ET)에서 종료 위치를 기반으로 MEMs 를 정렬하는 것이 가능하다는 점에 유의하십시오.
우리의 제안 된 동적 프로그래밍 알고리즘(DP-MEM)은 알고리즘 2 에서 자세히 설명되어 있습니다., 도 1 에서 추출한 예시 MEMs 에 대해. 도 3b 를 참조하면,알고리즘에서 계산된 동적 프로그래밍 테이블 및 중간 값이 도 3 에 도시된다. 각각 7 과 8. DP-MEM 에 대한 입력은 각 MEM(Mj)이 정수의 삼중 항인 MEMs 목록입니다. 두 번째 입력 n 은 목록의 MEMs 수입니다. 출력 S 는 시퀀스의 정렬 점수입니다. 알고리즘을 인쇄하는 인덱스의 모든 MEMs 형성하는 맞춤는 첫 번째와 마지막 인쇄된 숫자 인덱스의 오른쪽과 왼쪽 MEMs 맞춤에서 각각합니다., 알고리즘 2 의 모든 단계는 다음과 같이 주석 처리됩니다.

도 2 에서 추출 된 MEMs 를 처리하기 위해 알고리즘 2 에서 사용 된 동적 프로그래밍 테이블. 3b.셀 i 와 j 는\(S_{i}^{j}\)의 값을 나타냅니다. 빈 셀은 Φ2 에서 평가되지 않습니다. 교차 마크가있는 셀의 평가는 Φ2A 에서 건너 뜁니다.Sj 의 초기 값은 Φ1 에서 계산됩니다. Sj 의 최종 값과 소스(Sj 를 최대화하는 것)가 각 행에 대해 강조 표시됩니다. 가장 높은 Sj(S13)는 정렬 점수입니다., M13 은 정렬의 마지막 MEM 이고 그 이전의 MEM 은 MW=M3 입니다. W=-1 이므로 m3 은 정렬의 첫 번째 MEM 입니다. 이 정렬에 대한 스코어링 시스템은 Rm=2,Px=3,Po=4 및 Pe=1

도 1 에서\(S_{i}^{j}\)를 계산하는 중간 값. 7. Note Sij 에서 이 그림을 참조하\(S_{i}^{j}\)
-
Φ1:득점은 각 MEM 에 대한 모든 그것의 일치하는 기호입니다., Mj 에 lj 일치하는 기호가 있음을 유의하십시오. Sj 는 Mj 에서 끝나는 정렬에 대한 가장 높은 정렬 점수를 나타냅니다. 이 단계에서 Sj 를 초기화하는 것은 mj 만이 정렬에 포함될 때 부분 정렬 점수를 계산하는 것과 유사합니다. W 는 역 추적에 사용됩니다. -1 의 값은 현재 sj 가 정렬에서 mj 단독으로 고려함으로써 얻어지는 것을 나타낸다.
-
Φ2:각 MEM(Mj)에 대한 계산 Sj., 계산 Sj,각 MEM 의 경우디의 경우 나타나기 전에 Mj 목록에,알고리즘을 추가 Mj 을 선형에서 끝나는 경우(확장 이전 발견 선형)보인에 대한 연장을 극대 Sj(결 더 큰 subproblem 를 사용하여 이전에 해결하고 서브 문제들).
-
Φ2A:가능하지 않을 때 확장을 건너 뜁니다. 는 경우 ETi>ETj 다음의 경우를 포함 일부 대상의 순서는 넘어 맞춤에서 끝나는 엠제이며 확장이 가능하지 않습니다. EQi=EQj 또는 ETi=ETj 또는 SQi≥SQj 또는 STi≥STj 인 경우 mems 중 하나가 다른 mem 과 완전히 겹칩니다., 이 경우 Mi 와 Mj 는 함께 정렬 될 수 없습니다.
-
Φ2B:Mi 와 Mj 사이의 겹침 길이를 계산합니다. \({MO}_{i}^{j}\)가 0 보다 작거나 같으면 겹침이 존재하지 않습니다.
-
Φ2C:오버랩을 제외하기 전에 Mj 의 복사본을 유지합니다.
-
Φ2D:는 경우에 겹치는 존재 제외하고,중복에서 Mj
-
Φ2E:컴퓨팅의 끝 위치를 Mj T Q.
-
Φ2F:컴퓨팅의 거리(숫자의 기호)를 사이의 경우와 Mj T Q.
-
Φ2G: 컴퓨팅 숫자의 불일치 및 사이에 틈이의 경우와 Mj.,
-
Φ2H:Mi 와 Mj(\(P_{i}^{j}\)사이의 불일치 및 갭에 대한 페널티 계산). 갭이 존재하면 하나의 갭 오픈 페널티 만 뺍니다.
-
Φ2I:계산 정렬 점수\(\왼쪽(S_{i}^{j}\오른쪽)\)mj 가 mi 에서 끝나는 정렬에 추가 될 때. Mj(Lj×Rm)의 모든 일치하는 심볼에 대한 점수가 Mi(Si)에서 끝나는 정렬에 대한 정렬 점수에 추가됩니다. 그런 다음 Mi 와 Mj\(\left(P_{i}^{j}\right)\)사이의 간격과 불일치에 대한 패널티가 차감됩니다.,
-
Φ2J:을 확장하면 Mj 맞춤 끝에의 경우 결과를 점수를\(\left(S_{i}^{j}\right)\)보다 높은 점수를 위한 Mj(Sj)다음에 새로운 점수에 저장되 Sj. 또한 W 는 Mj 에 대한 점수를 최대화하는 Mi 를 추적하기 위해 i 로 설정됩니다.
-
Φ2K:mj 가 다른 정렬 확장에 사용될 수 있도록 제외하기 전에 mj 의 값을 복원합니다.
-
Φ3:Sj 가 가장 높은 MEM 을 찾고 있습니다. 이 mem 은 정렬(Me)의 마지막 MEM 입니다., 가장 높은 점수(Se)는 주어진 시퀀스에 대한 가장 높은 정렬 점수 인 S 로 반환됩니다. Sj 를 최대화하는 MEM 의 인덱스는 E 에 저장되어 Me 에서 역 추적을 시작합니다.
-
Φ4:정렬에서 나에게 즉각적인 이전 MEM 은 나를 위해 정렬 점수를 최대화하는 것입니다. 이러한 MEM 의 인덱스는 W. 에 저장되며 결과적으로 f←W 의 반복은 정렬의 모든 MEMs 의 인덱스를 방문합니다. W 가-1 과 같으면 mf 는 정렬의 첫 번째 MEM 이며 반복은 중지됩니다.,
에서 우리의 알고리즘,우리는 불일치 및 처벌 간격하기 전에 처음 MEM 후에 마지막 MEM 에 정렬합니다. 이로 인해 로컬 정렬 알고리즘이 생성됩니다. 이러한 처벌을 고려하여 알고리즘은 전역 정렬을 생성합니다(추가 파일 1:섹션 V).
방정식 계산\(P_{i}^{j}\)에 Φ2H 알고리즘의 2 가정이 없는 일치하는 기호를 사 T Q 에서 지역 사이의 경우와 Mj(모든 기호가로 계산 불일치 또는 갭)., 하지만 이러한 가정이 적용되지 않는 모든 경우에,그것은 항상 사실에 대해의 경우에 이르는 최대\(S_{i}^{j}\)는 우선한 효과의 가정이 되는 잘못된 다른 경우. 증거로서 Mi 와 Mj 사이의 영역에 일치하는 기호가 있다고 가정합니다. 일치하는 기호는 MEM(Mk)입니다. Mk 는 이미 mi 에서 끝나는 정렬로 확장됩니다. 따라서 Mj 를 Mk 로 확장 할 때 Mj 를 Mi 로 확장하는 것과 비교할 때 더 높은 점수가 달성됩니다.
에서 논의 된 바와 같이 체인 콜리 니어 씨앗은 큰 서열의 정렬,즉 게놈 대 게놈 정렬에 널리 사용되어왔다., 또한 bwa 에서 mems 의 집합 주어진 읽기에 대한 후보 영역을 식별하는 데 사용되어왔다. 스코어링이있는 체인 알고리즘은 우리가 제안한 동적 프로그래밍 알고리즘(DP-MEM)과 유사합니다. 그러나 dp-MEM 이 짧은 서열의 쌍 정렬에 적합하게 만드는 차이점이 있습니다. DP-MEM 은 특정 갭 크기 내의 모든 Mem 이 입력에 제공된다는 점을 고려하여 알고리즘의 반복 횟수를 최적화합니다. DP-MEM 은 또한 mems 사이의 간격을 초래하는 입력 목록에서 제거 된 짧은 MEMs 의 효과를 보상하기 위해 휴리스틱 접근법을 구현합니다.,
최적화
주어진 시퀀스의 길이 n,알고리즘을 추출물 MEMs(에서 제공하는”MEM 추출”섹션)에 필요 2(n−1)변화하고 2n−1 비교 작전에 비트를 벡터를(각각의 행위에\(\lceil\frac{n}{32}\rceil\)기계 단어)에는 알고리즘의 복잡도 O(n2) 을 생산하고 가장자리는 비트 벡터로 지정된 한 쌍의 시퀀스입니다. 에지 비트 벡터에서 MEMs 의 위치를 계산하고 EQ 를 기반으로 정렬하는 함수의 복잡성은 아직 추가되지 않았습니다. 또한,m MEMs 가 추출되면 알고리즘 2(Dp-MEM)의 Φ2 는 O(m2)의 복잡성을 갖는다., MEM 추출 및 DP-MEM 의 복잡성을 고려할 때 mem-Align 은 사용 가능한 정렬 알고리즘보다 훨씬 느립니다. 프로세스 속도를 높이기 위해 정확도를 희생하여 더 빠른 런타임을 달성하는 MEM-Align 에 대한 몇 가지 최적화를 제시합니다. 반면에 최소한의 성능 손실로 정확성을 향상시키는 방법을 소개합니다.
줄무늬 정렬
줄무늬 정렬은 정렬 프로세스의 속도를 높이기 위해 알려진 휴리스틱 방법입니다. 이 기술은 정렬의 간격 패턴을 제한합니다(추가 파일 1:섹션 VI)., 결과적으로 두 시퀀스 사이의 정렬이이 패턴을 따르지 않으면 알고리즘이 정렬을 식별하지 못합니다. 전통적인 동적 프로그래밍에서 정렬은 테이블의 모든 셀의 값을 계산 한 후에 얻어집니다. 그러나 줄무늬 정렬 최적화를 사용하면 직경과 대각선에 가까운 셀만 평가됩니다. gl 은 직경에 대한 gl 보다 더 멀리있는 셀이 평가되지 않는 줄무늬 정렬에서 밴드의 너비입니다. 그림 2 의 어두운 세포. 1gl=1 인 경우를 보여줍니다.,
전통적인 동적 프로그래밍 접근법과 달리 MEM-Align 은 줄무늬 정렬을 적용 할 유사한 테이블을 가지고 있지 않습니다. 그러나 우리는 MEM 추출 프로세스에서 시프트 작업의 수를 제한함으로써 동일한 효과를 시뮬레이션 할 수 있음을 발견했습니다. 예를 들어,쿼리 시퀀스를 gl 까지 오른쪽으로 이동하고 왼쪽으로 이동하면 gl 의 밴드와 줄무늬 정렬을 얻습니다. 줄무늬 정렬은 Gl 이 작고 고정 된 값인 O(n2)에서 O(n.(2gl+1))로 MEM 추출의 복잡성을 줄입니다. 따라서 줄무늬 정렬이 적용될 때 MEM 추출의 복잡성은 O(n)입니다., 또한,상기 줄무늬 정렬을 사용하면,후속 알고리즘 단계를 가속화하는 더 적은 MEMs 가 추출 될 가능성이 높다.
짧은 MEM 제거
우리가 관찰하는 대부분의 추출 MEMs 은 짧고,그 결과 임의로 일치하는 기호입니다. Mem 정렬 속도를 높이기 위해 sl 보다 짧은 MEMs 가 MEM 추출 프로세스 중에 필터링됩니다. 이렇게하면 추출 및 처리 할 MEMs 수가 줄어 듭니다(이후 알고리즘 속도가 빨라짐). 짧은 mem 필터링은 일련의 시프트 및 비트 연산(추가 파일 1:섹션 VII)으로 알고리즘 1 을 확장하여 수행됩니다.,
반면에,짧은 MEMs 가 정렬의 일부인 드문 경우가 있습니다;예를 들어 불일치로 둘러싸인 일치하는 기호. 입력 목록에 모든 mems 가 없으면 DP-MEM 은 모든 mems 가 입력 목록에 존재할 때 찾은 것과 동일한 정렬을 찾을 수 없습니다. 입력에서 손실 된 짧은 MEMs 를 보상하기 위해 DP-MEM 의 Φ2H 를 수정하여 MEMs 사이에 짧은 일치가있을 가능성을 고려합니다(추가 파일 1:섹션 VIII).
있을 수 있습니다 더 어려운 경우에는에서 선형,여러 개의 짧은 MEMs 사이에 존재하는 두 가지 MEMs(그림을 참조하십시오. 9)., Φ2H 에서 MI 와 Mj 사이의 영역에 대한 점수를 올바르게 식별하는 유일한 방법은이 영역에 전역 정렬을 적용하는 것입니다. 그러나 Φ2H 는 빈번한 작업이며 빠르게 유지되어야합니다. 결과적으로 우리는 가능한 사례(휴리스틱 방법)를 제한함으로써 문제를 부분적으로 극복하기로 결정했습니다.

예를 보여줍니다에 여러 개의 짧은 MEM 에서 작은 영역 사이의 경우와 Mj 에서 선형
경우에 차이가 있는 지역 사이의 경우와 Mj, 우리는 단 하나의 지속적인 간격을 왼쪽이나 오른쪽 끝의 영역입니다. 그런 다음 영역에 대해 두 개의 정렬 만 가능합니다., 숫자의 기호가 계산에 대한 두 경우 모두에서 순차적으로는 결과에의 최대치로 사용됩니다 숫자의 사이에 일치하는 경우 및 Mj(추가 파일 1:Section IX). 순차 비교는 값 비싼 작업이며 가능한 경우 순차 비교를 피하는 방법을 고안합니다(추가 파일 1:섹션 X).
위의 가정에 맞지 않는 다른 경우는 점수가 낮은 정렬을 초래합니다., 그러나 고려하고,낮은 비율의 격차와 불일치를 갖는의 가능성 여러 개의 격차와 불일치에 작은 영역은 낮습니다.
효율적인 정렬 확장
Dp-MEM 의 Φ2 에서 Mj 는{M1…Mj−1}로 끝나는 모든 정렬을 확장합니다(가능한 경우). 그러나 각 Mj 있는 작은 일부 Ωj⊆{M1…Mj−1}등을 확장하여 Mj 모든 선형이 끝나는 경우∈Ωj 맞춤는 종료에 Mj 찾(Eq. 2). 즉,평가 될\(S_{i}^{j}\)가 적을 것입니다. 설정 Ωj 의 정의 및 Eq 의 증명. 2 는 추가 파일 1:섹션 XI 에 제공됩니다., 짧은 MEM 제거 최적화가 적용될 때 Ωj 의 정의가 영향을받습니다(추가 파일 1:섹션 XII).
하이브리드 선형
정확하게 유지하는 알고리즘의,우리는 결정을 이용하는 하이브리드 방법을 조합의 MEM-정렬하고 스미스-워터 알고리즘이 있습니다. 우리는 MEM-Align 이 부정확 할 수있는 세 가지 경우를 정의합니다., 한 쌍의 시퀀스의 정렬이 이러한 경우 중 하나로 떨어지면 스미스-워터 맨 알고리즘을 사용하여 시퀀스를 정렬합니다. 이러한 경우는
-
시퀀스가 반복적이며 추출 된 MEMs 수가 임계 값 TM 을 초과 할 때. 우리는 mem-Align 이 반복적 인 시퀀스를 정렬 할 때 부정확 한 정렬을 생성 할 가능성이 있음을 발견했습니다. 적절한 TM 값은 평균 처리 시간의 무시할 수있는 증가로 부정확 한 정렬을보고 할 기회를 줄입니다.,
-
MEM-Align 에 의해 생성 된 정렬에 대한 계산 된 정렬 점수가 임계 값 TS 보다 낮 으면. 이 경우는 주로 줄무늬 정렬로 인해 식별 할 수없는 정렬에 갭이있을 때 발생합니다.
-
sl 보다 긴 MEM 이 추출되지 않을 때(드문 경우)., 면 sl 설정 높은 가치와 유사성이 시퀀스가 낮고,
있지만 전송 순서 쌍 외부 알고리즘을 결과에서 추가 계산을 수의 순서 외부로 전송 알고리즘 작은 남아 있는 경우 적절한 값을 선택하 TM TS.
먼 MEMs 건너 뛰기
Mi 와 Mj 사이의 거리가 큰 경우 정렬에서 mi 와 Mj 를 인접한 MEMs 로 가질 가능성이 없습니다., 따라서 알고리즘은 Mi 와 Mj 사이의 거리가 임계 값 TD 보다 길면 확장을 건너 뜁니다(평가 될\(S_{i}^{j}\)의 수를 더 줄입니다). 이 최적화는 정확도에 무시할 수있는 부작용으로 성능을 약간 향상시킵니다.피>