Articles

대응별 맞춤 뉴클레오티드의 시퀀스를 사용하여 최대 정확히 일치하는

방법

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

Fig. 3

shift 및 비교 연산을 사용한 MEM 추출. a 는 시퀀스의 직접 비교에 의해 Mems 를 식별. b 쿼리 시퀀스의 마지막 심볼이 대상 시퀀스의 첫 번째 심볼에 정렬 될 때까지 쿼리가 왼쪽으로 시프트됩니다. 다음 쿼리 시퀀스가 이동하는 때까지 오른쪽 첫번째는 기호에서 쿼리를 순서를 정렬하면 마지막의 상징이 대상 시퀀스입니다., 각 시프트 후에 쿼리 및 대상 시퀀스의 겹치는 부분이 비교되어 새로운 MEMs 를 식별합니다. 세 MEMs(Mx,내과 Mz)을 강조 표시된 다른 색상으로 사용되는 나중에 설명

에 상관 갭 평가 모델,선형 점수를 사용하여 계산됩니다., 1Nm 은 수치를 일치하는 점수의 Rm,Nx 숫자의 불일치 각을 받은 불일치 처벌의 픽셀,아이 수 갭 구멍을 받고 각각 차이가 열 처벌의 Po Ng 은 총 길이의 간격을,각각의 격차를 받은 간격 확장자의 처벌 Pg. 연속 갭의 각 그룹에 대한 갭 개방이있을 것이다. 예를 들어 있는 경우에,두 개의 격차를 정렬에서,어디로 길이의 첫 번째 격차가 세 가지고 길이의 격차는 네 다음과 같은 두 가지 간격 개구부(2)총 길이의 간격이 일곱 개(Ng=3+4=7).,

$${}로=(N_{m}\번 R_{m})-((N_{x}\번 P_{x})+(N_{o}\번 P_{o})+(N_{g}\번 P_{g}))$$
(1)

주어진 목록의 모든 MEMs, 맞춤 계산할 수 있는 부분을 사용하여 정렬입니다. 예를 들어 Fig.에서 MEMs Mx,My 및 Mz 를 고려하십시오. 3b. 부분적인 선형에 의해 다른 조합의 Mx,내과 Mz 의 번호와 함께 일치하고,불일치 및 차이뿐만 아니라,결과로 정렬 점수는 그림에 표시됩니다. 4. Mx 및 Mz 만 포함하는 정렬은 가장 높은 정렬 점수를 초래합니다., My 와 Mz 는 서로 겹치고 둘 다 동일한 정렬로 간주 될 때 오버랩은 Mz 에서 제외됩니다. 도 1 의 모든 MEMs 고려. 3b 는 그 중 어느 것도 높은 점수를 얻지 못하는 더 많은 조합을 초래합니다.

Fig. 4

가능한 모든 조합의 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.

Fig. 5

예를 들어 맞춤 강조 표시된 MEM

테이블 1 시작과 끝의 위치 MEMs Fig., 5
Table2 컴퓨팅 숫자의 불일치 및 사이의 간격 MEMs Fig. 5

이 있을 경우에는 모두 불일치 및 사이에 틈이의 경우와 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\)기계 단어에 작용합니다.

Fig., 6

비트 벡터를 사용한 시퀀스의 표현. 강조 표시된 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 의 모든 단계는 다음과 같이 주석 처리됩니다.

Fig. 7

도 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

Fig. 8

도 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 는 빈번한 작업이며 빠르게 유지되어야합니다. 결과적으로 우리는 가능한 사례(휴리스틱 방법)를 제한함으로써 문제를 부분적으로 극복하기로 결정했습니다.

Fig., 9

예를 보여줍니다에 여러 개의 짧은 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).

$$\최대\limits_{M_{i}\\에서 Omega_{j}}{S_{i}^{j}}=\최대\limits_{1\배경 i\배경 j-1}{S_{i}^{j}}$$
(2)

하이브리드 선형

정확하게 유지하는 알고리즘의,우리는 결정을 이용하는 하이브리드 방법을 조합의 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}\)의 수를 더 줄입니다). 이 최적화는 정확도에 무시할 수있는 부작용으로 성능을 약간 향상시킵니다.피>