KR101140532B1 - 베타형:구들간의 블렌딩 곡면을 정의하는 위상정보를표현하는 간결한 구조 및 상기 구조를 구성하는 방법 - Google Patents

베타형:구들간의 블렌딩 곡면을 정의하는 위상정보를표현하는 간결한 구조 및 상기 구조를 구성하는 방법 Download PDF

Info

Publication number
KR101140532B1
KR101140532B1 KR1020087001070A KR20087001070A KR101140532B1 KR 101140532 B1 KR101140532 B1 KR 101140532B1 KR 1020087001070 A KR1020087001070 A KR 1020087001070A KR 20087001070 A KR20087001070 A KR 20087001070A KR 101140532 B1 KR101140532 B1 KR 101140532B1
Authority
KR
South Korea
Prior art keywords
beta
pocket
logic configured
readable code
voronoi
Prior art date
Application number
KR1020087001070A
Other languages
English (en)
Other versions
KR20080024529A (ko
Inventor
김덕수
김동욱
조철형
류중현
서정연
조영송
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Publication of KR20080024529A publication Critical patent/KR20080024529A/ko
Application granted granted Critical
Publication of KR101140532B1 publication Critical patent/KR101140532B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

구들 간의 블렌딩(blending) 곡면을 정의하는 위상정보를 표현하는 간결한 구조, 즉 베타형(beta-shape)이 개시된다. 또한, 구들의 보로노이 다이어그램을 획득하는 단계; 부분적으로 접근 가능한 보로노이 모서리들을 탐색하는 단계; 및 상기 부분적으로 접근 가능한 보로노이 모서리들로부터 베타형의 면들을 구하는 단계를 포함하는 것을 특징으로 하는 베타형을 구성하기 위한 방법이 개시된다. 또한, 베타형들을 획득하는 단계; 및 상기 베타형들로부터 포켓들을 인식하는 단계를 포함하는 것을 특징으로 하는 포켓들을 인식하기 위한 베타형을 사용하는 방법이 개시된다.

Description

베타형:구들간의 블렌딩 곡면을 정의하는 위상정보를 표현하는 간결한 구조 및 상기 구조를 구성하는 방법{BETA-SHAPE:COMPACT STRUCTURE FOR TOPOLOGY AMONG SPHERES DEFINING BLENDING SURFACE OF SPHERE SET AND METHOD OF CONSTRUCTING SAME}
본 발명은 구들 간의 위상정보를 표현하기 위한 간결한 자료 구조에 관한 것이며, 특히 구들 간의 블렌딩(blending) 곡면을 정의하는 위상정보를 표현하는 간결한 구조 및 상기 구조물을 구성하는 방법에 관한 것이다.
보로노이 다이어그램(Voronoi diagram)과 관련된 개념들은 과학 및 공학의 다양한 분야에 널리 사용되어온 개념이다. 특히, 점집합(point set)의 보로노이 다이어그램은 최근 수년간 다양한 응용분야에서 사용이 증가하고 있다. 이는 보로노이 다이어그램의 기하학적 특징의 이해 및 안정적이고 효율적인 프로그래밍 코드의 발전에 기인한 것이다.
예를 들어 생명공학분야에서는 Richards가 1974년 분자를 구성하는 원자들의 중심점에 대한 보로노이 다이어그램을 분자의 실장밀도 연구를 위해 이용하였다 (F. M. Richards, The interpretation of protein structures: Total volume, group volume distributions and packing density, Journal of Molecular Biology 82 (1974) 1-14 참조). 그 이후로 보로노이 다이어그램은 분자의 구조를 해석하는데 매우 중요한 계산 도구로 사용되고 있다.
1974년 이후로, 점집합의 보로노이 다이어그램은 구조와 관련된 다양한 생명공학의 문제를 푸는데 널리 사용되고 있다. 그러나 Richards는 점집합의 보로노이 다이어그램은 원자들간 크기의 차이를 적절히 반영하지 못한다는 것을 알게 되었다. 그래서 Richards는 보로노이 다이어그램에서 두 원자간의 이등분선(bisector)을 평행이동하여 원자들간 크기의 차이를 반영하도록 하는 방법론을 제안하였다. 그러나 제안된 방법론에 의하여 평행이동된 이등분선은 전체 공간을 빈틈 없이 분할(tessellation)한다는 것이 보장되지 않기 때문에 "vertex error" 라 불리는 문제를 일으켰다. 1982년 Gellatly와 Finney는 두 원자 사이의 이등분선으로 vertex error를 일으키지 않는 특징이 있는 것으로 알려진 근평면(radical plane)을 이용하는 방법론을 제시하였다 (B. J. Gellatly, J. L. Finney, Calculation of protein volumes: An alternative to the Voronoi procedure, Journal of Molecular Biology 161 (2) (1982) 305-322 참조). 이렇게 근평면 방법론은 원자간 크기의 차이를 어느 정도 반영하며, 계산된 결과가 전체 공간을 빈틈 없이 분할 한다는 특징이 있으며 이는 Aurenhammer가 이름 붙인 파워 다이어그램(power diagram)과 동일하다 (F. Aurenhammer, Power diagrams: Properties, algorithms and applications, SIAM Journal on Computing 16 (1987) 78-96 참조).
Edelsbrunner와 Muecke는 1994년 알파형의 개념을 소개하였고, 이는 점집합 보로노이 다이어그램을 이용하여 점집합의 형상을 재구성하는 방법에 관한 기초를 제안하였다 (H. Edelsbrunner, E. P. Muecke, Three-dimensional alpha shapes, ACM Transactions on Graphics 13 (1) (1994) 43-72 참조). 그들은 딜러니 삼각화(Delaunay Triangulation)를 이용하여 알파형(alpha-shapes)을 구성하는 효율적인 알고리즘을 제시하였다. 알파형이 점집합의 보로노이 다이어그램과 딜러니 삼각화라는 수학적으로 매우 잘 정의된 이론을 기반으로 하고 있기 때문에 알파형은 다양한 응용분야에서 사용되었다. 알파형의 주된 응용분야는 점집합으로부터 정의되는 곡면의 형상을 표현하는 데 있다. 이러한 특성을 바탕으로 하여, 생명공학의 많은 연구자들이 표면의 형상을 재구성하여 단백질 등의 공간 구조를 해석하는데 사용할 수 있도록 하는 시도를 하였다.
그러나 알파형은 생명공학의 문제에 적용하는데 한계점이 존재하였다. 그 이유는 알파형이 원자간의 크기의 차이를 반영하지 못한다는 것이다. 일반적으로 구들 간의 근접성 정보(proximity)는 구의 중심에 대한 근접성 정보와는 동일하지 않다.
삼차원 공간에서의 알파형을 도 1 내지 도4를 참고하여 살펴보겠다. S를 3차원 공간에서 유한개 점들의 집합(102)이라고 가정하고 α는 0≤α≤∞를 만족하는 수라고 한다면, 알파헐(alpha-hull)과 알파형은 다음과 같이 명확히 설명된다.
스티로폼으로 가득 채워진 공간이 있고 점집합 S의 점들(102)이 돌과 같은 좀 더 단단한 물질로 만들어져 있다고 가정한다. 또한 반지름이 α인 구형의 지우개(104)가 있다고 가정한다. 이때, 구형의 지우개가 점집합 S의 점들(102)이 놓인 곳을 제외하고는 공간상의 어느 곳이라도 자유롭게 존재 가능하다. 점집합 S의 점 들(102)의 방해를 받지 않으며 지우개가 지나가면서 공간의 스티로폼은 깎여 나간다. 이러한 작업을 통하여 만들어진 형상을 알파헐(106)이라 부른다. 이러한 알파헐(106)을 좀 더 다루기 용이한 형태로 만들기 위하여 알파헐(106)의 경계 중에 원형의 곡면(110)은 선분(108)으로 대체하고 구형의 곡면은 삼각형으로 대체한다. 그리하여 나온 다각형 형태의 형상을 점집합 S의 알파형(112)이라 한다.
그리하여 알파형(112)는 α가 ∞일 경우 점집합 S의 최소볼록집합(convex hull)과 동일하며, α가 0일 경우 알파형(112)는 점집합 S와 일치하게 된다. 일반적으로 알파형은 볼록(convex)하지 않으며 연결되어 있지 않을 수도 있다 (disconnected). 알파형(112)은 2차원 삼각형 형태의 면을 포함하기도 하며, 선분과 같은 1차원 모서리를 포함하기도 한다. 또한 구성요소로 독립된 점들을 포함하기도 한다. 알파형(112)는 점집합 S의 딜러니 삼각화의 클로져(closure)의 부분집합이며, 핸들(handle)과 내부 빈 공간(interior void)을 가지기도 한다.
∂X, i(X), cl(X)는 각각 집합 X의 경계(boundary), 내부(interior), 클로져(closure)를 나타낸다. 그리고 Hα(S)와 Sα(S)는 각각 S의 알파헐(106)과 알파형(112)을 의미한다. 일반적으로 ∂i(Sα(S)) ≠ ∂Sα(S)의 관계가 성립하며 이는 알파형(112)은 일반적으로 비다양체(non-manifold)임을 의미한다.
도 1은 평면에서의 점집합과 특정값 α1에 의해 정의된 알파헐(106)을 도시한다. 그리고 도 2는 α1에 대응되는 매달린(dangling) 모서리(114)가 존재하는 알파형(112)을 도시하고 있다. 이와 비슷하게, 도 3과 도 4는 동일한 점집합에 대하 여, 0 < α1 <α2인 α2로 정의되는 알파헐(106)과 알파형(112)을 나타내고 있다. 여기서 3차원 공간에서의 알파형도 2차원에서의 예와 동일한 기본 개념을 가지고 있음을 주지되어야 한다.
알파형의 이론이 많은 응용 분야에 이용되고 있지만, 이의 응용이 적절하지 않은 몇몇 심각한 예들이 존재한다. 이러한 예로 단백질에서 포켓을 찾는 문제를 도 5 내지 도 7을 참조하여 설명하도록 한다.
우선, 단백질의 포켓의 정의에 대해서 기하학적인 관점에서 설명하도록 한다. 대부분의 단백질은 6가지의 서로 다른 원자의 종류, 즉, H, C, N, O, P, S로 구성되어있다. 그리고 각각 원자의 종류는 서로 다른 반데르발스(van der Waals) 반지름을 가지고있다 (H:1.2, C:1.7, N:1.55, O:1.52, P:1.8, S:1.8Å). 이러한 반데르발스 반지름을 가지는 원자들은 반데르발스 원자라 부른다. 단백질을 구성하는 원자의 개수는 수백에서 수백만에 이른다.
단백질의 기하학적 특징을 해석하는 대부분의 연구에서, 주로 해당 단백질과 리간드(ligand)라 불리는, 상대적으로 작은 크기를 가지는 또 다른 분자 사이의 상호 관계를 해석한다. 이러한 해석은 일반적으로 프로브(probe)라 불리는 리간드를 구성하는 원자들을 둘러싸는 구로 표현하여 진행이 된다. 비록 프로브는 리간드의 근사화 이지만, 프로브는 단백질에 대하여 리간드의 형상과 형태상의(conformational) 변화 및 상대적 방향성을 포괄하는 표현법으로 볼 수 있다. 그래서, 단백질에 대한 프로브의 상대적인 활동이 리간드의 기하학적 활동을 가장 잘 표현한다고 볼 수 있다. 예를 들어, 물 분자의 경우는 반지름이 1.4 Å인 구로 표현이 된다.
도 5는 검정색 점들(204)을 중심으로, 서로 다른 반지름을 가진 원(202) (평면에서의 원자)을 도시하고 있다. 도 5에서는 원자들의 표면에서 움푹 들어간(depressed) 영역(206)과 빈 공간에서의 검정색 원(208)을 볼 수 있다. 검정색 원(208)은 반지름이 β인 베타볼(beta-ball)이라 불린다. 도 5에서는 두 개의 큰 원자들(a1과 ar) 사이의 거리가 베타볼(208)이 들어갈 수 있을 정도로 넓지 않기 때문에 베타볼(208)이 포켓(206), 즉, 움푹 들어간 영역(206)에 들어가지 못한다는 것을 확인할 수 있다.
베타볼(208)이 포켓(206) 내부에 자유롭게 들어갈 수 있는지의 여부를 판단하는 방법을 아래에서 설명한다. 원자들(202)간 반지름의 차이를 무시하고 원자의 중심점들(204)만을 고려한다면, 체계적이면서 가장 좋은 공간 해석 법은 점집합의 보로노이 다이어그램을 이용하거나 원자의 파워 다이어그램을 이용하는 것이 될 것이다. 도 6은 원자 중심점들(204)의 보로노이 다이어그램(210)과 그것의 쌍대(dual) 구조인 딜러니 삼각화(212)를 도시하고 있다. 베타볼(208)을 적절한 양만큼 크기를 늘려 베타'볼(beta'-ball) (216)이 되었다고 하자. 이때 단백질에서 베타'볼(216)이 통과할 수 있는 부분을 찾아낼 수 있을 것이다.
그러나 베타볼(208)이 통과할 수 있는지의 정확한 결정은 원자간(202) 크기의 차이를 적절히 고려하지 않으면 불가능할 것이다. 예를 들어, 도 5에서는 원자 (a1과 ar)가 해당 분자의 모든 원자들(202)중에서 가장 큰 입구(entrance)를 가진다. 예를 들어, 베타볼(208)이 원자들(202) 반지름의 평균값을 반지름으로 가지는 베타'볼(216)이 되었다고 할 때, 움푹 들어간 영역(206)은 도 7의 베타볼 (208)로 접근이 가능하다는 것을 알 수 있다. 도 7의 실선(214)은 도 6의 딜러니 삼각화 (212)로부터 베타볼(208)이 자유롭게 지나갈 수 있는 딜러니 모서리를 제거하여 추출해낸 알파형을 도시하고 있다. 만약 베타볼(208)이 원자 집합에서 가장 큰 원자의 크기를 가지는 베타'볼로 되었다면, 위에 보여준 예제에서 잘못된 포켓은 나타나지 않았을 것이다. 그러나, 그 반대의 상황은 몇몇의 예에서 나타날 수 있다. 분자의 표면에서 포켓의 입구가 작은 원자들로 이루어진 유효한 포켓이 존재한다고 가정한다. 만약 베타볼이 가장 큰 원자의 크기를 가지는 베타'볼로 되었다면, 유효한 포켓은 이 경우에 올바로 찾아낼 수 없을 것이다. 그래서, 베타볼 크기의 증가와는 상관 없이, 원자들 간 크기의 차이를 고려하지 않는다면 유효한 포켓을 판단하지 못할 가능성이 존재한다. 그래서, 알파형을 이용하여 올바른 해를 구하려고 한다면 원자들간의 모든 조합에 대한 탐색이 필요하며, 이는 전체 공간의 탐색을 요구한다.
점집합의 보로노이 다이어그램이 (딜러니 삼각화 또한) 원자들간의 근접성 정보를 적절히 주지 못하기 때문에, 정확한 근접성 정보를 요구하는 응용분야에서는 정확한 결과를 효율적으로 도출하지 못할 것이다.
원자들간 크기의 차이를 표현하기 위해서 Edelsbrunner는 알파형의 개념을 연장하여 파워 다이어그램의 쌍대 구조인 정규 삼각화(regular triangulation)을 기반으로 하는 웨이티드 알파형(weighted alpha-shape)을 제안하였다 (H. Edelsbrunner, Weighted alpha shapes, Technical Report UIUCDCS-R-92-1760, Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL, (1992); H. Edelsbrunner, The union of balls and its dual shape, Discrete & Computational Geometry 13 (1995) 415-440 참조). 그 이후로 웨이티드 알파형은 분자시스템의 공간 구조를 해석하고 이해하는데 이용되고 있다. 그러나, 파워 다이어그램에서의 거리 척도는 파워 거리척도(power distance)임을 주시할 필요가 있다. 다시 말하면, 파워 다이어그램의 모서리나 면을 정의하는 원자 사이의 최소 탄젠셜(tangential) 거리가 구형 지우개의 반지름보다 작다면 그 지우개는 이러한 원자들 사이를 충돌 없이 통과할 수 있고, 해당 모서리와 면은 상기 지우개보다 큰 것으로 간주한다. 그래서 웨이티드 알파형의 경우 파워다이어그램의 이등분선을 정의하는 원자들이 미리 정의된 크기의 프로브가 충돌 없이 통과할 수 있는지의 여부를 항상 검사해보아야 한다. 특히 파워 다이어그램은 (그리고 웨이티드 알파형)은 원자들이 교차하지 않고 떨어져 있다면 유클리드(Euclidean) 거리척도 관점에서의 근접성 정보를 올바르게 제공하지 못한다. 파워 다이어그램이 원자들 사이의 교차 정보를 정확하게 제공하기 때문에 교차와 관련된 문제의 경우 올바른 해를 제공할 수 있다. 그러나, 응용분야에 따라서 반지름 조정은 달라진다. 그래서 대부분의 응용문제에서는 풀고자 하는 문제를 구들의 반지름을 조정하고 변경된 구들 사이의 교차 정보를 얻어내는 문제로 변환하는 접근을 하고 있다. 그리고 문제 에 따라서 어느 정도로 구들의 반지름을 조정해야 하는지는 명확하지 않다. 그래서 웨이티드 알파형만으로는 유클리드 거리에 기반하는 생명공학의 문제들에 적용하는 것에는 한계가 있다. 또한 프로브의 크기가 변화한 경우 웨이티드 알파형을 구하기 위해서는 새로운 파워 다이어그램을 다시 구해야 하는 단점이 있으며, 이러한 문제는 구들의 보로노이 다이어그램에서는 나타나지 않는다.
다시 말해서 알파형과 웨이티드 알파형의 가장 큰 단점은 입력된 기하요소에 대한 크기의 차이를 충분히 반영하지 못한다는 사실에 있다.
본 발명은 구들 간의 블렌딩(blending) 곡면을 정의하는 위상정보를 표현하는 간결한 구조를 제공하는 것을 목적으로 한다. 또한, 본 발명은 구집합으로부터 상기 간결한 구조를 구성하는 방법을 제공하는 것을 목적으로 한다. 또한, 본 발명은 상기 간결한 구조를 사용하는 방법을 제공하는 것을 목적으로 한다.
본 발명의 일측면에 따르면, 컴퓨터에서 판독 가능한 매체는 구들(spheres)의 보로노이 다이어그램(Voronoi diagram) 오브젝트(object)를 구하기 위한 컴퓨터에서 판독 가능한 코드; 상기 보로노이 다이어그램 오브젝트로부터 부분적으로 접근 가능한 보로노이 모서리들(edges)을 탐색하기 위한 컴퓨터에서 판독 가능한 코드; 및 상기 부분적으로 접근 가능한 보로노이 모서리들로부터 베타형(beta-shape) 오브젝트의 면들(faces)을 계산하기 위한 컴퓨터에서 판독 가능한 코드를 포함하는 것을 특징으로 한다.
본 발명의 다른 측면에 따르면, 컴퓨터에서 판독 가능한 매체는 베타형 오브젝트들을 구하기 위한 컴퓨터에서 판독 가 능한 코드; 및 상기 베타형 오브젝트들로부터 포켓들(pockets)을 인식하기 위한 컴퓨터에서 판독 가능한 코드를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따르면, 시스템은 구들의 보로노이 다이어그램 오브젝트를 구하도록 구성된 로직(logic); 상기 보로노이 다이어그램 오브젝트로부터 부분적으로 접근 가능한 보로노이 모서리들을 탐색하도록 구성된 로직; 및 상기 부분적으로 접근 가능한 보로노이 모서리들로부터 베타형 오브젝트의 면들을 계산하도록 구성된 로직을 포함하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따르면, 시스템은 베타형 오브젝트들을 구하도록 구성된 로직; 및 상기 베타형 오브젝트들로부터 포켓들을 인식하도록 구성된 로직
을 포함하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따르면, 베타형을 구성하기 위한 방법은 구들의 보로노이 다이어그램을 획득하는 단계; 부분적으로 접근 가능한 보로노이 모서리들을 탐색하는 단계; 및 상기 부분적으로 접근 가능한 보로노이 모서리들로부터 베타형(beta-shape)의 면들을 구하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따르면, 포켓들을 인식하기 위한 방법은 베타형들을 획득하는 단계; 및 상기 베타형들로부터 포켓들을 인식하는 단계를 포함하는 것을 특징으로 한다.
본 발명은 유클리드 거리 척도에 기반하고 원들과 구들 간 반지름 차이가 고려된 베타형의 개념을 제시한다. 나아가, 본 발명은 상기 베타형을 구성하는 효율적 방법을 제공한다. 또한, 본 발명은 유클리드 거리 척도에서 상기 베타형과 보로노이 다이어그램에 기반하여 포켓을 인식하는 기하학적 방법을 제공한다.
도 1 내지 도 4는 평면상의 동일한 점집합의 알파-헐(alpha-hulls)과 알파형(alpha-shapes)을 도시한 도면이다.
도 5 내지 도 7은 원자집합(atom set)의 알파형으로부터 인식된 잘못된 포켓(pocket)을 도시한 도면이다.
도 8 내지 도 11은 본 발명의 제 1 실시예에 따라 이차원 원자집합의 베타-헐(beta-hulls)과 베타형(beta-shapes)을 도시한 도면이다.
도 12는 도 5에서와 동일한 프로브(probe)와 원자집합, 및 다각형으로 표현된 베타형의 닫혀있는 잘못된 포켓을 도시한 도면이다.
도 13 내지 도 16은 본 발명의 제 2 실시예에 따라 원자집합, 원자들의 보로노이 다이어그램(Voronoi diagram), 분자 곡면, 및 3차원 베타형을 도시한 도면이다.
도 17 내지 도 25는 도 13에서와 동일한 원자들에 대하여 다른 반경의 프로브로 계산된 베타형들을 도시한 도면이다.
도 26은 본 발명의 제 3 실시예에 따라 구들의 보로노이 다이어그램으로부터 베타형을 구성하기 위한 방법을 도시한 도면이다.
도 27은 본 발명의 제 4 실시예에 따라 구들의 보로노이 다이어그램으로부터 베타형을 구성하기 위한 방법의 일부를 도시한 도면이다.
도 28은 본 발명의 제 4 실시예에 따라 구들의 보로노이 다이어그램으로부터 베타형을 구성하기 위한 방법의 또 다른 일부를 도시한 도면이다.
도 29은 본 발명의 제 5 실시예에 따라 모서리 교차(edge-crossing) 방법을 도시한 도면이다.
도 30 내지 도 33는 본 발명의 제 5 실시예에 따라 보로노이 면으로부터 베타형 면들을 탐색하는 방법을 도시한 도면이다.
도 34는 포켓을 통하여 상호작용하는 두 개의 분자, 리셉터(receptor)와 리간드(ligand)를 도시한 도면이다.
도 35와 도 36는 2차원에서의 내부 및 외부 베타형들을 도시한 도면이다.
도 37과 도 38은 포켓 프리미티브(pocket primitives)의 예를 도시한 도면이다.
도 39는 본 발명의 제 6 실시예에 따라 베타형을 이용해 단백질 상의 포켓들을 인식하는 방법을 도시한 도면이다.
도 40 내지 도 45는 포켓 인식과정을 도시한 도면이다.
이하에서는 본 발명에 대한 충분한 이해를 돕기 위해 상세한 설명이 기술된다. 그러나, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자에게 본 발명이 상기 모든 혹은 부분적 실시예 없이도 실행 가능하다는 것은 자명하다. 또한, 본 발명을 불명확하게 하지 않도록 이미 잘 알려진 과정에 대한 상세한 설명은 기술되지 않는다.
알파형(alpha-shape)에서 원자간 크기의 차이를 반영하기 위하여 본 발명의 일측면에서는 베타형(beta-shape)이란 개념을 제시한다. 구집합(sphere set)이 주어졌을 때, 베타형은 블렌딩 곡면(blending surface)을 정의하는 구들 간의 위상 정보를 표현하는 간략하고 효율적인 구조이다. 도 8 내지 도 11에서 베타헐(beta-hull)의 개념을 소개하고, 본 발명의 제 1 실시예에 따라서 베타형의 개념을 설명하겠다.
개념적으로 베타헐은 알파헐(alpha-hull)의 일반화(generalization)이며 알파헐과 유사하게 설명될 수 있다. 알파헐의 점집합(point set)은 삼차원 구들의 집합으로 대체된다. 알파헐의 경우 전체 공간이 스티로폼으로 채워져 있고, 구형의 돌이 스티로폼 내부에 흩어져 있다고 가정한다. 이때의 구형의 돌의 반지름은 동일할 필요가 없다. 이때 스티로폼을 β의 반지름을 가지는 구형의 지우개로 흩어져있는 구형의 돌은 지나가지 않은 채 깎아나간 후 남아있는 스티로폼의 공간을 베타헐이라 한다. 여기서 구형의 지우개는 구형의 돌과 교차하지 않는 한 공간의 어디에라도 존재 가능하므로 내부의 빈 공간 또한 생길 수 있다.
도 8에는 2차원 원자들(302)과 특정 β1값의 반경을 가지는 베타볼(beta-ball) (306)로 정의된 베타헐(304)을 도시하고 있다. 여기에 대응되는 베타형 208은 도 9에 나타나있다. 여기서 주목할 점은 베타형(308)에는 매달린(dangling) 모서리(310)가 존재한다는 것이다. 도 10과 도 11에서는 같은 원자들에 대하여 β2 (0<β1<β2 )로 정의된 베타헐(304)과 베타형(308)을 도시한다.
삼차원에서 유한개의 구형의 원자들의 집합 A={ai | i = 1, ..., n} 를 생각해보자. 베타볼 b는 반지름이 β(0<β≤∞)인 열린 구(open ball)라고 한다. β가 0일 경우의 베타볼은 점으로 두고, β가 무한대일 경우는 열린 반공간 (open half-space)이 된다. 베타볼 b는 b∩A=Ø경우에는 비어있다고 부른다.
0≤β≤∞인 경우, 집합 A의 베타헐은 Hβ(A)로 나타내며 가능한 모든 비어있는 베타볼의 합집합에 대한 여집합으로 정의된다. β가 무한대인 경우 Hβ(A)는 집합 A의 최소볼록집합(convex hull)이 되며, β가 0인 경우는 집합 A의 합집합이 된다. 실제로 ∂Hβ(A)로 나타내는 집합 A에대한 베타헐의 경계(boundary)는 A의 분자곡면(molecular surface)라 불린다.
알파헐이 주어져 있을 때, 알파형은 해당 알파헐의 곡면을 평평하게 펴주어서 얻을 수 있다. 다시 말해서, 원호는 직선으로 바꾸고, 구면은 삼각형으로 바꾸어준다. 베타형 또한 알파형과 비슷하게 설명이 되지만 본질적인 차이는 존재한다. 즉, 베타헐과 베타형 간의 관계는 알파헐과 알파형과는 약간 다르다.
베타헐 Hβ(A)이 주어져 있다고 했을 때, 비어있는 베타볼 b의 경계 ∂b는 A의 원자들 중 하나 이상의 원자에 접촉할 수가 있다. 그리고 Asub(b)는 A의 부분집합 중 비어있는 베타볼 b에 동시에 접하는 구들의 집합을 나타낸다고 가정한다.
그러면, 베타헐 Hβ(A)에 대응되는 베타형 Sβ(A)는 아래와 같이 해 당 원자들의 중심점을 적절히 연결하여 얻을 수 있다. 만약 |Asub(b)|=1이면, 접하는 원자의 중심점이 Sβ(A)의 꼭지점이 되고, 동시에 접하는 원자의 개수가 2이면 Sβ(A)의 모서리가 정의된다. 그리고 |Asub(b)|=3이면 해당 중심점들로 정의되는 삼각형 형태의 면이 정의된다. 베타형의 정의는 다음과 같다.
Asub(b)= {a∈A | b∩A=Ø a∩∂b≠Ø} 이고 c와 r을 원자 a의 중심과 반지름이라 할 때 Csub(b)={c | a=(c,r)∈Asub(b)} 이라 가정한다. 그리고 △b는 특정 b에 대해서 Csub(b)의 원소의 볼록결합(convex combination)을 나타낸다고 가정한다. 그러면, 베타형 Sβ(A)는 특정값 β(0≤β≤∞)에 대응되는 공간에서 가능한 모든 b에 대해서 집합 ∪△b로 둘러싸인 폴리톱(polytope)으로 정의할 수 있다.
여기서 중요한 점은 베타형은 오브젝트(object)의 내부와 경계로 이루어진 폴리톱이라는 사실이다. 그리고 모든 원자들이 일반적인 위치(general position)에 놓여 있다면, 1≤|Asub(b)|≤3을 만족한다. 다시 말하면, 비어있는 베타볼의 경계 ∂b 는 최대 3개의 원자에 동시에 접할 수 있다고 가정한다. 이러한 개념은 d-차원에서도 유사한 방법으로 일반화될 수 있다.
베타형 Sβ(A)는 꼭지점, 모서리, 면의 집합으로 표현된다고 가정한다. 다시 말하면, Vβ={vβ 1, vβ 2,...}, Eβ={eβ 1, eβ 2,...} 및 Fβ={fβ 1, fβ 2,...} 를 각 각 꼭지점, 모서리, 면의 집합이라 할 때, 베타형 Sβ(A)는 의 Sβ(A)=(Vβ, Eβ, Fβ)형태로 표현이 가능하다. 여기서 vβ i∈Vβ는 해당원자 ai∈A의 중심점 ci이 된다. 그러면 아래와 같은 특성들을 유도해낼 수 있다.
b는 비어있는 베타볼로 표현된다고 가정한다. 만약 b가 A의 한 원자 ai∈A와 접한다면, ai의 중심점 ci는 꼭지점 vβ i∈Vβ 로 변환된다. 만약 b가 A의 두 원자 (ai aj)와 동시에 접한다면 두 중심점(ci cj)으로 이루어지는 모서리 eβ ij∈Eβ가 정의된다. 이와 비슷하게, b가 A의 세 원자(ai, aj ak)와 동시에 접한다면 세 점(ci, cj ck)으로 이루어지는 삼각형 면 fβ ijk∈Fβ가 정의된다.
∂Hβ(A)는 β의 반지름을 가지는 프로브(probe)로 정의되는 A의 블렌딩 모델과 대응된다. Hβ(A)는 롤링 곡면(rolling blend)과 링크 곡면(link blend)이라 불리는 두 종류의 곡면으로 구성되어 있다. 롤링 곡면ρ은 프로브가 이웃한 두 개의 원자들과 접한 상태로 굴러갔을 때 생기는 경계 곡면이다. 이때의 프로브가 제 삼의 원자와 접했을 때, 롤링 곡면은 끝나게 되고 링크 곡면 λ이라는 새로운 종류의 곡면이 해당하는 세 개의 원자들에 의해 정의된다.
두 개의 원자(ai aj)가 롤링 곡면ρij을 정의하도록 서로 가까이에 존재한 다고 가정한다. 그러면 두 원자의 중심점들(ci와 cj)을 잇는 모서리인 eβ ij가 정의된다. 이러한 작업을 원자의 모든 쌍에 대해서 적용한다면 모서리집합 Eβ가 만들어질 수 있을 것이다. 만약 세 개의 원자(ai, aj, ak)가 하나의 링크 곡면 λijk을 정의한다고 가정 한다면, 세 원자의 꼭지점(vβ i,vβ j,vβ k)들로 이루어진 삼각형 면인 fβ ijk가 정의된다. 마찬가지로 이러한 작업을 모든 세 개 원자의 조합에 대해서 적용한다면 Fβ를 구할 수 있다.
롤링 곡면ρij이 두 개의 원자(ai aj)에 의해 정의되고 해당 프로브의 스웹트 볼륨(swept-volume)이 다른 원자를 교차하지 않을 경우, 이때의 롤링 곡면ρij의 안내 곡선(spine curve)은 완전한 원이 된다. 이러한 경우, 해당 모서리 eβ ij는 베타형의 면 집합 fβ∈Fβ에 영향을 끼치지 않는다. 그래서 이러한 모서리는 매달린 모서리가 된다. 이와 유사하게 베타형에서는 매달린 면도 발생할 수 있다.
β(A)의 구조는 A에서 모든 원자들을 블렌딩(blending)하는 것에 기초하여 정의되기 때문에 Sβ(A)는 베타형으로 불린다. 베타형을 구하기 위하여 실제 블렌딩 작업을 명시적으로 수행할 필요는 없다. 원자들이 주어져 있을 때 블렌딩 곡면의 생성 여부는 대응되는 보로노이 모서리와 보로노이 면들로부터 정확하게 알 수 있다. 또한, 베타형은 원자간 크기 차이를 고려하여 이미 잘 알려진 알파형의 일반화를 의미한다.
도 12는 도 5에서와 동일한 프로브(208)와 원자 집합(202)과 다각형으로 표현된 해당 베타형(402)을 도시하고 있다. 여기서 이전의 틀린 포켓이 이제는 베타형(402)에서 닫혀있는 것을 확인할 수 있다. 그러므로, 베타볼(208)이 포켓 (206) 내부로 들어갈 수 있는지의 여부를 정확하게 판단할 수 있다.
비록 도 8 내지 도 12가 2차원에서의 베타형을 도시하고 있지만, 3차원의 분자 모델에 대해서도 동일하게 계산될 수 있다. 3차원에서의 베타형과 관련된 제 2 실시예는 도 13 내지 도 16과 도 17 내지 도 25를 참조하여 아래에 설명하겠다.
도 13은 단백질 데이터 은행(Protein Data Bank, (PDB))에서 내려받은 단백질의 일부분을 도시하고 있고, 도 14는 그것의 보로노이 다이어그램을 도시한다. 해당 모델은 67개의 원자(41개의 탄소, 14개의 질소, 12개의 산소)로 구성되어 있으며 알파 힐릭스(alpha-helix)라고 불리는 단백질의 이차구조를 형성하고 있다. 수소원자는 단백질 데이터 은행의 단백질 데이터에서 생략된다. 도 15에는 반지름이 1.4 Å인 프로브로 정의되는 분자곡면을 도시한다. 도 16은 도 15의 분자곡면에 대응되는 베타형을 도시하고 있다. 여기서 한가지 유의할 점은 베타형의 계산을 위해서 분자곡면을 구할 필요는 없다는 점이다. 이와는 반대로, 베타형이 계산되어 있을 경우, 대응되는 분자곡면의 계산이 매우 쉬워진다. 보로노이 다이어그램은 데이터 구조로서 저장될 수 있다. 보로노이 다이어그램은 방사 모서리 자료구조(radial edge data structure)와 같은 비다양체(non-manifold) 모델을 위한 자료 구조로 저장될 수 있다 (K. Weiler. The radial edge structure: A topological representation for non-manifold geometric boundary modeling. In Geometric Modeling for CAD Applications, pp. 3-36. North-Holland, 1988; and Youngsong Cho, Donguk Kim, and Deok-Soo Kim, Topology Representation for the Voronoi Diagram of 3D Spheres, International Journal of CAD/CAM, Vol. 5, No. 1, pp. 59-68, 2005 참조).
도 17 내지 도 25는 도 13에서와 동일한 원자들에 대하여 다른 반경의 프로브로 계산된 베타형들을 도시하고 있다. 도 17은 무한대의 반지름을 가지는 프로브에 의해 생성된 베타형을 도시하고 있다. 참고로 본 예제에서의 베타형은 원자들 중심점들의 최소볼록집합과 동일하다. 그러나 이러한 성질이 일반적으로 항상 성립되는 것은 아니라는 것을 주지할 필요가 있다. 도 25는 반지름이 0Å일 때의 베타형을 도시한다. 도 18내지 도 24는 반지름이 각각 30, 10, 5, 4, 3, 1.4, 0.7Å 일 때의 베타형을 도시하고 있다. 도 25에서와 같이 프로브가 점으로 축소되었을 경우(β=0)에도 해당 베타형은 꼭지점, 모서리, 삼각형 면으로 구성되어있다. 이러한 경우에는 두 원자가 교차한 경우에는 모서리가, 세 원자가 교차한 경우에는 삼각형 면으로 변환 된다. 그리고 하나의 원자가 다른 원자들과 떨어져 있는 경우의 해당 원자는 베타형에서 독립된 점으로 나타날 수 있다.
본 발명의 제 3 실시예에 따른 구집합 보로노이 다이어그램으로부터 베타형을 구하는 방법을 도 26을 참조하여 설명하겠다. 본 방법은 베타형을 정확한 위상학적 연결성을 유지하며 구성한다. 알파형이 점들의 딜러니 삼각화로부터 구해지는 것과 같이, 원자들의 베타형은 원자의 보로노이 다이어그램으로부터 구해진다.
원자 집합 A의 보로노이 다이어그램 VD(A)는 아래와 같이 정의된다. 각각의 원자 ai∈A마다 대응되는 보로노이 영역 VRi이 존재한다. 이때 VRi 는 dist(p,q) 를 두 점 p와 q사이의 유클리드(Euclidean) 거리라 할 때 {p | dist(p,ci)-ri≤dist(p,cj )-rj, i≠j } 와 같이 정의된다. 그리고 VD(A)는 {VR1, VR2, ..., VRn}과 같이 보로노이 영역의 집합으로 정의되고, Vv={vv 1 , vv 2, ...}, Ev={ev 1 , ev 2,...}, Fv={fv 1, fv 2,...}를 각각 보로노이 꼭지점, 보로노이 모서리, 보로노이 면의 집합이라고 할 때 Gv=(Vv, Ev, Fv)와 같이 그래프의 형태로 표현할 수 있다. 보로노이 다이어그램에서는 꼭지점, 모서리, 면들 간의 위상학적 이웃 정보가 정확히 표현되어 있어야 한다. 보로노이 다이어그램의 정의로부터 보로노이 꼭지점 vv은 해당하는 이웃한 네 개의 원자에 동시에 접한 빈 구의 중심점이 되며, 보로노이 모서리 ev는 세 개의 이웃한 원자에 동시에 접하는 빈 구의 중심의 자취로 정의된다. 보로노이 면fv은 이웃한 두 개의 원자에 거리가 같은 점들의 집합이다. 여기서 보로노이 면fv은 쌍곡면 또는 평면의 형태를 띤다. 위에서 설명한 바와 같이, 보로노이 다이어그램은 저장소에 자료 구조의 형태로 저장되며 컴퓨터 또는 유사한 시스템에서 처리 가능하다.
Aurenhammer가 원자의 보로노이 다이어그램에 관하여 최초로 언급한 이후로, 몇몇의 연구자들은 이러한 보로노이 다이어그램을 계산하는 알고리즘을 연구하였다. 최근 들어, 미국 특허번호 2005/0248567에서 설명한 것과 같이 실용적인 알고리즘과 구현 방법들이 소개되었으며, 이들의 설명에 대해서는 현 명세서에 포함시키지 않겠다.
두 개의 꼭지점 vv s와 vv e로 구성된 VD(A)의 보로노이 모서리 ev가 존재한다고 가정한다. 이때의 ev는 세 개의 원자(ai, aj, ak)에 의해 정의된다. 모서리 ev는 원뿔곡선이며 그래서 평면곡선인 것으로 알려져 있다. DeV(x)는 모서리 ev 위의 한 점 x∈ev에서 셋 중 하나의 원자까지의 유클리드 거리라 하고 rp는 프로브 p의 반지름이라 가정한다. 그리고 Dmin eV과 Dmax eV는 각각 DeV(x)의 최소값 및 최대값이라고 한다. 이때, DeV(x)는 x가 ev의 하나의 꼭지점vv s에서 반대편 꼭지점vv e으로 이동할 때 단봉(unimodal)임을 알 수 있다. 그래서 Dmin eV은 x가 양꼭지점(x≡vv s 혹은x≡vv e) 중 하나에서 발생하거나 세 구의 중심(ci, cj ck)을 지나는 평면과 모서리 ev가 교차하는 점에서 발생한다. 반면에 Dmax eV는 언제나 양 꼭지점(x≡vv s 혹은 x≡vv e) 중 하나 에서 발생한다. 참고로 DeV(vv s)와 DeV(vv e)는 VD(A)를 계산하는 과정에서 구할 수 있다. 모서리 ev는 Dmin eV < rp ≤Dmax eV일 경우 프로브 p에 대해 부분적으로 접근 가능하다고 부른다. 그리고 모서리ev는 rp ≤ Dmin eV일 경우 완전히 접근 가능하다고 부르고, rp > Dmax eV일 경우 접근불가하다고 한다.
fv를 두 원자(ai와 aj)로 정의되는 VD(A)의 보로노이 면이라 하고 DfV(x)는 보로노이면 위의 한 점 x∈fv 에서 둘 중 하나의 원자까지의 유클리드 거리라 가정한다. 그리고 Dmin fV과 Dmax fV는 각각 Df(x)의 최소값 및 최대값이라고 한다. 면 fv는 Dmin fV < rp ≤ Dmax fV일 경우 프로브 p에 대해 부분적으로 접근가능하다고 부른다. 그리고 면 fv는 rp ≤ Dmin fV일 경우 완전히 접근 가능하다고 부르고, rp > Dmax fV일 경우 접근불가하다고 한다.
보로노이 모서리 ev는 세 개의 원자 (ai, aj, ak)에 의해 정의된다고 가정한다. 모서리 ev가 부분적으로 접근가능하다고 한다면 세 원자는 링크 블렌딩 곡면 λijk를 정의하고 여기에 대응되는 삼각형 면 fβ ijk은 Sβ(A)= (Vβ, Eβ, Fβ) 를 베 타형이라 할 때, Fβ의 원소이다.
보로노이 면 fv는 두 개의 원자(ai와 aj)에 의해 정의된다고 가정한다. 만약 면 fv가 프로브 p에 대해 부분적으로 접근가능하다고 한다면 두 원자는 롤링 블렌드ρij를 정의하고 이와 대응되는 모서리 eβ ij를 정의하며 이는 Sβ(A)= (Vβ, Eβ, Fβ)를 베타형이라 할 때 Eβ원소이다.
따라서 본 실시예에서는 베타형의 계산은 구의 보로노이 다이어그램의 계산으로부터 시작한다 (단계 702). 그런 다음 부분적으로 접근가능한 보로노이 모서리와 보로노이 면을 검색한다 (단계 704). 예를 들어, 부분적으로 접근가능한 모서리와 면들을 찾기 위하여 VD(A)의 모든 모서리와 면을 브루트 포스(brute force) 방식으로 검색할 수 있을 것이다. 그런 다음 부분적으로 접근 가능한 보로노이 모서리와 면들로부터 베타형의 면과 모서리를 구한다 (단계 706). 예를 들어, 상기 특징들을 부분적으로 접근가능한 모서리 및/혹은 면들에 적용하면 바라는 결과를 도출해낼 것이다. 즉, 베타형의 면 집합 Fβ를 모든 보로노이 모서리 Ev를 한번씩 검색하여 최악의 경우 O(|Ev|) 시간 안에 쉽게 구할 수 있다.
아래에는 구의 보로노이 다이어그램으로부터 베타형을 구하는 또 다른 방법론을 본 발명의 제 4 실시예로서 도 27과 도 28을 참조하여 설명하겠다. 도 27의 단계들은 도 26의 단계 704와 대응된다. 위의 단계들은 베타형Sβ(A)의 외곽을 구성하는 면 집합 Fβ의 부분집합에 대응되는 보로노이 모서리들을 찾아낸다. VD(A)는 무한대로 뻗어나가는 하나 이상의 모서리를 가지기 때문에, 제안하는 방법에서는 부분적으로 접근가능한 보로노이 모서리를 무한대로 뻗어나가는 보로노이 모서리에서 시작하여 깊이우선탐색(depth-first search)을 통하여 찾아낼 수 있다. 따라서, 본 실시예의 방법론에서는 접근 불가한 모서리 집합은 탐색하지 않는다. 그러므로, 방법론을 통해 나오는 결과는 모든 모서리 전체를 탐색하는 앞서 설명한 방법 보다는 나을 것이다. 베타형Sβ(A)의 내부를 정의하는 영역이 존재한다면, 제시한 방법론은 쉽게 수정 가능할 것이다.
상기 방법은 보로노이 다이어그램의 무한대 모서리들을 가지고 오는 것으로 시작한다 (단계 802). 그리고 나서 무한대 모서리를 스택 구조에 넣는다 (단계 804). 그리고 스택이 적어도 하나의 모서리를 포함하고 있는지를 검사한다 (단계 806). 만약 스택이 하나의 모서리도 가지고 있지 않다면, 상기 방법은 끝이 난다. 만약 스택이 적어도 하나의 모서리를 가지고 있다면, 스택으로부터 하나의 모서리를 가지고 오고 (단계 808), 가져온 모서리가 부분적으로 접근가능한지 아닌지를 판단한다 (단계 810). 만약 가져온 모서리가 부분적으로 접근가능하다면 이것은 베타형을 구성하는 면으로 판단된다. 이와 반대로, 만약 가져온 모서리가 부분적으로 접근가능하지 않고 가져온 모서리와 이웃한(incident) 모서리들을 이미 스택에 들어있지 않다면 스택에 새로이 넣는다 (단계 814). 그리고 단계 806으로 돌아가서 같은 작업을 반복한다.
비록 제시된 방법이 이전의 방법과 같은 시간 계산량을 가지지만, 본 실시예에서 제시한 방법은 전체 보로노이 모서리의 개수(|Ev|)에 비해 부분적으로 접근 가능한 모서리의 개수는 매우 적기 때문에 이전의 방법보다 훨씬 빠르다. 참고로 비록 임의의 크기의(arbitrarily-sized) 구의 경우 보로노이 모서리의 개수(|Ev|)는 O(n2)이 가능하나 단백질 모델에 대한 보로노이 모서리의 개수는 최악의 경우 O(n)의 개수가 되는 것으로 알려져 있다.
도 28에 나타나는 단계들은 위에 설명한 바와 비슷하게 베타형Sβ(A)의 매달린 모서리들을 찾는다. 도 28의 단계들은 베타형을 구성하는 삼각형 면들의 꼭지점을 모으는 것으로 시작한다 (단계 904). 그리고 그 꼭지점들에 이웃한 보로노이 면들을 스택에 넣는다 (단계 906). 스택이 적어도 하나의 보로노이 면을 포함하고 있는지를 검사한 다음 (단계 906), 스택으로부터 보로노이 면을 가지고 온다 (단계 908). 만약 스택이 보로노이 면을 가지고 있지 않다면 프로세스는 끝이 난다. 다음으로, 보로노이 면과 대응되는 롤링 블렌드의 기준 곡선이 완전한 원을 만드는지 검사한다 (단계 910). 이 이후 보로노이 면과 대응되는 롤링 블렌드의 기준 곡선이 완전한 원을 만든다면 해당 면은 베타형의 매달린 모서리와 대응되는 것으로 판단한다 (단계 912). 그 다음 단계 906으로 되돌아간다.
여기서 주목할 점은 본 실시예의 방법론은 베타형 Sβ(A)의 모서리와 면 들의 집합만을 단순히 가지고 온다는 점이다. 베타형을 구성하는 꼭지점, 모서리, 면들의 위상 정보를 완성하기 위해서는 Vβ, Eβ, Fβ간의 파일 인버전(file inversion)의 수행이 필요하다. 모서리 교차(edge-crossing) 방법이라 불리는 아래의 방법은 제 5 실시예로서 도 27과 28의 단계들을 포함하며 위상 구조를 구성해낸다. 도 29를 통해 설명하는 모서리 교차 방법은 베타형을 구성하는 효율적인 방법이다.
모서리 교차 방법은 무한대 보로노이 모서리로부터 깊이 우선 탐색을 통하여 부분적으로 접근가능한 모서리 하나를 찾는 것으로부터 시작한다 (단계 1002). 그리고 나서 찾아낸 모서리와 대응되는 베타형의 면을 만든다 (단계 1004). 단계 1006에서는 앞에서 만든 면을 구성하는 세 개의 모서리를 만들고 스택에 넣는다. 그 다음 스택이 하나 이상의 모서리를 가지고 있는지를 검사한다 (단계 1008). 만약 스택이 모서리를 가지고 있지 않다면, 진행은 끝이 나게 된다. 이와는 반대로 만약 스택이 하나 이상의 모서리를 가지고 있다면, 스택으로부터 하나의 모서리를 가지고 온 다음 (단계 1010), 가져온 모서리를 공유하는 상대(mate) 면들을 찾는다. 만약 상태 면이 존재하지 않는다면 가져온 모서리는 매달린 모서리인 것으로 판단하고 (단계 1016) 단계 1008로 돌아간다. 그렇지 않고 적어도 하나의 상대 면이 존재한다면 산대 면과 가져온 모서리 사이의 위상 정보를 연결한다 (단계 1018). 그 다음 단계 1020에서는 각 상대 면마다 (가져온 모서리를 제외한) 두 개의 모서리들을 얻는다. 이렇게 구한 모서리들이 스택이 이미 존재하는지의 여부를 검사한다 (단계 1022). 구해온 모서리가 스택에 존재하지 않는다면 구해온 모서리를 스택에 넣는다 (단계 1024). 그러나 이미 구해온 모서리가 스택에 존재한다면 구해온 모서리의 위상 정보를 이미 존재하는 모서리의 위상 정보를 이용하여 부분적으로 수정해주고 (단계 1026), 이미 존재하는 모서리를 스택에서 제거한다 (단계 1028). 그런 다음, 단계 1008로 돌아간다.
단계 1002의 모서리는 무한대 모서리 이거나 일반 모서리이다. 단계 1010에서의 스택에서 가져온 모서리의 위상 데이터는 일부분만 정의된다. 이러한 위상 정보를 완성하기 위해서는 해당 모서리에 이웃한 면들을 찾아내야 한다. 만약 모서리 eβ pop에 이웃한 면 fβ old∈Fβ이 주어져있다면, fβ old의 상대 면이라 불리는 eβ pop에 이웃한 또 다른 면 fβ new∈Fβ를 fβ new ?fβ old에서 시작하여 모서리eβ pop를 교차하면서 쉽게 찾을 수 있을 것이다. 그래서, 본 방법을 모서리 교차 방법이라 일컫는다. 참고로 모서리 교차는 보로노이 다이어그램이 방사 모서리 자료 구조와 같은 비다양체 자료 구조에 저장되어있다면 쉽게 수행할 수 있다. 그래서, 스택에서 가져온 모서리 eβ pop와, fβ old, fβ new 사이의 위상 정보를 연결하는 것은 어렵지 않게 가능하다.
도 30 내지 도 33에서는 본 실시예의 모서리 교차 방법을 도시하고 있다. 보로노이 면 fv가 도 30에서와 같이 두 개의 원자 a1과 a2에 의해 정의된다고 가정한 다. 이 그림에서 fv는 네 개의 보로노이 모서리 ev 1, ev 2, ev 3, ev 4에 둘러싸여있다. 모서리 ev 1은 세 개의 원자 a1, a2, a3에 의해 정의된다고 가정한다. 다른 보로노이 모서리들 ev 2, ev 3, ev 4는 비슷하게 정의된다. 베타형 Sβ(A)은 일반적으로 비다양체이므로, 단계 1012는 0개, 1개 또는 그 이상의 면을 원자의 배치와 프로브의 크기에 따라서 만들어 낼 것이다.
보로노이 면 fv는 부분적으로 접근가능하지만 fv를 둘러싸는 모든 모서리들 ev 1, ev 2, ev 3, ev 4는 완전히 접근가능하다고 가정한다. 이는 두 원자 a1과 a2사이에 360도 회전하는 완전한 롤링 블렌드가 존재한다는 것을 의미한다. 그래서 이러한 경우는 도 31에서와 같이 두 원자 a1과 a2의 중심으로 정의되는 매달린 모서리로 대응된다.
보로노이 모서리 ev 1이 부분적으로 접근 가능하여 도 32에서와 같이 대응되는 베타형의 면 fβ 1을 정의한다고 가정한다. 만약 ev 1을 제외한 원자들 a1, a2, a3사이에 정의되는 보로노이 면들을 둘러싸는 모든 모서리들이 완전히 접근가능하다면 fβ 1은 매달린 면으로 쉽게 판단 가능하다. 만약 (ev 1과 더불어) ev 3가 부분적으로 접 근가능하다면, 또 다른 베타형의 면 fβ 2가 도 33에서와 같이 정의된다. 이러한 경우, eβ 2와 eβ 3가 현재의 면이 처리된 다음 후에 스택에 들어갈 필요가 있다는 것을 주시할 필요가 있다.
모서리교차방법은 최악의 경우 O(|Ev|)의 시간에 수행된다. 그러나 표면 원자의 개수는 일반적으로 원자 시스템에서의 전체 원자 개수보다는 훨씬 적다. 비록 본 발명에서 제공하는 방법들은 베타형을 구성하는 하나의 컴포넌트(component)로 이루어진 외곽의 껍데기만을 처리하기 위해 설계되었지만 본 방법은 하나 이상의 컴포넌트로 이루어지고 내부 빈공간과 관련된 내부 쉘(shell)을 가진 베타형을 처리 가능하도록 쉽게 수정 가능하다. 본 실시예에서의 모서리 교차 방법이 부분적으로 접근가능한 모서리들이 존재한다고 가정하지만, 다른 경우에도 약간의 변형을 통하여 처리 가능하다.
베타형은 데이터 구조의 형태로 저장될 것이고, 이는 컴퓨터 또는 유사한 것으로 처리 가능하다. 예를 들어, 베타형은 꼭지점, 모서리, 면으로 이루어지는 그래프의 형태로 저장될 것이다. 그래서, 본 발명의 방법론들은 컴퓨터에서 판독가능한 코드로 구현될 것이고, 컴퓨터에서 판독가능한 매체에 저장되어 컴퓨터 등에서 사용될 것이다. 게다가 본 발명의 방법들은 시스템의 형태로 쉽게 사용될 것이다.
예를 들어, 모서리 교차 방법은 다음과 같이 구현 가능하다:
입력: VD(A), 프로브 p
출력: 위상 정보가 연결된 베타형 Sβ(A)
단계 1. (전처리)
단계 1.1 하나의 무한대 보로노이 모서리ev 로부터 깊이우선탐색을 통해 부분적으로 접근가능한 모서리 ev를 찾는다.
단계 2. (초기화)
단계2.1. 세 원자 ai, aj, ak에 의해 정의되는 보로노이 모서리 ev와 대응되는 베타형 Sβ(A)의 면 fβ ijk를 만든다.
단계 2.2 면 fβ ijk의 세 모서리 eβ ij, eβ jk, eβ ki를 만들고 스택 T에 넣는다.
단계 3. (스택 T 검사)
단계 3.1 만약 T가 비어있다면 Step 7로 간다.
단계 3.2 그렇지 않다면, 스택 T에서 베타형 모서리 eβ pop을 가지고 온다.
단계 4. (eβ pop을 공유하는 다른 면들의 검색: 모서리 교차법)
단계 4.1 eβ pop을 공유하는 모든 상대 면들을 찾는다.
단계 4.2 만약 상대 면이 없다면 Step 3으로 간다.
단계 4.3 그렇지 않다면, Step 5로 간다.
단계 5. (위상 정보 연결)
단계 5.1 모서리 eβ pop과 모든 상대 면들 사이의 위상 정보를 연결한다.
단계 6. (스택 수정)
단계 6.1. 각각의 상대 면에 대하여, 상대 면을 이루는 두 모서리 eβ 1과 eβ 2 (eβ pop을 제외하고)을 가지고 온다.
단계 6.2. 만약 eβ 1 또는 eβ 2가 스택 T에 eβ j로 이미 존재한다면, 이미 존재하고 있는 모서리인 eβ 1 또는 eβ 2의 위상 정보를 eβ j를 이용하여 부분적으로 수정하고 eβ j는 스택 T에서 제거한다.
단계 6.3 그렇지 않다면, 모서리들을 (eβ pop을 제외하고) 스택 T에 넣는다.
단계 6.4. Step 3으로 간다.
단계 7. (종료)
단계 7.1. 종료
이하에서는 본 발명의 제 6실시예인 베타형을 이용하여 단백질의 포켓을 인식하는 방법론을 설명할 것이다.
단백질이 주어졌다고 할 때, 상기 방법에서는 우선 반데르발스(Van der Waals) 원자들의 베타형들을 구한다. 특정 예로써, 우선 반데르발스 원자들의 보로노이 다이어그램을 먼저 구하고, 이로부터 구형의 프로브로 정의되는 베타형들을 계산할 수 있을 것이다.
포켓을 정의하는 첫 번째 단계는 단백질의 표면에 존재하는 원자들 간의 공간상의 근접성 정보를 정의하는 것이다. 이러한 근접성 정보는 베타형을 통해 구할 수 있다. 그 후, 베타형에서 움푹 들어간 영역의 단위가 되는 포켓 프리미티브(pocket primitives)를 베타형으로부터 정한다. 최종적으로, 이웃하는 두 개의 포켓 프리미티브가 하나의 포켓으로 고려할 수 있는지의 여부인 이웃한 포켓 프리미티브들 간의 경계 유효성(validity)을 평가한다. 궁극적으로 각각의 포켓이 움푹 파인 영역 하나와 대응된다는 점에서, 리셉터(receptor)의 표면에 소수의 포켓들이 남겨지게 된다.
여기에 베타형이 단백질 표면의 원자들의 근접성 정보를 계산 할 때 원자간 크기의 차이를 반영한다는 점을 한 번 더 강조할 필요가 있다. 위에서 언급한 바와 같이 원자간 반지름의 차이는 (예를 들어 수소와 인) 상당히 크다.
도 34는 분자 R(1202)의 표면에서 정의되는 포켓(1206)을 통하여 상호작용하는 두 개의 분자 즉, 리셉터 R (1202)과 리간드(ligand) L (1204)을 도시한다. R과 L은 L의 튀어나온 영역이 R의 표면에서의 포켓에 기하학적으로 들어가기 때문에 서로 상호작용한다고 볼 수 있다.
A={a1, a2, ... an}을 n개의 원자로 구성된 단백질이라 가정하고 ai=(ci, ri) 이며, ci = {xi, yi, zi}는 원자 ai의 중심점이고 ri는 ai의 반지름이라 가정한다. 그리고 L={l1, l2, ... lm}은 m 개의 원자로 구성된 리간드라고 하고, L은 A와 도킹(docking)한다고 가정한다. 또한, C={c1, c2,... cn}원 원자의 중심점의 집합이라 가정한다. 참고로 일반적으로 m << n 이 성립한다. p = (cp, rp)는 프로브라 부르며 리간드 L의 모든 원자를 둘러싸는 최소 반경의 구이다.
πj = {aj1, aj2,... ajk}는 구성 원자들이 단백질 A의 표면 S에서 하나의 들어간(depressed) 영역을 정의하는 포켓이라고 가정한다. 여기서 표면 S={s1, s2,... sl}은 단백질 원자들의 분자 표면을 구성하는 원자들의 집합으로 정의된다. 그래서, S는 원자들의 집합이며 리간드와 접촉하기도 한다. πj ⊆ S ⊆ A와 π1 ∪ π2 ∪ ...∪ πp ⊆ S ⊆ A가 성립하기 때문에, 어느 포켓에도 속하지 않는 원자들이 존재할 수 있다. Π= {π1, π2,...πp} 는 S의 모든 가능한 포켓의 집합이라 가정한다.
πj ⊆ S이기 때문에, 포켓을 찾는 것은 단백질 표면의 형상에 대한 질의가 필요하다. 그래서, 단백질 표면의 적절한 정의와 표면의 원자들 간 위상 구조의 효율적 표현이 요구된다. 이러한 관점에서, 구집합 보로노이 다이어그램에 기반한 베타형이 채택되었다.
프로브 PL과 P는 각각 리간드 L을 표현하는 프로브와 무한대의 반지름을 가 지는 가상의 프로브라고 가정한다. 나아가서 BL과 B는 각각 PL과 P로 정의되는 베타형이라고 가정한다. 그러면, B는 무한대의(unbounded) 보로노이 영역을 가지는 원자들의 중심점들로 정의된다. 알파형과는 다르게 베타형 B는 몇몇의 독립된 꼭지점을 가지기도 한다.
BI와 BO는 각각 BL과 B를 말하며, 주어진 원자의 집합에 대한 내부와 외부의 베타형을 나타낸다고 가정한다. BI = (Vβ I, Eβ I, Fβ I)이고 BO = (Vβ O, Eβ O, Fβ O)이며, Vβ o ={Vo 1, Vo 2,...}이라 가정한다. Eβ o, Fβ o, Vβ I, Eβ I, Fβ I도 이와 비슷하게 정의된다.
도 35와 도 36은 단백질의 내부와 외부 베타형에 대한 2차원에서의 예를 도시한다. 도 35의 실선(1302)과 점선(1304)은 각각 내부와 외부의 분자 곡면을 나타낸다. 그리고 도 36은 이와 대응되는 내부의 베타형(1306)과 외부의 베타형 (1308)을 도시한다. 이들 그림으로부터 다음과 같은 한가지 관찰을 할 수 있다. BO의 각 모서리는 단백질의 BI에서 0개 또는 하나의 들어간 영역을 가진다는 것을 알 수 있다. 예를 들어, 도 36에서 BO의 하나의 모서리 eO 1은 모서리 eI 1, eI 2, eI 3, eI 4로 이루어진 들어간 영역과 대응된다. 만약 BO의 하나의 모서리가 들어간 영역과 대응한 다면, 그 영역은 포켓으로 간주할 수 있다. 그리고 도 36의 eI 5 와 eO 2 와 같이 BO의 모서리가 하나의 내부 베타형과 일치한다면 포켓이 정의되지 않는다.
3차원의 경우도 이와 비슷한 관찰을 할 수 있다. 3차원 단백질에서 fo∈Fβ O의 하나의 면에 대하여 BI에서 해당 면 fo 이 fI∈Fβ I의 면과 일치하지 않는다면 대응되는 들어간 영역이 존재한다.
그러나 BI의 포켓은 반드시 하나의 면 fO∈Fβ O 에만 대응되는 것은 아니다. 예를 들어, BO의 두 개의 면으로부터 나온 두 개의 들어간 영역 사이에 명확한 경계가 없다면 더 큰 하나의 포켓이 BO의 두 개의 면에 대응될 수 있다. 이러한 경우, fO∈Fβ O와 대응되는 BI의 들어간 영역은 완전한 포켓을 정의할 수 없다. 대신, 두 개의 들어간 영역이 함께 하나의 포켓을 정의하는데 이용된다. 그래서, 하나의 면 fO∈Fβ O 에 대응되는 BI의 들어간 영역에 대한 단위가 되는 포켓 프리미티브의 개념을 설명하겠다.
하나의 면 fO i∈Fβ O는 세 개의 꼭지점 vO i1, vO i2, vO i3로 이루어져 있다. 그리고 항상 이들 각각의 세 꼭지점 vO i1, vO i2, vO i3과 일치하는 내부 베타형의 세 개의 꼭지점 vI i1, vI i2, vI i3이 존재한다. γ( i1 , i2 )는 내부 베타형 BI에서 vI i1과 vI i2사이의 최단 경로(geodesic)라고 가정한다. 경로라 함은 하나의 꼭지점에서부터 다른 꼭지점으로 가는 연속된 이웃한 모서리들의 순열이며, 경로의 길이는 해당 모서리들의 길이의 합으로 정의된다. 그래서 두 꼭지점 사이의 거리는 최단 경로를 따라서 모서리 길이의 합이 된다. 최단 경로 γ( i1 , i2 )는 두 포켓 프리미티브 사이의 능선(ridge)이라 불린다.
γ( i1 , i2 )의 기하학적 의미는 다음과 같다. 경로상의 양쪽 끝 꼭지점들 vI i1과 vI i2는 BO와 BI 양쪽에 존재하며, 이외의 꼭지점들은 BI에서 BO의 면과 대응되는 오목한 곳을 정의한다. 그래서 최단경로 γ( i1 , i2 )는 BI 상에서 두 개의 상대적으로 깊이 들어가있는 부분을 구분하는 가장 위쪽으로 올라와있는 벽으로 해석할 수 있다. 다른 최단경로들 γ( i2 i3 )와 γ( i3 , i1 )도 비슷하게 해석할 수 있다.
Fsub I i는 면들fI h 의 집합이고 여기서 fI h∈Fβ I 는 내부 베타형 위에서 세 최단경로 γ( i1 , i2 ), γ( i2 , i3 ), γ( i3 , i1 )로 둘러싸인 내부의 영역이라 가정한다. 그러면 Fsub I i는 BI에서 위상학적으로 삼각형 모양의 들어간 영역을 가진다. 이런 들어간 영역을 fO i∈Fβ O에 대응하는 포켓 프리미티브fi라 부르며 또 다른 그래프의 형태
Figure 112008003008597-pct00001
=(Vsub I i, Esub I i, Fsub I i)로 나타낸다.
도 37에서 BI는 실선(1402)으로 연결된 메쉬(mesh)로 나타나있고, BO는 점선(1404)으로 둘러싸인 두 개의 큰 삼각형 fO A와 fO B 가 나타나있다. BI 상에서의 네 개의 최단 경로들은 BO에서의 네 개의 모서리(1404)와 대응되며 이는 도 38에서 굵은 선(1406)으로 나타나있다. 네 개의 경로(1406) 내부에 두 개의 포켓 프리미티브
Figure 112008003008597-pct00002
Figure 112008003008597-pct00003
가 존재한다.
하나의 면 fO i∈Fβ O가 내부 베타형의 면
Figure 112008003008597-pct00004
i∈Fβ I과 일치한다면, Fsub I i는 하나의 면
Figure 112008003008597-pct00005
i∈Fβ I로 구성되며 이는 포켓 프리미티브로 고려하지 않는다. 참고로 Fsub I i는 세 개의 최단 경로가 내부의 삼각형들을 포함하지 않을 경우 공집합이 될 수도 있다. 이러한 경우는 대응되는 포켓 프리미티브가 존재하지 않게 된다. 이에 기반하여 몇 가지 성질들을 얻을 수 있다.
만약
Figure 112008003008597-pct00006
Figure 112008003008597-pct00007
가 위상학적으로 이웃이 아니라면 i≠j인 경우 Fsub I i∩Fsub I j = Ø 이다. 그리고,
Figure 112008003008597-pct00008
Figure 112008003008597-pct00009
가 위상학적으로 이웃이라면, Esub I i∩Esub I j= γ( ij )≠Ø 성립한다. 최단경로 γ(i,j)
Figure 112008003008597-pct00010
Figure 112008003008597-pct00011
사이의 능선이라 부른다.
다음으로, 본 실시예의 방법을 도 39를 참조하여 좀 더 자세히 설명한다.
첫 번째, 포켓 프리미티브를 BO로부터 찾아낸다. 내부 베타형 BI와 외부 베타형 BO를 구한다 (단계 1502). 본 실시예에서는 우선 원자에 대한 보로노이 다이어그램을 구한 다음 내부 및 외부 베타형을 구한다. 그런 다음 외부 베타형 BO의 면 fO i를 찾고 (단계 1504), 각 면 fO i를 구성하는 BI의 세 꼭지점 vi1, vi2, vi3을 찾는다 (단계 1506). 그런 다음 세 꼭지점 vi1, vi2, vi3에 대응되는 최단 경로 γ( i1 i2 ), γ( i2 i3 ), γ( i3 i1 )를 구한다 (단계 1508). 그리하여, 세 개의 최단경로로 둘러 싸인 포켓 프리미티브
Figure 112008003008597-pct00012
=(Vsub i i, Esub I i, Fsub I i)를 찾을 수 있다 (단계 1510).
포켓 프리미티브가 주어져 있을 때, 하나 이상의 이웃 포켓 프리미티브들이 하나의 포켓을 구성할 수 있다. 그래서 두 개의 이웃한 포켓 프리미티브들이 적절한 판단 조건을 통하여 좀 더 의미 있는 하나의 포켓으로 합쳐질 수 있는지의 여부를 판단할 필요가 있다 (단계 1512). 위에서 언급한대로, 능선 γ( i1 i2 )는 두 개의 이웃한 포켓 프리미티브
Figure 112008003008597-pct00013
Figure 112008003008597-pct00014
사이에 존재한다. 이 또한 BI 상에서 포켓 프리미티브를 이루는 두개의 끝 꼭지점 간의 최단경로와 대응되는 모서리의 체 인(chain)이다. 그래서 능선은 두 개의 포켓 프리미티브간 경계의 역할을 한다.
산맥(mountain)을 BI 상에서 두개의 포켓을 구분하는 모서리의 체인이라 가정한다. 만약 능선이 충분히 높다면 이는 산맥으로 간주할 수 있다. 참고로 포켓 프리미티브는 언제나 3개의 능선으로 구성되고, 포켓은 3개 이상의 산맥으로 둘러싸여 있다. 그러므로 포켓 프리미티브의 경계는 포켓의 경계일 경우도 있고 아닌 경우도 있다.
능선을 이루는 하나의 경로 γk가 이웃한 포켓 프리미티브
Figure 112008003008597-pct00015
Figure 112008003008597-pct00016
사이에 존재하며 EB O의 모서리 eO k에 대응된다고 가정한다. 참고로 BO의 모든 모서리마다 BI 상에 하나의 최단경로가 존재한다. 그러면, 어떠한 척도를 통하여 두 개의 체인 eO k
Figure 112008003008597-pct00017
간의 차이를 정할 수 있다. 해당 척도와 미리 정해놓은 임계값에 따라서, 하나의 체인을 공유하는 두 개의 포켓 프리미티브가 합쳐질 수 있다 (단계 1514).
이러한 프리미티브간 병합을 위한 척도를 정하는 데에는 다양한 방법이 존재한다. 예를 들어 두 체인 간의 평균 거리로 척도를 삼을 수 있다. δk를 eO k
Figure 112008003008597-pct00018
간의 평균 거리라고 가정한다. 만약 δk가 미리 정해놓은 값보다 클 경우, 두 개의 이웃한 포켓 프리미티브를 합칠 수 있을 것이다. 그렇지 않다면
Figure 112008003008597-pct00019
를 산맥을 이루는 체인으로 간주할 수 있다. 이러한 본 실시예에서의 임계값으로 모든 δ값들의 평균을 취할 수도 있을 것이고, 그 외의 다른 값들도 취할 수 있을 것이다. 최종적으로, 병합된 포켓 프리미티브의 꼭지점을 이루는 원자들은 포켓 πk를 정의한다. 참고로 포켓 프리미티브를 병합하는 다양한 척도가 적용 가능하며, 이러한 척도는 잘 정의되어 있다면 쉽게 계산 가능할 것이다. 능선을 이루는 모서리들 사이의 내부 각도, 포켓 프리미티브의 고유 특징 형상 등을 예로 들 수 있다.
포켓이 인식되었다면, 해당 포켓들의 중요도를 평가할 필요가 있다. 다시 말하면, 몇몇의 인식된 포켓들은 중요한 포켓으로 취급 받지 못할 수도 있다. 이러한 평가를 위해서 외곽으로부터 평균 또는 최대 포켓 깊이, 포켓의 부피 등의 다양한 기준들이 존재한다. 이러한 것들은 쉽게 계산 가능하다.
BO는 유한의 적당히 큰 반지름 rp << ∞ 인 프로브 p로도 정의 가능하다. 그러면 결과로 나오는 포켓들을 B로 구한 것보다 좀 더 정밀하게 얻을 수 있을 것이다. 종종 이렇게 정밀하게 구한 포켓이 좀 더 의미 있는 포켓으로 판단될 수도 있다.
도 40에서 도 45는 단백질 모델에서의 포켓 인식 과정을 가시화한다. 단백질의 유클리드 보로노이 다이어그램을 계산한 다음 도 40에서와 같이 단백질의 외부 베타형 BO을 구한다. 도 41은 미리 정의된 프로브를 이용하여 블렌딩된 단백질의 분 자 표면을 도시한다. 도 42는 해당 프로브로 정의된 베타형을 도시한다. 그리고 외부 베타형BO의 각 면에 대응되는 포켓 프리미티브를 도 43에서 도시한다. 본 예제에서는 외부 베타형BO은 B와 일치하며 내부 베타형BI을 정의하는 프로브의 반지름은 8Å이다. 본 도면에서는 몇몇의 외부 베타형의 면들은 내부 베타형BI의 면들과 일치하며, 포켓 프리미티브를 구성하지 않는다.
포켓 프리미티브들을 찾은 다음에는, 포켓 프리미티브 주위의 능선을 평가할 수 있다. 여기서 적당한 포켓 프리미티브 쌍들이 필요하다면 포켓을 형성하기 위하여 병합할 수 있다. 도 44와 45는 단백질에서 인식한 제일 큰 포켓의 베타형과 분자표면을 도시하고 있다.
이상과 같이 단백질의 표면에서 포켓들을 자동적으로 인식하기 위한 방법이 설명되었다. 이 방법에서는, 우선 원자의 유클리드 보로노이 다이어그램이 계산되고, 보로노이 다이어그램으로부터 주어진 프로브에 대응되는 베타형이 구성된다. 두 개의 베타형들이 계산될 수 있는데, 이는 내부 베타형과 외부 베타형이다. 그리고, 외부 베타형의 각 면에 대응되는 내부 베타형 상의 포켓 프리미티브들이 계산된다. 포켓 프리미티브들이 추출된 후, 이웃한 포켓 프리미티브들 간의 경계의 질(quality)이 평가될 수 있는데, 이는 두 이웃들이 하나의 포켓으로 병합되는지의 여부를 테스트(test)하기 위함이다. 결국, 몇몇 포켓들은 리셉터의 표면에 남게 되고, 여기서 각 포켓은 적절히 들어간 영역에 대응된다.
본 발명은 비록 한정된 실시예에 의해 설명되었지만, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이는 균등 또는 등각적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
비록 본 실시예는 생물학 분야와 관련하여 본 발명을 서술하고 있지만, 본 발명은 과학이나 공학 같은 다른 다양한 분야에도 응용 가능하다. 예를 들어, 본 발명은 물리학, 화학, 천문학, 컴퓨터 그래픽 분야에 응용 가능하다.
뿐만 아니라, 비록 본 발명은 바람직한 방법들을 통해 주로 서술되었지만, 위에서 언급한대로, 본 발명이 컴퓨터에서 판독가능한 매체에 저장될 수 있는 컴퓨터에서 판독가능한 코드로 실행 가능하다. 또한, 본 발명은 본 발명이 속하는 분야에서 통상의 지식을 가진 자들에 의해 시스템으로 용이하게 실행 가능하다.
본 발명은 과학과 공학을 포함한 다양한 학문분야에 응용 가능하고, 보다 구체적으로, 단백질 같은 생물학 계열에 응용 가능하다.

Claims (45)

  1. 구들(spheres)의 보로노이 다이어그램(Voronoi diagram) 오브젝트(object)를 구하기 위한 컴퓨터에서 판독 가능한 코드;
    상기 보로노이 다이어그램 오브젝트로부터 부분적으로 접근 가능한 보로노이 모서리들(edges)을 탐색하기 위한 컴퓨터에서 판독 가능한 코드; 및
    상기 부분적으로 접근 가능한 보로노이 모서리들로부터 베타형(beta-shape) 오브젝트의 면들(faces)을 계산하기 위한 컴퓨터에서 판독 가능한 코드
    를 포함하는 것을 특징으로 하는 컴퓨터에서 판독 가능한 매체.
  2. 제1항에 있어서,
    상기 보로노이 다이어그램 오브젝트로부터 부분적으로 접근 가능한 보로노이 면들을 탐색하기 위한 컴퓨터에서 판독 가능한 코드; 및
    상기 부분적으로 접근 가능한 보로노이 면들로부터 상기 베타형 오브젝트의 모서리들을 계산하기 위한 컴퓨터에서 판독 가능한 코드
    를 더 포함하는 것을 특징으로 하는 컴퓨터에서 판독 가능한 매체.
  3. 제1항에 있어서,
    상기 부분적으로 접근 가능한 보로노이 모서리들을 탐색하기 위한 컴퓨터에서 판독 가능한 코드는,
    브루트 포스(brute force) 방식으로 상기 보로노이 다이어그램 오브젝트의 모서리들을 탐색하기 위한 컴퓨터에서 판독 가능한 코드를 포함하는 것을 특징으로 하는 컴퓨터에서 판독 가능한 매체.
  4. 제1항에 있어서,
    상기 부분적으로 접근 가능한 보로노이 모서리들을 탐색하기 위한 컴퓨터에서 판독 가능한 코드는
    (a) 상기 보로노이 다이어그램 오브젝트에서 무한대 모서리들(infinite edges)을 가져오기(collect) 위한 컴퓨터에서 판독 가능한 코드;
    (b) 상기 가져온 무한대 모서리들 각각이 부분적으로 접근 가능한지 여부를 판단하기 위한 컴퓨터에서 판독 가능한 코드;
    (c) 상기 가져온 무한대 모서리들 각각이 부분적으로 접근 가능하지 않은 것으로 판단된 경우, 상기 가져온 무한대 모서리들 각각에 이웃한(incident) 모서리들을 더 가져오기 위한 컴퓨터에서 판독 가능한 코드;
    (d) 적어도 하나의 무한대 모서리가 존재하는 동안 상기 (b) 코드와 (c) 코드를 반복하기 위한 컴퓨터에서 판독 가능한 코드
    를 포함하는 것을 특징으로 하는 컴퓨터에서 판독 가능한 매체.
  5. 제4항에 있어서,
    상기 (c) 코드는
    상기 이웃한 모서리들을 이미 가져왔는지 여부를 판단하기 위한 컴퓨터에서 판독 가능한 코드; 및
    상기 이웃한 모서리들을 가져오지 않았다고 판단된 경우, 상기 이웃한 모서리들을 더 가져오기 위한 컴퓨터에서 판독 가능한 코드
    를 포함하는 것을 특징으로 하는 컴퓨터에서 판독 가능한 매체.
  6. 제1항에 있어서,
    상기 베타형 오브젝트의 면들의 꼭지점들을 가져오기 위한 컴퓨터에서 판독 가능한 코드;
    상기 꼭지점들에 이웃한(incident) 각 보로노이 면들에 대하여 상기 보로노이 면들 각각에 대응되는 롤링 블렌드(rolling blend)의 기준 곡선(spine curve)이 완전한 원을 만드는지 여부를 판단하기 위한 컴퓨터에서 판독 가능한 코드; 및
    상기 기준 곡선이 완전한 원을 만드는 것으로 판단된 경우, 상기 보로노이 면들 각각은 상기 베타형 오브젝트의 매달린(dangling) 모서리에 대응되는 것으로 판단하기 위한 컴퓨터에서 판독 가능한 코드
    를 더 포함하는 것을 특징으로 하는 컴퓨터에서 판독 가능한 매체.
  7. 제1항에 있어서,
    상기 부분적으로 접근 가능한 보로노이 모서리들을 탐색하기 위한 컴퓨터에서 판독 가능한 코드는
    깊이 우선 탐색(depth-first search)에 의해서 무한대 보로노이 모서리(infinite Voronoi edge)로부터 하나의 부분적으로 접근 가능한 모서리를 찾기 위한 컴퓨터에서 판독 가능한 코드를 포함하고,
    상기 베타형 오브젝트의 면들을 계산하기 위한 컴퓨터에서 판독 가능한 코드는
    상기 부분적으로 접근 가능한 모서리에 대응되는 상기 베타형 오브젝트의 면을 만들기 위한 컴퓨터에서 판독 가능한 코드;
    상기 면의 모서리들을 가져오기 위한 컴퓨터에서 판독 가능한 코드; 및
    상기 모서리들의 모서리를 공유하는 상대(mate) 면들을 탐색하기 위한 컴퓨터에서 판독 가능한 코드
    를 포함하는 것을 특징으로 하는 컴퓨터에서 판독 가능한 매체.
  8. 제7항에 있어서,
    상기 베타형 오브젝트의 면들을 계산하기 위한 컴퓨터에서 판독 가능한 코드는
    하나 혹은 그 이상의 상대 면들이 존재하는 경우, 상기 상대 면들과 상기 공유된 모서리간 위상 정보를 연결하기 위한 컴퓨터에서 판독 가능한 코드;
    상기 공유된 모서리를 제외하고 상기 상대 면들 각각의 모서리들을 구하기 위한 컴퓨터에서 판독 가능한 코드;
    상기 구한 모서리들의 각각을 이미 가져왔는지 여부를 판단하기 위한 컴퓨터 에서 판독 가능한 코드; 및
    만약 상기 구한 모서리들의 각각을 가져오지 않았다고 판단된 경우, 상기 각각의 구한 모서리들을 더 가져오기 위한 컴퓨터에서 판독 가능한 코드
    를 더 포함하는 것을 특징으로 하는 컴퓨터에서 판독 가능한 매체.
  9. 베타형 오브젝트들을 구하기 위한 컴퓨터에서 판독 가능한 코드; 및
    상기 베타형 오브젝트들로부터 포켓들(pockets)을 인식하기 위한 컴퓨터에서 판독 가능한 코드
    를 포함하는 것을 특징으로 하는 컴퓨터에서 판독 가능한 매체.
  10. 제9항에 있어서,
    상기 베타형 오브젝트들을 구하기 위한 컴퓨터에서 판독 가능한 코드는
    내부 및 외부 베타형 오브젝트들을 구하기 위한 컴퓨터에서 판독 가능한 코드를 포함하고
    상기 베타형 오브젝트들로부터 포켓들을 인식하기 위한 컴퓨터에서 판독 가능한 코드는
    상기 내부 및 외부 베타형 오브젝트들로부터 포켓 프리미티브들(pocket primitives)을 추출하기 위한 컴퓨터에서 판독 가능한 코드; 및
    상기 포켓 프리미티브들로부터 포켓들을 판단하기 위한 컴퓨터에서 판독 가능한 코드
    를 포함하는 것을 특징으로 하는 컴퓨터에서 판독 가능한 매체.
  11. 제10항에 있어서,
    상기 내부 및 외부 베타형 오브젝트들을 구하기 위한 컴퓨터에서 판독 가능한 코드는
    구들의 보로노이 다이어그램 오브젝트를 구하기 위한 컴퓨터에서 판독 가능한 코드; 및
    상기 보로노이 다이어그램 오브젝트로부터 상기 내부 및 외부 베타형 오브젝트들을 계산하기 위한 컴퓨터에서 판독 가능한 코드
    를 포함하는 것을 특징으로 하는 컴퓨터에서 판독 가능한 매체.
  12. 제10항에 있어서,
    상기 내부 및 외부 베타형 오브젝트들로부터 포켓 프리미티브들을 추출하기 위한 컴퓨터에서 판독 가능한 코드는
    외부 베타형 오브젝트의 면들을 식별하기 위한 컴퓨터에서 판독 가능한 코드;
    상기 외부 베타형 오브젝트의 면들 각각에 대해 상기 각 면들의 꼭지점들에 대응되는 내부 베타형 오브젝트의 꼭지점들을 식별하기 위한 컴퓨터에서 판독 가능한 코드;
    상기 식별된 꼭지점들에 대응되는 최단경로들(geodesics)을 찾기 위한 컴퓨터에서 판독 가능한 코드; 및
    상기 최단경로들에 둘러싸인 포켓 프리미티브를 찾기 위한 컴퓨터에서 판독 가능한 코드
    를 포함하는 것을 특징으로 하는 컴퓨터에서 판독 가능한 매체.
  13. 제10항에 있어서,
    상기 포켓 프리미티브들로부터 포켓들을 판단하기 위한 컴퓨터에서 판독 가능한 코드는
    이웃한 포켓 프리미티브들 간의 능선(ridge)을 구하기 위한 컴퓨터에서 판독 가능한 코드
    상기 이웃한 포켓 프리미티브들이 하나의 포켓으로 합쳐져야 하는지 여부를 판단하기 위해 상기 능선의 특성(quality)을 평가하기 위한 컴퓨터에서 판독 가능한 코드; 및
    상기 능선의 특성을 평가한 결과에 기초하여 상기 이웃한 포켓 프리미티브들을 상기 하나의 포켓으로 합치기 위한 컴퓨터에서 판독 가능한 코드
    를 포함하는 것을 특징으로 하는 컴퓨터에서 판독 가능한 매체.
  14. 제13항에 있어서,
    상기 이웃한 포켓 프리미티브들이 하나의 포켓으로 합쳐져야 하는지 여부를 판단하기 위해 상기 능선의 특성을 평가하기 위한 컴퓨터에서 판독 가능한 코드는
    외부 베타형 오브젝트의 해당 모서리와 상기 능선 간 차이를 판단하기 위한 컴퓨터에서 판독 가능한 코드; 및
    상기 차이와 기설정된(predetermined) 값을 비교하기 위한 컴퓨터에서 판독 가능한 코드를 포함하고,
    상기 능선의 특성을 평가한 결과에 기초하여 상기 이웃한 포켓 프리미티브들을 상기 하나의 포켓으로 합치기 위한 컴퓨터에서 판독 가능한 코드는
    상기 차이와 기설정된 값을 비교한 결과에 기초하여 상기 이웃한 포켓 프리미티브들을 상기 하나의 포켓으로 합치기 위한 컴퓨터에서 판독 가능한 코드
    를 포함하는 것을 특징으로 하는 컴퓨터에서 판독 가능한 매체.
  15. 제14항에 있어서,
    상기 포켓 프리미티브들로부터 포켓들을 판단하기 위한 컴퓨터에서 판독 가능한 코드는
    상기 외부 베타형 오브젝트의 해당 모서리와 상기 능선 간 평균 거리를 상기 차이로 판단하기 위한 컴퓨터에서 판독 가능한 코드를 포함하고,
    상기 능선의 특성을 평가한 결과에 기초하여 상기 이웃한 포켓 프리미티브들을 상기 하나의 포켓으로 합치기 위한 컴퓨터에서 판독 가능한 코드는
    상기 평균 거리가 상기 기설정된 값보다 클 경우, 상기 이웃한 포켓 프리미티브들을 상기 하나의 포켓으로 합치기 위한 컴퓨터에서 판독 가능한 코드
    를 포함하는 것을 특징으로 하는 컴퓨터에서 판독 가능한 매체.
  16. 구들의 보로노이 다이어그램 오브젝트를 구하도록 구성된 로직(logic);
    상기 보로노이 다이어그램 오브젝트로부터 부분적으로 접근 가능한 보로노이 모서리들을 탐색하도록 구성된 로직; 및
    상기 부분적으로 접근 가능한 보로노이 모서리들로부터 베타형 오브젝트의 면들을 계산하도록 구성된 로직
    을 포함하는 것을 특징으로 하는 시스템.
  17. 제16항에 있어서,
    상기 보로노이 다이어그램 오브젝트로부터 부분적으로 접근 가능한 보로노이 면들을 탐색하도록 구성된 로직; 및
    상기 부분적으로 접근 가능한 보로노이 면들로부터 상기 베타형 오브젝트의 모서리들을 계산하도록 구성된 로직
    을 더 포함하는 것을 특징으로 하는 시스템.
  18. 제16항에 있어서,
    상기 부분적으로 접근 가능한 보로노이 모서리들을 탐색하도록 구성된 로직은 브루트 포스 방식으로 상기 보로노이 다이어그램 오브젝트의 상기 모서리들을 탐색하도록 구성된 로직을 포함하는 것을 특징으로 하는 시스템.
  19. 제16항에 있어서,
    상기 부분적으로 접근 가능한 보로노이 모서리들을 탐색하도록 구성된 로직은
    (a) 상기 보로노이 다이어그램 오브젝트에서 무한대 모서리들을 가져오도록 구성된 로직;
    (b) 상기 가져온 무한대 모서리들 각각이 부분적으로 접근 가능한지 여부를 판단하도록 구성된 로직;
    (c) 상기 가져온 무한대 모서리들 각각이 부분적으로 접근 가능하지 않은 것으로 판단된 경우, 상기 가져온 무한대 모서리들 각각에 이웃한 모서리들을 더 가져오도록 구성된 로직;
    (d) 적어도 하나의 무한대 모서리가 존재하는 동안 상기 (b) 로직과 (c) 로직을 반복하도록 구성된 로직
    을 포함하는 것을 특징으로 하는 시스템.
  20. 제19항에 있어서,
    상기 (c) 로직은
    상기 이웃한 모서리들을 이미 가져왔는지 여부를 판단하도록 구성된 로직; 및
    상기 이웃한 모서리들을 가져오지 않았다고 판단된 경우, 상기 이웃한 모서리들을 더 가져오도록 구성된 로직
    을 포함하는 것을 특징으로 하는 시스템.
  21. 제16항에 있어서,
    상기 베타형 오브젝트의 면들의 꼭지점들을 가져오도록 구성된 로직;
    상기 꼭지점들에 이웃한 각 보로노이 면들에 대하여 상기 보로노이 면들 각각에 대응되는 롤링 블렌드의 기준 곡선이 완전한 원을 만드는지 여부를 판단하도록 구성된 로직; 및
    상기 기준 곡선이 완전한 원을 만드는 것으로 판단된 경우, 상기 보로노이 면들 각각은 상기 베타형 오브젝트의 매달린 모서리에 대응되는 것으로 판단하도록 구성된 로직
    을 더 포함하는 것을 특징으로 하는 시스템.
  22. 제16항에 있어서,
    상기 부분적으로 접근 가능한 보로노이 모서리들을 탐색하도록 구성된 로직은
    깊이 우선 탐색에 의해서 무한대 보로노이 모서리로부터 하나의 부분적으로 접근 가능한 모서리를 찾도록 구성된 로직을 포함하고,
    상기 베타형 오브젝트의 면들을 계산하도록 구성된 로직은
    상기 부분적으로 접근 가능한 모서리에 대응되는 상기 베타형 오브젝트의 면을 만들도록 구성된 로직;
    상기 면의 모서리들을 가져오도록 구성된 로직; 및
    상기 모서리들의 모서리를 공유하는 상대 면들을 탐색하도록 구성된 로직
    을 포함하는 것을 특징으로 하는 시스템.
  23. 제22항에 있어서,
    상기 베타형 오브젝트의 면들을 계산하도록 구성된 로직은
    하나 혹은 그 이상의 상대 면들이 존재하는 경우, 상기 상대 면들과 상기 공유된 모서리간 위상 정보를 연결하도록 구성된 로직;
    상기 공유된 모서리를 제외하고 상기 상대 면들 각각의 모서리들을 구하도록 구성된 로직;
    상기 구한 모서리들의 각각을 이미 가져왔는지 여부를 판단하도록 구성된 로직; 및
    만약 상기 구한 모서리들의 각각을 가져오지 않았다고 판단된 경우, 상기 각각의 구한 모서리들을 더 가져오도록 구성된 로직
    을 더 포함하는 것을 특징으로 하는 시스템.
  24. 베타형 오브젝트들을 구하도록 구성된 로직; 및
    상기 베타형 오브젝트들로부터 포켓들을 인식하도록 구성된 로직
    을 포함하는 것을 특징으로 하는 시스템.
  25. 제24항에 있어서,
    상기 베타형 오브젝트들을 구하도록 구성된 로직은
    내부 및 외부 베타형 오브젝트들을 구하도록 구성된 로직을 포함하고
    상기 베타형 오브젝트들로부터 포켓들을 인식하도록 구성된 로직은
    상기 내부 및 외부 베타형 오브젝트들로부터 포켓 프리미티브들을 추출하도록 구성된 로직; 및
    상기 포켓 프리미티브들로부터 포켓들을 판단하도록 구성된 로직
    을 포함하는 것을 특징으로 하는 시스템.
  26. 제25항에 있어서,
    상기 내부 및 외부 베타형 오브젝트들을 구하도록 구성된 로직은
    구들의 보로노이 다이어그램 오브젝트를 구하도록 구성된 로직; 및
    상기 보로노이 다이어그램 오브젝트로부터 상기 내부 및 외부 베타형 오브젝트들을 계산하도록 구성된 로직
    을 포함하는 것을 특징으로 하는 시스템.
  27. 제25항에 있어서,
    상기 내부 및 외부 베타형 오브젝트들로부터 포켓 프리미티브들을 추출하도록 구성된 로직은
    외부 베타형 오브젝트의 면들을 식별하도록 구성된 로직;
    상기 외부 베타형 오브젝트의 면들 각각에 대해 상기 각 면들의 꼭지점들에 대응되는 내부 베타형 오브젝트의 꼭지점들을 식별하도록 구성된 로직;
    상기 식별된 꼭지점들에 대응되는 최단경로들을 찾도록 구성된 로직; 및
    상기 최단경로들에 둘러싸인 포켓 프리미티브를 찾도록 구성된 로직
    을 포함하는 것을 특징으로 하는 시스템.
  28. 제25항에 있어서,
    상기 포켓 프리미티브들로부터 포켓들을 판단하도록 구성된 로직은
    이웃한 포켓 프리미티브들 간의 능선을 구하도록 구성된 로직;
    상기 이웃한 포켓 프리미티브들이 하나의 포켓으로 합쳐져야 하는지 여부를 판단하기 위해 상기 능선의 특성을 평가하도록 구성된 로직; 및
    상기 능선의 특성을 평가한 결과에 기초하여 상기 이웃한 포켓 프리미티브들을 상기 하나의 포켓으로 합치도록 구성된 로직
    을 포함하는 것을 특징으로 하는 시스템.
  29. 제28항에 있어서,
    상기 이웃한 포켓 프리미티브들이 하나의 포켓으로 합쳐져야 하는지 여부를 판단하기 위해 상기 능선의 특성을 평가하도록 구성된 로직은
    외부 베타형 오브젝트의 해당 모서리와 상기 능선 간 차이를 판단하도록 구성된 로직; 및
    상기 차이와 기설정된 값을 비교하도록 구성된 로직을 포함하고,
    상기 능선의 특성을 평가한 결과에 기초하여 상기 이웃한 포켓 프리미티브들을 상기 하나의 포켓으로 합치도록 구성된 로직은
    상기 차이와 기설정된 값을 비교한 결과에 기초하여 상기 이웃한 포켓 프리미티브들을 상기 하나의 포켓으로 합치도록 구성된 로직
    을 포함하는 것을 특징으로 하는 시스템.
  30. 제29항에 있어서,
    상기 포켓 프리미티브들로부터 포켓들을 판단하도록 구성된 로직은
    상기 외부 베타형 오브젝트의 해당 모서리와 상기 능선 간 평균 거리를 상기 차이로 판단하도록 구성된 로직을 포함하고,
    상기 능선의 특성을 평가한 결과에 기초하여 상기 이웃한 포켓 프리미티브들을 상기 하나의 포켓으로 합치도록 구성된 로직은
    상기 평균 거리가 상기 기설정된 값보다 클 경우, 상기 이웃한 포켓 프리미티브들을 상기 하나의 포켓으로 합치도록 구성된 로직
    을 포함하는 것을 특징으로 하는 시스템.
  31. 구들의 보로노이 다이어그램을 획득하는 단계;
    부분적으로 접근 가능한 보로노이 모서리들을 탐색하는 단계; 및
    상기 부분적으로 접근 가능한 보로노이 모서리들로부터 베타형(beta-shape) 의 면들을 구하는 단계
    를 포함하는 것을 특징으로 하는 베타형을 구성하기 위한 방법.
  32. 제31항에 있어서,
    부분적으로 접근 가능한 보로노이 면들을 탐색하는 단계; 및
    상기 부분적으로 접근 가능한 보로노이 면들로부터 상기 베타형의 모서리들을 구하는 단계
    를 더 포함하는 것을 특징으로 하는 베타형을 구성하기 위한 방법.
  33. 제31항에 있어서,
    상기 탐색하는 단계는 브루트 포스 방식으로 상기 보로노이 다이어그램의 상기 모서리들을 탐색하는 단계를 포함하는 것을 특징으로 하는 베타형을 구성하기 위한 방법.
  34. 제31항에 있어서,
    상기 탐색하는 단계는
    (a) 상기 보로노이 다이어그램에서 무한대 모서리들을 가져오는 단계;
    (b) 상기 가져온 무한대 모서리들 각각이 부분적으로 접근 가능한지 여부를 판단하는 단계;
    (c) 상기 가져온 무한대 모서리들 각각이 부분적으로 접근 가능하지 않은 것 으로 판단된 경우, 상기 가져온 무한대 모서리들 각각에 이웃한 모서리들을 더 가져오는 단계;
    (d) 적어도 하나의 무한대 모서리가 존재하는 동안 상기 (b)단계와 (c)단계를 반복하는 단계
    를 포함하는 것을 특징으로 하는 베타형을 구성하기 위한 방법.
  35. 제34항에 있어서,
    상기 (c) 단계는
    상기 이웃한 모서리들을 이미 가져왔는지 여부를 판단하는 단계; 및
    상기 이웃한 모서리들을 가져오지 않았다고 판단된 경우, 상기 이웃한 모서리들을 더 가져오는 단계
    를 포함하는 것을 특징으로 하는 베타형을 구성하기 위한 방법.
  36. 제31항에 있어서,
    상기 베타형의 면들의 꼭지점들을 가져오는 단계;
    상기 꼭지점들에 이웃한 각 보로노이 면들에 대하여 상기 보로노이 면들 각각에 대응되는 롤링 블렌드의 기준 곡선이 완전한 원을 만드는지 여부를 판단하는 단계; 및
    상기 기준 곡선이 완전한 원을 만드는 것으로 판단된 경우, 상기 보로노이 면들 각각은 상기 베타형의 매달린 모서리에 대응되는 것으로 판단하는 단계
    를 더 포함하는 것을 특징으로 하는 베타형을 구성하기 위한 방법.
  37. 제31항에 있어서,
    상기 탐색하는 단계는
    깊이 우선 탐색에 의해서 무한대 보로노이 모서리로부터 하나의 부분적으로 접근 가능한 모서리를 찾는 단계를 포함하고,
    상기 구하는 단계는
    상기 부분적으로 접근 가능한 모서리에 대응되는 상기 베타형의 면을 만드는 단계;
    상기 면의 모서리들을 가져오는 단계; 및
    상기 모서리들의 모서리를 공유하는 상대 면들을 탐색하는 단계
    를 포함하는 것을 특징으로 하는 베타형을 구성하기 위한 방법.
  38. 제37항에 있어서,
    상기 구하는 단계는
    하나 혹은 그 이상의 상대 면들이 존재하는 경우, 상기 상대 면들과 상기 공유된 모서리간 위상 정보를 연결하는 단계;
    상기 공유된 모서리를 제외하고 상기 상대 면들의 각각의 모서리들을 구하는 단계;
    상기 구한 모서리들의 각각을 이미 가져왔는지 여부를 판단하는 단계; 및
    만약 상기 구한 모서리들의 각각을 가져오지 않았다고 판단된 경우, 상기 각각의 구한 모서리들을 더 가져오는 단계
    를 더 포함하는 것을 특징으로 하는 베타형을 구성하기 위한 방법.
  39. 베타형들을 획득하는 단계; 및
    상기 베타형들로부터 포켓들을 인식하는 단계
    를 포함하는 것을 특징으로 하는 포켓들을 인식하기 위한 방법.
  40. 제39항에 있어서,
    상기 획득하는 단계는
    내부 및 외부 베타형들을 구하는 단계를 포함하고
    상기 인식하는 단계는
    상기 내부 및 외부 베타형들로부터 포켓 프리미티브들을 추출하는 단계; 및
    상기 포켓 프리미티브들로부터 포켓들을 판단하는 단계
    를 포함하는 것을 특징으로 하는 포켓들을 인식하기 위한 방법.
  41. 제40항에 있어서,
    상기 구하는 단계는
    구들의 보로노이 다이어그램을 구하는 단계; 및
    상기 보로노이 다이어그램으로부터 상기 내부 및 외부 베타형들을 계산하는 단계
    를 포함하는 것을 특징으로 하는 포켓들을 인식하기 위한 방법.
  42. 제40항에 있어서,
    상기 추출하는 단계는
    외부 베타형의 면들을 식별하는 단계
    상기 외부 베타형의 면들 각각에 대해 상기 각 면들의 꼭지점들에 대응되는 내부 베타형의 꼭지점들을 식별하는 단계;
    상기 식별된 꼭지점들에 대응되는 최단경로들을 찾는 단계; 및
    상기 최단경로들에 둘러싸인 포켓 프리미티브를 찾는 단계
    를 포함하는 것을 특징으로 하는 포켓들을 인식하기 위한 방법.
  43. 제40항에 있어서,
    상기 판단하는 단계는
    이웃한 포켓 프리미티브들 간의 능선을 구하는 단계
    상기 이웃한 포켓 프리미티브들이 하나의 포켓으로 합쳐져야 하는지 여부를 판단하기 위해 상기 능선의 특성을 평가하는 단계; 및
    상기 능선의 특성을 평가한 결과에 기초하여 상기 이웃한 포켓 프리미티브들을 상기 하나의 포켓으로 합치는 단계
    를 포함하는 것을 특징으로 하는 포켓들을 인식하기 위한 방법.
  44. 제43항에 있어서,
    상기 평가하는 단계는
    외부 베타형의 해당 모서리와 상기 능선 간 차이를 판단하는 단계; 및
    상기 차이와 기설정된 값을 비교하는 단계를 포함하고,
    상기 합치는 단계는
    상기 차이와 기설정된 값을 비교한 결과에 기초하여 상기 이웃한 포켓 프리미티브들을 상기 하나의 포켓으로 합치는 단계
    를 포함하는 것을 특징으로 하는 포켓들을 인식하기 위한 방법.
  45. 제44항에 있어서,
    상기 판단하는 단계는
    상기 외부 베타형의 해당 모서리와 상기 능선 간 평균 거리를 상기 차이로 판단하는 단계를 포함하고,
    상기 합치는 단계는
    상기 평균 거리가 상기 기설정된 값보다 클 경우, 상기 이웃한 포켓 프리미티브들을 상기 하나의 포켓으로 합치는 단계
    를 포함하는 것을 특징으로 하는 포켓들을 인식하기 위한 방법.
KR1020087001070A 2005-06-22 2006-06-22 베타형:구들간의 블렌딩 곡면을 정의하는 위상정보를표현하는 간결한 구조 및 상기 구조를 구성하는 방법 KR101140532B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US69279005P 2005-06-22 2005-06-22
US60/692,790 2005-06-22
PCT/KR2006/002424 WO2006137710A1 (en) 2005-06-22 2006-06-22 Beta-shape: compact structure for topology among spheres defining blending surface of sphere set and method of constructing same

Publications (2)

Publication Number Publication Date
KR20080024529A KR20080024529A (ko) 2008-03-18
KR101140532B1 true KR101140532B1 (ko) 2012-05-02

Family

ID=37570682

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087001070A KR101140532B1 (ko) 2005-06-22 2006-06-22 베타형:구들간의 블렌딩 곡면을 정의하는 위상정보를표현하는 간결한 구조 및 상기 구조를 구성하는 방법

Country Status (3)

Country Link
US (1) US8463046B2 (ko)
KR (1) KR101140532B1 (ko)
WO (1) WO2006137710A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101533946B1 (ko) * 2015-03-16 2015-07-03 한양대학교 산학협력단 원의 보로노이 다이어그램의 업데이트 방법과 이를 이용한 입자 간 충돌 시뮬레이션 방법
WO2016154220A1 (en) * 2015-03-23 2016-09-29 New York University Systems and methods of fragment-centric topographical mapping (fctm) to target protein-protein interactions
US11508248B2 (en) 2017-05-30 2022-11-22 Iucf-Hyu (Industry-University Cooperation Foundation Hanyang University) Method for predicting collision and avoiding conflict between multiple moving bodies
KR102088101B1 (ko) * 2018-05-28 2020-03-11 한양대학교 산학협력단 다수의 이동체들 사이의 충돌 예측 및 근접관계의 회피 방법
KR102067363B1 (ko) * 2019-10-28 2020-01-16 한양대학교 산학협력단 다수의 이동체들 사이의 충돌 예측 및 근접관계의 회피 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119069A (en) 1999-03-01 2000-09-12 Case Corporation System and method for deriving field boundaries using alpha shapes
US6178539B1 (en) 1998-09-17 2001-01-23 International Business Machines Corporation Method and system for determining critical area for circuit layouts using voronoi diagrams
US6384826B1 (en) 1998-08-14 2002-05-07 Xerox Corporation Method, apparatus and computer medium for surface reconstruction by Voronoi filtering
KR20030018160A (ko) * 2001-08-27 2003-03-06 재단법인 포항산업과학연구원 원료 불출기의 이동 제어방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6558258B1 (en) * 2001-10-26 2003-05-06 Electronic Arts, Inc. Use in computer games of voronoi diagrams for partitioning a gamespace for analysis
US7679615B2 (en) * 2004-05-04 2010-03-16 Iucf-Hyu (Industry-University Cooperation Foundation Hanyang University) Calculating three-dimensional (3D) Voronoi diagrams

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6384826B1 (en) 1998-08-14 2002-05-07 Xerox Corporation Method, apparatus and computer medium for surface reconstruction by Voronoi filtering
US6178539B1 (en) 1998-09-17 2001-01-23 International Business Machines Corporation Method and system for determining critical area for circuit layouts using voronoi diagrams
US6119069A (en) 1999-03-01 2000-09-12 Case Corporation System and method for deriving field boundaries using alpha shapes
KR20030018160A (ko) * 2001-08-27 2003-03-06 재단법인 포항산업과학연구원 원료 불출기의 이동 제어방법

Also Published As

Publication number Publication date
WO2006137710A1 (en) 2006-12-28
US20100183226A1 (en) 2010-07-22
US8463046B2 (en) 2013-06-11
KR20080024529A (ko) 2008-03-18

Similar Documents

Publication Publication Date Title
Simões et al. Geometric detection algorithms for cavities on protein surfaces in molecular graphics: a survey
Thakur et al. A survey of CAD model simplification techniques for physics-based simulation applications
Cheng et al. Delaunay mesh generation
KR101103085B1 (ko) 3차원(3d) 보로노이 다이어그램 계산
Liu et al. Construction of iso-contours, bisectors, and Voronoi diagrams on triangulated surfaces
Kim et al. Euclidean Voronoi diagram of 3D balls and its computation via tracing edges
Cazals et al. Delaunay triangulation based surface reconstruction
Bottasso Anisotropic mesh adaption by metric‐driven optimization
Kim et al. Three-dimensional beta shapes
Klitgaard et al. Implementing quantum Ricci curvature
Kim et al. Region-expansion for the Voronoi diagram of 3D spheres
Petitjean et al. Regular and non-regular point sets: Properties and reconstruction
CN109740227A (zh) 基于特征识别的微型复杂零件建模方法
KR101140532B1 (ko) 베타형:구들간의 블렌딩 곡면을 정의하는 위상정보를표현하는 간결한 구조 및 상기 구조를 구성하는 방법
Zhang Discrete shape modeling for geometrical product specification: contributions and applications to skin model simulation
Kim et al. Recognition of docking sites on a protein using β-shape based on Voronoi diagram of atoms
Kim et al. Visualization and analysis of protein structures using Euclidean Voronoi diagram of atoms
CN110310322A (zh) 一种10微米级高精度器件装配表面检测方法
Kim et al. Interaction interfaces in proteins via the Voronoi diagram of atoms
Joonghyun et al. Computation of molecular surface using Euclidean Voronoi Diagram
Paterson et al. Feature based search of 3D databases
Kim et al. Euclidean Voronoi diagrams of 3D spheres: Their construction and related problems from biochemistry
Kim et al. Pocket recognition on a protein using Euclidean Voronoi diagram of atoms
US20060178831A1 (en) Methods, systems, and computer program products for representing object realtionships in a multidimensional space
Kim et al. The β-shape and β-complex for analysis of molecular structures

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160418

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170403

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee