유사성 검색 - 1 유전체 정보 의학 2006, 4.17 Kim Do Kyoon.

Slides:



Advertisements
Similar presentations
10-7 부동소수점 (Floating-Point) 계산  컴퓨터에서 숫자를 표기하는 방법  가수 (Fraction) : 부호화된 고정소수점 숫자 지수 (Exponent) : 소수점의 위치를 표시 ( 예 )10 진수 를 표기하면 Fraction Exponent.
Advertisements

Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
서열정렬과 데이터베이스 Written By 배형섭.
알고리즘 기본 개념 정렬 알고리즘 탐색 알고리즘 알고리즘 복잡도.
컴퓨터와 인터넷.
제 7 장 함수 사용을 통해 엑셀 정복하기.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
제2장 주파수 영역에서의 모델링.
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
Entity Relationship Diagram
연결리스트(linked list).
제 9 장 구조체와 공용체.
수치해석 6장 예제문제 환경공학과 천대길.
컴퓨터 프로그래밍 기초 [Final] 기말고사
실험 11. 트랜지스터 증폭기의 부하선 해석 방 기 영.
Chapter 02 순환 (Recursion).
Heesang kim PL/SQL 3 Heesang kim.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Error Detection and Correction
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
DK-128 ADC 실습 아이티즌 기술연구소
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
11장. 1차원 배열.
10장 컴퓨터 기반 데이터 획득 응용 프로그램 LabVIEW 사용법
JA A V W. 03.
자바 5.0 프로그래밍.
프로그래밍 개요
인터넷응용프로그래밍 JavaScript(Intro).
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
메모리 관리 & 동적 할당.
Quiz #7 다음 수들을 합병 정렬과 퀵 정렬 알고리즘을 이용하여 오름 차순으로 정렬하였을 때, 데이터 이동 회수를 각각 구하라. 여러분은 정렬 과정을 단계별로 보이면서 이동 회수를 추적해야 한다. 단, 퀵 정렬시에 피봇으로 배열의 왼쪽 첫 번째 원소를 선택한다. 5.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
인터넷응용프로그래밍 JavaScript(Intro).
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
Chapter 03. 관계 데이터베이스 설계.
식품에 존재하는 물 결합수(bound water): 탄수화물이나 단백질과 같은 식품의 구성성분과 단단히 결합되어 자유로운 이동이 불가능한 형태 자유수(free water): 식품의 조직 안에 물리적으로 갇혀 있는 상태로 자유로운 이동이 가능한 형태.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
논문작성을 위한 연구모형 설정 양동훈.
균형이진탐색트리 이진 탐색(binary search)과 이진 탐색 트리(binary search tree)와의 차이점
알고리즘 알고리즘이란 무엇인가?.
데이터 동적 할당 Collection class.
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
문서 클러스터링 일본언어문화학과 서동진.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Chapter 1 단위, 물리량, 벡터.
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
Word2Vec.
Chapter 1 단위, 물리량, 벡터.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
DNA의 구조와 역할 (1) DNA : 이중 나선 구조로 수많은 뉴클레오타이드의 결합으로 이루어져 있다.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
상관계수.
Numerical Analysis Programming using NRs
2.3 분자생물학 데이터베이스의 새로운 세대 분자유전체의학전공 김현정.
Excel 일차 강사 : 박영민.
수치해석 ch3 환경공학과 김지숙.
2014년 가을학기 손시운 지도 교수: 문양세 교수님 행렬과 배열 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
김선균 컴퓨터 프로그래밍 기초 - 12th : 문자열 - 김선균
어서와 C언어는 처음이지 제21장.
 6장. SQL 쿼리.
교착 상태 해결 : 교착 상태 탐지 교착 상태 탐지(Deadlock Detection)
강화학습: 기초.
C++ Espresso 제15장 STL 알고리즘.
6 객체.
생명의 청사진 분자유전체의학 김 경 원.
Presentation transcript:

유사성 검색 - 1 유전체 정보 의학 2006, 4.17 Kim Do Kyoon

Outline 서열 분석의 문제 동적 프로그래밍 (Dynamic programming) 전역 정열 (Global alignment) 국소 정열 (Local alignment) 데이터베이스 검색

서열 분석의 문제 서열 분석의 목적 분자생물학의 경험적 지식 사용 두 분자가 유사한 서열을 가지면, 진화적인 관계나 물리 화학적인 제약 때문에 유사한 3차원 구조와 비슷한 생물학적 기능을 갖기 쉽다 뉴클레오티드 또는 아미노산 서열로 쓰여진 고차원의 구조와 기능적인 정보를 밝혀내기 위함 구조적, 기능적 속성으로 확장 될 수 있는 서열 특징을 찾고자 함

서열 분석의 문제 서열 분석 방법 표 3-1 데이터 조직화 방법 서열 분석에 사용되는 계산법 유사성 검색 1차 데이터베이스 (서열 데이터베이스 또는 3차원 구조 데이터베이스)에 저장 된 알려져 있는 데이터들과 비교를 하는 것

서열 분석의 문제 서열 분석 방법 3. 서열 해석에 대한 두 가지 접근법 서열 유사성 검색 또는 상동성 검색 2) 모티브 검색 3. 서열 해석에 대한 두 가지 접근법 서열 유사성 검색 또는 상동성 검색 2) 모티브 검색 모든 형태의 기능 속성에 대한 경험적인 법칙들을 만드는 것이 가능 하지 않음 여전히 가장 선호 되는 접근 방법

서열 분석의 문제 서열 정렬 Certain Criteria required! 서열의 유사성을 찾는 과정 진화론적으로 삽입, 삭제, 치환 과정 거침 두 개의 서열이 비교될 때, 이들 사이의 유사 관계를 잘 나타내는 최적의 정렬을 만드는 것이 필요 Alignment1 Good? Alignment2 Bad? ATTGGCCA | | | | A--GG--A ATTGGCCA | | AGG----A Certain Criteria required!

서열 분석의 문제 서열 정렬 최적의 서열 정렬을 얻는 문제는 전반적인 유사성을 나타내는 점수 함수(Score Function)를 최적화 하는 것 공백은 일치하는 문자 쌍의 수를 최대화하거나, 치환, 그리고 삽입/삭제와 같은 편집 연산의 수를 최소화 하기 위해서 추가 Score Function은 아미노산 또는 뉴클레오티드들 사이의 유사성 측정값과 삽입 및 삭제에 대한 벌점(penalties)을 통해 계산 서열 정렬법 Global 정렬 & Local 정열: 전체 / 부분적인 유사 영역 비교 Pair-wise 정렬 & Multiple 정렬: 두 개 / 세 개 이상의 서열 정렬 3차원 정렬: 두 가지 단백질의 3차원 구조 비교 3차-1차 정렬: 3차원 구조 라이브러리에 대한 아미노산 서열 비교 Pathway alignment: 생화학적 경로 비교

Dynamic Programming Sequence Alignment 예제 서열 상동성 비교 문제: 서열 S1과 서열 S2간의 진화거리는 (insertion, deletion, mutation)라는 편집작업을 통해서 서열 S1을 서열 S2로 변환시키는 최소편집거리 구하는 문제 Ex) S1 = “BLUE”, S2 = “BILE” “BLUE” -> (series of insertion or deletion or mutation) -> “BILE” 진화 거리가 2인 두 해 1) 한 번의 insertion, 한 번의 deletion (편집거리 = 2) B I L – E B - L U E 2) 두 번의 mutation (I와 L, L과 U) (편집거리 = 2) B I L E B L U E

Dynamic Programming 동적 프로그래밍 알고리즘 B I L E 1 2 3 4 U D(i,j) 최적화를 위한 일반적인 알고리즘 서열 정렬의 개념을 이해하기 위한 가장 기본적인 알고리즘 B I L – E B – L UE B I L E B LU E D(i,j) B I L E 1 2 3 4 U

Dynamic Programming 동적 프로그래밍의 장점 서열정렬: 수많은 해결책 중 하나를 찾는 것이기 보다 주어진 조건에 따라서 모든 경우 중 최상의 해결책을 찾는 것 검색 트리: 가지를 칠 수 있는 모든 가능한 길의 점수를 내어 최적의 노드만을 검색 대부분의 가지들을 점수 함수에 따라서 시스템적으로 잘라냄 (점수가 가장 큰 가지만을 남기고 나머지 가지들을 검색 하지 않음) 효율적으로 모든 가능성 계산

Global Alignment 최적 되어야 하는 점수 함수를 이용하여 전체 서열 비교 점수 함수: 정렬의 각각의 위치에서의 가중치 값들의 합 가중치 뉴클레오타이드 일치 또는 불일치에 따라 일정한 값 아미노산 미묘한 서열의 유사성 반영 진화적 분화 정도에 따른 돌연변이 빈도수 반영 (ex. PAM-250)

Global Alignment Ws,t: 문자 s를 문자 t로 또는 그 반대로 치환하기 위한 가중치 d: 하나의 공백 문자에 대한 가중치 => 대각선, 수평, 수직의 3가지 가능성 D[i][j]= max(D[i-1][j-1] + Ws[i],t[j] , D[i-1][j] + d, D[i][j-1] + d) 일정한 공백 벌점과 점수 행렬 D 길이 2의 공백에 대한 벌점은 길이 1의 공백에 대한 벌점의 두 배 길이 2의 공백을 두 개의 사건의 합성으로 봄 D[i][j]= max[D[i-1][j-1] + Ws[i],t[j] , max(D[i-k][j] + dk), max(D[i][j-k] + dk)] dk= 길이 k 인 공백에 대한 벌점 공백 벌점을 길이에 대한 함수로 나타내는 점수 행렬 D 연속적인 문자들의 공백은 두 개의 사건이 아닌 하나의 사건

Global Alignment 공백 벌점: a + bk D[i][j]= max[(D[i-1][j-1] + a , D[i-1][j], D[i][j-1] + a)] + b 공백 벌점: a + bk 길이가 미치는 영향을 초기 부분(공백 개시, gap opening)과 연장 부분(공백 연장, gap extension)으로 단순화 전역 정렬(Global alignment) - 경로 행렬의 왼쪽 위에서 오른쪽 아래까지 확장되는 최적 경로(optimal path)

Local Alignment 경로 행렬 내의 보다 짧은 부분에 국한되는 부분 정렬 x (a) 전역 대 전역 (b) 전역 대 지역 0 0 . . . . . . 0 (a) 수평 서열의 첫 번째 문자와 수직 서열의 첫 번째 문자는 정렬의 출발점 (전역 정렬) (c) 지역 대 지역 (b) 수평 서열 내의 어떤 문자도 아무런 벌점 없이 출발점(수평 서열 내의 여러 부분 영역에서 수직 서열과 유사한 다중 일치를 발견 하는 데 유용 0. 0 0 . . . . . . 0 0 . . . 0 . . . . . . . . . . 0 (c) 지역 대 지역 수평 , 수직 서열 내의 어떤 문자도 아무런 벌점 없이 출발점 최적의 지역 정렬을 찾기 위해 두 경로 행렬의 논리적 곱 => 행렬의 가장 자리에서 0의 값들을 사용 하는 것보다 행렬 내에서 0의 값을 혼합 하는 것이 필요 최적의 국소 정렬 (ex. Smith-waterman) - 점수 값이 음수: 그 때까지의 경로는 최적의 경로에서 제외되면서 적합도가 큰 클러스터가 분리 - 점수 값이 양수: 이미 존재하는 클러스터를 확장하거나 새로 시작

데이터베이스 검색 질의 서열을 데이터베이스내의 서열들과 비교하기 위하여 국소 정렬을 통한 유사 서열 검색 순차적 처리 각 원소는 한 행에서 왼쪽에서 오른쪽 방향으로 계산 각 행은 위에서 아래 방향으로 계산 한 원소를 계산하기 위해서는 앞 원소의 값이 필요 앞의 계산이 완료된 후 다음 원소의 계산이 순차적으로 수행 병렬적 처리 계산 순서가 반대 대각선 방향 모든 원소들이 미리 계산되므로 각 점수 행렬 D의 계산은 동시에 수행 반대 대각선의 길이가 1에서 최대 길이로 변화하므로 효과적이지 못함 특별한 하드웨어를 가지는 컴퓨터에서 구현 됨

동적 프로그래밍의 장단점 시간을 많이 소요 아미노산 서열 분석에서는 미묘한 유사성에 대해서도 아주 민감하게 반응하여 가장 정확한 해결책 뉴클레오티드 서열에서는 두 뉴클레오티드의 유사성보다는 동일성을 판별하므로 별 가치 없음 대중적인, 데이터베이스 검색에 효율적인 알고리즘: FASTA, BLAST - 최적의 정렬을 보장 못하지만 데이터베이스 검색에 있어 효율적이 알고리즘