KR20240040671A - 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 시스템 및 서비스 방법 - Google Patents

거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 시스템 및 서비스 방법 Download PDF

Info

Publication number
KR20240040671A
KR20240040671A KR1020230126611A KR20230126611A KR20240040671A KR 20240040671 A KR20240040671 A KR 20240040671A KR 1020230126611 A KR1020230126611 A KR 1020230126611A KR 20230126611 A KR20230126611 A KR 20230126611A KR 20240040671 A KR20240040671 A KR 20240040671A
Authority
KR
South Korea
Prior art keywords
binding
compound
protein
information
scale
Prior art date
Application number
KR1020230126611A
Other languages
English (en)
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 (주)신테카바이오
Priority to PCT/KR2023/014453 priority Critical patent/WO2024063583A1/ko
Priority to PCT/KR2023/014455 priority patent/WO2024063585A1/ko
Publication of KR20240040671A publication Critical patent/KR20240040671A/ko

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/90Programming languages; Computing architectures; Database systems; Data warehousing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/14Payment architectures specially adapted for billing systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/10Analysis or design of chemical reactions, syntheses or processes
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/30Prediction of properties of chemical compounds, compositions or mixtures
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/50Molecular design, e.g. of drugs
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/60In silico combinatorial chemistry
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/70Machine learning, data mining or chemometrics
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/80Data visualisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computing Systems (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Medicinal Chemistry (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Pharmacology & Pharmacy (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Analytical Chemistry (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

신약 개발과정에는 질병의 원인이 되는 단백질과 화합물 간 결합 정보를 분석하여 새로운 유효물질 후보를 발굴하는 단계가 포함된다. 시중에서 사용될 수 있는 화합물의 개수가 수십억 개이므로 신약 개발에 소요되는 시간과 비용을 줄이는 것은 해결해야 할 중요한 문제로 대두되고 있다. 특히, 물리학적계산을 통한 딥러닝 방식으로 예측하여 새로운 유효물질 후보를 신속하게 발굴하는 연구가 많이 이루어지고 있는 가운데 선행 발명에서 개발한 플랫폼은 거대규모 화합물을 대상으로 탐색 및 물리학 이론에 입각한 결합력 예측으로 새로운 물질 발굴 가능성을 높였으며 예측 정확도를 크게 향상시켰다. 해당 플랫폼은 기능적인 측면에서 DMC-PRE, DMC-SCR 및 DMC-MD로 구성이 되어 있으며 해당 부분들은 거대규모의 워크플로우를 발생시켜 병렬적으로 계산을 하는 특성을 가지고 있다. 본 발명에서는 선행 발명의 플랫폼 특성을 분석하고, 효율적으로 거대 규모의 컴퓨팅 자원을 활용하기 위해서 클라우드 기술 및 클라우드를 기반으로 한 워크플로우 관리자 기술을 도입하고, 사용자들의 편의 및 클라우드 자원의 효율적인 관리를 고려한 서비스 방법론을 제안하는 것을 목표로 한다. 효율적인 서비스를 진행하기 위해서, 선행 발명이 된 신약 후보 물질 발굴 플랫폼에 대한 컴퓨팅 자원 사용의 특성을 분석해서, 클라우드 기술을 활용해 최적을 성능을 높이고, 웹 기술을 활용한, 포털을 제공함으로써 클라우드 기술 활용을 위한 사용자 편리성을 향상시켰고, 다양한 메시지 전송 방식을 통해서 내부적으로 복잡한 시스템을 안정적으로 연결시켰으며, 모니터링 및 다양한 오류 상항에 대응 할 수 있는 데몬(Daemon) 등을 통해서, 클라우드 플랫폼을 활용한 서비스의 안정성을 검증하였다.

Description

거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 시스템 및 서비스 방법 {A distributed and parallelized cloud platform system and service method for large-scale workflows}
본 발명은 물리적 계산을 통한 딥러닝 방식으로 새로운 유효물질 후보를 예측 발굴하기 위한 클라우드 플랫폼 및 서비스 방법에 관한 것으로, 더욱 상세하게는 거대물질 화합물을 대상으로, 선행 버추얼 스크리닝(DMC-PRE), 딥매처 스크리닝(DMC-SRC) 및 분자 동역학 기반 자체 검증(DMC-MD)을 적용하고, 해당 과정을 분산 및 병렬처리가 가능한 거대규모(large-scale) 워크플로우(workflow)로 구성하여 자동화 및 고성능 컴퓨팅 (high-performance computing)자원을 효율적으로 활용할 수 있는 클라우드 플랫폼과 서비스 방법에 관한 것이다.
최근 신약 개발 과정에는 질병의 원인이 되는 단백질과 화합물 간 상호작용을 물리적 그리고 화학적 계산을 통한 딥러닝 방식을 통해서 분석하여 다량의 새로운 유효물질 후보를 발굴하는 분석 방법론이 대세로 떠오르고 있다.
그러나 분석 대상 화합물의 개수가 수십억일 경우, 인공지능을 통한 분석에 대해서 굉장한 시간과 비용이 소모가 될 수 있어, 해당 문제를 해결하는 것이 중요한 요소로 대두되고 있다
또한, 거대규모의 화합물을 대상으로 예측을 할 경우, 화합물 하나 당 예측에 소요되는 시간이 가장 큰 문제이며, 이를 해결하기 위해서는 1) 예측 알고리즘 (Algorithm)의 고도화와 더불어, 2) 해당 알고리즘을 실행하는 고성능 컴퓨팅 자원에 대한 효율적인 활용 방법론 개발이 중요하다
한편, 고성능 컴퓨팅 자원을 효율적으로 활용하기 위해서는 분석하는 알고리즘 사이의 연결성 및 자원 활용에 대한 자동화가 필수적이며, 자동화를 좀 더 쉽게 하기 위해 고성능 컴퓨터 자원을 효율적으로 활용할 수 있는 클라우드 컴퓨팅 기술이 등장하기 시작했다.
그러나 클라우드 컴퓨팅 기술이 적용되어도, 1) 하드웨어 및 소프트웨어의 종속성 문제, 2) 이종 플랫폼 사이에 통신 문제, 3) 작업 부하 분산 관리 문제, 4) 사용자 인터페이스(user interface) 및 사용자 경험(user experience)을 바탕으로 한 사용자 편의성 문제 등이 해결해야 한다
한편, 비특허문헌 [001]에서, 클라우드 환경에서 사용되는 가상화 기술인 도커 컨테이너(docker container) 기술은 소프트웨어의 종속성 문제를 해결하는 완전히 독립적인 작업 실행 환경을 구성해줄 수 있는 기술이다. 완전 가상화 기술인 가상 머신(virtual machine)과 달리 물리 머신의 자원을 공유하기에 성능면에서 더 좋은 결과를 보여준다.
신약 개발 후보 물질을 발굴하는 플랫폼들은 다양한 소프트웨어들로 구성이 되어 있는데 이들 소프트웨어들은 1)소프트웨어의 버전, 2)운영체제(operating system), 3)컴파일러(compiler), 4)라이브러리(library), 5)애플리케이션(application) 등에서 종속성을 갖는다.
해당 종속성의 문제를 해결하기 위해 도커 컨테이너 기술에서는 이미지(image) 형태로 상술한 부분들을 버전별로 설치 및 설정하여 관리를 해주는 기능을 제공하고 있다.
이런 도커 이미지들을 관리해주는 기술에는 도커 허브(docker hub)(비특허문헌 013 참조)와 도커 개인 저장소(docker private registry)가 있다. 도커 허브는 클라우드 이미지 저장소로 제공이 됨으로써, 공공의 이미지 공유를 위한 목적성을 가지고 있으며, 도커 개인 저장소의 경우 기업의 내부 프로젝트 및 개인 프로젝트에서 활용하는 사적인 이미지 저장소를 구축할 수 있다.
개인용 이미지 저장소를 구축하는 대표적인 솔루션 중 하버 (harbor)(비특허문헌 010 참조)는 도커 이미지를 관리할 수 있을 뿐만 아니라 프로젝트별로 사용자의 권한을 부여할 수 있다.
이런 도커 컨테이너 및 도커 이미지를 클러스터(cluster) 단위의 어플리케이션(Application)으로 자동화해주는 구글의 오픈 소스 기반 플랫폼 쿠버네티스 (kubernetes)(비특허문헌 002 참조)는 도커 컨테이너로 실행되는 작업의 자원 할당, 배포, 실행, 복구 등에 대하여 자동화해준다.
특히, 어플리케이션에 대한 자가 치유 (self-healing) 기능은 어플리케이션에 대한 효율적인 관리 및 서비스의 연속성을 보장해준다.
신약 개발 후보 물질을 발굴하는 플랫폼의 작업들은 자체 파이프라인(pipeline)을 가진 워크플로우 형태로 실행이 된다. 이런 워크플로우를 클라우드 환경에서 관리해주는 기술 증 아르고(argo)(비특허문헌 006 참조)는 쿠버네티스 기반으로 가장 작은 컴퓨팅 단위인 파드 (pod)에 대하여 미리 작성한 자동화 템플릿 (template) 기반의 워크플로우 형태로 실행하게 해준다.
클라우드에서 템플릿 관리자는 야믈(YAML)이나 제이슨(JSON) 파일 형식으로 작성이 되고 해당 문법에 의해 정의된 워크플로우 구성 정보에 근거하여 워크플로우의 자동화가 진행된다.
자동화를 위해서는 다양한 이종간 플랫폼이 존재하며, 이종간의 플랫폼들간의 원할한 통신을 보장해주는 것이 매우 중요하다. 이렇게 분산된 클라우드 환경에서는 카프카 (kafka)(비특허문헌 009 참조)를 많이 사용하며, 카프카는 수많은 미들웨어들 간의 비동기 API (application programming interface)와 메시징 복잡도를 해결할 수 있으며, 단일 클러스터내의 통신뿐만 아니라, 멀티 클러스터 (multi-cluster)환경에서도 통신이 가능하다는 장점이 있다.
신약 개발과 같이 다양한 입력 정보에 대한 병렬화된 워크플로우의 경우, 병렬화된 분석 과정들을 고성능 컴퓨팅 자원에 효율적으로 분산시키는 기술이 중요한 핵심 기술이며, 해당 기술을 잘 적용하지 않으면, 전체 시스템에 심각한 부하를 발생시켜, 전체 클라우드 서비스에 영향을 줄 수 있다.
시스템 자원 측면에서 부하를 분산하기 위해 클라우드 멀티 클러스터 아키텍처)(비특허문헌 012, 015 참조)를 도입해야 한다. 해당 아키텍처를 도입할 경우 실행하고자 하는 어플리케이션의 특성에 따라 단위 클러스터를 구성하고 클러스터별로 필요한 자원을 배치하는 것이 중요한 해결과제에 해당한다.
Hob, M.; Kranzlmuller, D. Enabling EASEY Deployment of Containerized Applications for Future HPC Systems. In Mining Data for Financial Applications; Springer Nature: Cham, Switzerland, 2020; Volume 12137, pp. 206?219. Piras, M.E.; Pireddu, L.; Moro, M.; Zanetti, G. Container Orchestration on HPC Clusters. Min. Data Financ. Appl. 2019, 11887, 25?35. Priedhorsky, R.; Randles, T. Charliecloud. In Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, Denver, CO, USA, 12?17 November 2017; p. 36. ICFNDS '19: Proceedings of the 3rd International Conference on Future Networks and Distributed SystemsJuly 2019 Article No.: 5 Pages 1?7 https://doi.org/10.1145/3341325.3341995 Z. He, "Novel Container Cloud Elastic Scaling Strategy based on Kubernetes," 2020 IEEE 5th Information Technology and Mechatronics Engineering Conference (ITOEC), 2020, pp. 1400-1404, doi: 10.1109/ITOEC49072.2020.9141552. Rak R, Batista-Navarro RT, Rowley A, Carter J, Ananiadou S. Text-mining-assisted biocuration workflows in Argo. Database (Oxford). 2014 Jul 18;2014:bau070. doi: 10.1093/database/bau070. PMID: 25037308; PMCID: PMC4103424. Li, G.; Woo, J.; Lim, S.B. HPC Cloud Architecture to Reduce HPC Workflow Complexity in Containerized Environments. Appl. Sci. 2021, 11, 923. https://doi.org/10.3390/app11030923 M. M. Ahsan, K. D. Gupta, A. K. Nag, S. Poudyal, A. Z. Kouzani and M. A. P. Mahmud, "Applications and Evaluations of Bio-Inspired Approaches in Cloud Security: A Review," in IEEE Access, vol. 8, pp. 180799-180814, 2020, doi: 10.1109/ACCESS.2020.3027841. M. Ouhssini, K. Afdel, M. Idhammad and E. Agherrabi, "Distributed intrusion detection system in the cloud environment based on Apache Kafka and Apache Spark," 2021 Fifth International Conference On Intelligent Computing in Data Sciences (ICDS), 2021, pp. 1-6, doi: 10.1109/ICDS53782.2021.9626721.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출 된 것으로, 본 발명은 거대규모 화합물을 대상으로 탐색 및 물리학 이론에 입각한 결합력 예측으로 새로운 물질 발굴하는 과정에 발생하는 거대규모 워크플로우를 위한 고성능컴퓨팅 인프라 자원을 클라우드 환경에서 분산 및 병렬처리하여 자원에 대한 효율성을 높이고, 파이프라인에 대한 자동화를 구현함으로 사용자의 편의성을 높이는 클라우드 플랫폼 및 서비스 방법을 제공하고자 하는 것이다.
즉, 본 발명은 신약개발 후보 물질 발굴 플랫폼을 위한 클라우드 아키텍처를 제안하는데, 클라우드 서비스는 신약 연구자들의 주요 요구사항을 반영한 서비스 흐름과 클라우드 시스템 구성을 통해 구현되고, 거대규모 워크플로우에 대한 클라우드에서의 분산 및 병렬처리는 아르고 템플릿을 활용하여 자원 할당, 배포를 구현하고자 한다.
이때, 고성능컴퓨팅 인프라의 작업으로 인한 워크로드 관리 및 자가 치유는 쿠버네티스를 활용하여 다중 클러스터 방식으로 구현하고, 소프트웨어의 종속성을 해결하기 위해 도커 허브를 활용하여 다양한 버전 별 이미지들을 개발하여 관리하는 방식으로 구현하며, 이런 이종간 플랫폼 간의 메시지 통신을 분산 이벤트 스트리밍 솔루션인 카프카를 통해 연결하고, 사용자의 편의성 향상은 클라우드 포털을 통해 구현하고자 한다
상기한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 따르면, 본 발명은 신약 개발 후보 물질 발굴을 위한 거대규모 워크플로우를 위한 분산 및 병렬처리 가능한 클라우드 플랫폼 서비스에 있어서, 회원의 정보 및 프로젝트를 관리하는 단계와; 클라우드 워크플로우 매니저에서, 신약 개발 후보 물질 발굴을 분석하는 단계와; 분석된 결과들을 시각화하는 단계와; 메시지 브로커를 통해 포털 서비스, 클라우드 워크플로우 관리자, 클라우드 관리자, 리포트 관리자 간의 기능들을 원격 또는 내부 제어하는 단계; 그리고 클러스터의 오류 상황에 자동화하여 대처하는 단계;를 포함하여 수행된다.
이때, 상기 클라우드 플랫폼 서비스는 포털 형태로 제공되는 웹 서비스 어플리케이션으로 제공되되, 상기 회원정보의 관리는, 회원의 가입 및 로그인 서비스를 포함하고; 상기 프로젝트 관리는, 분석 서비스에 대한 가격(과금), 가격(과금)에 대한 중간 저장 및 문서화 기능에 대한 관리; 프로젝트의 등록, 서비스 신청, 서비스 실행 및 프로젝트 진행 상황 모니터링 기능에 대한 관리; 그리고 분석 결과 리포트 서비스에 대한 관리;를 포함하여 구성될 수 있다.
그리고 신약 개발 후보 물질 발굴 분석은, 딥러닝 방식의 신약 개발 후보 물질 발굴을 위한 단계별 필요한 프로그램 및 모수(Parameter)들의 토대가 되는 정보들을 저장하고 있는 템플릿; 각 분석 단계별로 사용하는 최적의 컴퓨터 자원량을 할당하는 템플릿; 각 분석 단계별로, 고성능 컴퓨팅 자원에 병렬적으로 할당하는 템플릿; 분석된 정보들의 시각화가 가능하도록 하는 템플릿; 분석된 다량의 중간 저장물 및 최종 저장물에 대한 백업을 위한 템플릿; 및 각각의 템플릿을 실행을 위하여 클러스터에 연결시켜, 템플릿을 관리하는 관리자 유닛에 의해 실행될 수도 있다.
또한, 상기 신약 개발 후보 물질 발굴 분석은, (Ⅰ) 화합물 데이터베이스로부터 화합물의 물리, 화학 및 토폴로지(topology) 정보에 후보 화합물을 1차 선별(선행 스크리닝)하는 DMC-PRE 단계와; (Ⅱ) 1차 선별된 후보 화합물들을 인공지능 알고리듬을 통해 학습된 툴(Enva)을 이용하여 2차 선별(심층 스크리닝)하는 DMC-SCR 단계; 그리고 (Ⅲ) 분자동역학적 분자-모션 시뮬레이션을 통해 2차 선별된 화합물을 검증하는 DMC-MD 단계;를 포함하여 수행될 수도 있다.
그리고 상기 DMC-PRE 단계는, (Ⅰ-1) 대규모 화합물 데이터 기반의 구조 및 화학적 특성 계산을 통하여 화합물 구조들을 선별하여 데이터베이스화하는 단계와; (Ⅰ-2) 단백질 데이터 뱅크(PDB)를 통해 구축된 데이터베이스(R-group) 정보와 상기 (Ⅰ-1) 단계로부터 선별된 화합물 구조들 간의 결합 가능성 및 적합도를 산출하여 화합물 구조들을 선별하는 단계와; (Ⅰ-3) 분자결합 알고리즘(molecular docking with deep learning)을 통해 가상 공간의 단백질과 화합물의 결합을 분석하여, 단백질 구조의 사전 정의된 결합 위치에 화합물을 결합하여 해당 결합 환경을 분석하는 단계와; (Ⅰ-4) 상기 (Ⅰ-3) 단계의 분석결과를 통해 상기 (Ⅰ-2) 단계에서 선별된 화합물 구조로부터, 후보 화합물을 1차 선별하는 단계;를 포함하여 수행될 수도 있다.
또한, 상기 DMC-SCR 단계는, (Ⅱ-1) 상기 DMC-PRE 단계에서 1차 선별된 화합물을 대상으로, 대상 단백질과의 결합을 분석하여 결합 정보를 산출하는 단계와; (Ⅱ-2) 상기 (Ⅱ-1) 단계에서 결합된 구조를 이용해 결합된 화합물의 위치 정보를 변경한 단백질-화합물 결합 구조 파일을 생성하는 단계와; (Ⅱ-3) 상기 (Ⅱ-2) 단계에서 생성된 각각의 단백질-화합물 결합 정보들을 저장하여 각 단백질-화합물 간의 결합구조에 대한 적합성을 산출하는 단계와; (Ⅱ-4) 상기 (Ⅱ-3) 단계에서 산출된 적합성에 따라 기 설정된 개수의 단백질-화합물 구조의 결합력을 산출하는 단계와; (Ⅱ-5) 상기 (Ⅱ-4) 단계의 단백질- 화합물 결합에 필요한 단백질 내의 핵심 잔기에 대해서 결합력을 산출하는 단계와; (Ⅱ-6) 상기 (Ⅱ-4) 단계의 단백질- 화합물 결합 구조에 대해서, 예측 모델을 통해 화합물 별로 결합 점수에 따라 상위 단백질-화합물 결합 정보를 산출하는 단계; 그리고 (Ⅱ-7) 상기 (Ⅱ-6) 단계로부터 산출된 단백질-화합물 간의 결합 안정성에 대한 점수를 산출하여 후보 화합물을 2차 선별하는 단계;를 포함하여 수행될 수도 있다.
그리고 상기 (Ⅱ-1) 단계 및 (Ⅱ-2) 단계는, 특정 화합물 구조로 인한 연산 시간의 지연을 방지하기 위하여, 단계별 최대 작업 시간이 설정될 수도 있다.
또한, 상기 (Ⅱ-3) 단계는, 각각의 단백질-화합물 결합 정보들의 저장은 메모리 버퍼를 통해 수행될 수도 있다.
그리고 상기 DMC-MD 단계는, (Ⅲ-1) 2차 선별된 화합물들을 단백질 구조에 결합하여, 분자 동역학 시뮬레이션 프로그램(molecular dynamic simulation)을 이용하여 가상공간에서 활동하는 단백질과 화합물이 결합된 구조를 최적화하는 단계와; (Ⅲ-2) 기 설정된 시간 간격으로 해당 단백질-화합물 결합 구조의 결합 정보와 구조적 특성을 분석하여 안정화된 최적 결합 형태를 산출하는 단계; 그리고 (Ⅲ-3) 상기 (Ⅲ-2) 단계의 시뮬레이션 결과에 따른 최적 단백질-화합물 결합 구조와 해당 단백질의 공지된 최적 결합 환경을 대비하여 목표 단백질과 최적의 결합 형태를 가진 화합물을 선별하여 최종 후보 화합물을 검증하는 단계;를 포함하여 수행될 수도 있다.
한편, 신약 개발 후보 물질 발굴에 대한 상기 분석된 결과물들의 시각화는, 분석 정보를 시각화를 위한 형태로 저장하는 데이터베이스와; 분석 정보를 문서화하기 위한 사용자의 요구 사항을 저장하는 데이터베이스와; 데이터베이스에 저장된 정보들의 시각화 및 문서화를 위한 레스트(REST) 형식의 어플리케이션 프로그래밍 인터페이스(API)와; 분석된 신약 개발 후보 물질들을 웹상에서 분석된 정보 및 단백질과 화합물 간의 결합구조를 시각화 하고 분석한 정보들을 문서화하는 웹 유저 인터페이스; 그리고 웹 어플리케이션의 실행하는 서버 및 연결 포트들을 레스트(REST) 형식으로 관리할 수 잇는 어플리케이션 프로그래밍 인터페이스;에 의해 실행될 수도 있다.
그리고 메시지 브로커를 통한 내부 제어는, 프로젝트 실행 정보를 전달해주는 메시지 브로커 및 데몬 서비스와; 클러스터의 상황 파악을 위한 정보를 주고받는 메시지 브로커 서비스와; 프로젝트의 실행 상황을 확인하기 위한 메시지 브로커 서비스와; 분석이 완료된 데이터를 데이터베이스로 이전시키는 메시지 브로커 서비스와; 데이터베이스에 저장된 분석 데이터 기반, 리포트 시스템을 구동하기 위한 메시지 브로커 및 데몬 서비스와; 리포트 생성 완료된 상태를 포털로 전달하기 위한 메시지 브로커 서비스; 그리고 클러스터를 구성하는 서버의 자원 사용량을 포털로 전달하는 메시지 브로커 서비스;를 포함할 수도 있다.
또한, 클러스터의 오류 상황 대처는, 대체 처리 서버의 구성을 통한 세션 부한 분산 및 서버 메시지 처리의 고가용성 확보하고; 다중 마스터 서버를 구성하여 서비스 안정성을 확보하며; 쿠버네티스 장비의 상태 모니터링 및 노드 라벨링 기능을 통한 자동 노드 관리를 포함하는 것일 수 있다.
한편, 본 발명은 전술한 바와 같은, 신약 개발 후보 물질 발굴을 위한 거대규모 워크플로우를 위한 분산 및 병렬처리 가능한 클라우드 플랫폼 서비스를 웹 서비스로 실행시키기 위한 클라우드 플랫폼을 포함한다.
위에서 살핀 바와 같은 본 발명에 의한 DMC-PRE, DMC-SCR 및 DMC-MD의 거대 규모 워크플로우를 위한 분산 및 병렬처리 가능한 클라우드 플랫폼 및 서비스 방법에서는 다음과 같은 효과를 기대할 수 있다.
즉, 본 발명에서는 거대규모 화합물을 대상으로 탐색 및 물리학 이론에 입각한 결합력 예측으로 새로운 물질 발굴 가능성을 높일 수 있다.
또한, 본 발명에서는 수십억의 화합물 개수를 실행하는 워크플로우를 위한 클라우드 환경에서의 분산 및 병렬처리 방법론을 적용함으로 고성능 컴퓨팅 자원을 효율적으로 활용하는 방법론을 제공함으로 바이오 분야에서 고성능 컴퓨팅 클라우드 기술을 접목할 수 있게 되는 효과가 있다.
그리고 본 발명에서는 예측 정확도를 크게 향상한 플랫폼을 위한 클라우드 서비스 방법론을 정의함으로 신약개발 분야에서 사용자의 서비스의 편의성을 향상시킬 수 있는 효과가 있다.
도 1은 본 발명에 의한 DMC-PRE, DMC-SCR, DMC-MD를 위한 클라우드 서비스 흐름도.
도 2는 본 발명에 의한 DMC-PRE, DMC-SCR, DMC-MD를 위한 클라우드 플랫폼 구성도.
도 3는 본 발명에 의한 멀티 클러스터 기반 클라우드 시스템 구성도임.
도 4은 본 발명에 의한 AMQP 미들웨어 구성 환경에 대한 예시도.
도 5는 본 발명에 의한 카프카와 RabbitMQ에 대한 성능 비교 예시도.
도 6은 본 발명에 의한 카프카 구성 환경 예시도.
도 7은 본 발명에 의한 카프카 내부 구조도.
도 8은 본 발명에 의한 카프카의 분산 및 병렬 구조도.
도 9는 본 발명에 의한 분산 메시지 구조도.
도 10은 본 발명에 의한 메시지 배치 처리 구조도.
도 11는 본 발명에 의한 포털 서비스 흐름도.
도 12는 본 발명에 의한 프로젝트 계산 노드 및 스토리지 할당 모식도.
도 13은 본 발명에 의한 DMC-PRE, DMC-SCR, DMC-MD를 위한 파이프라인 자동화 방법의 예시도.
도 14는 본 발명에 의한 DMC-PRE의 PHscan 파이프라인의 예시도.
도 15는 본 발명에 의한 DMC-PRE의 GAP0 파이프라인의 예시도.
도 16는 본 발명에 의한 DMC-PRE의 G1 파이프라인의 예시도.
도 17은 본 발명에 의한 DMC-SCR의 파이프라인의 예시도.
도 18은 본 발명에 의한 DMC-MD의 파이프라인의 예시도.
도 19는 본 발명에 의한 DMC-PRE의 PHscan 클라우드 분산 및 병렬처리 구조.
도 20은 본 발명에 의한 DMC-PRE의 GAP0 클라우드 분산 및 병렬처리 구조.
도 21은 본 발명에 의한 DMC-PRE의 G1 클라우드 분산 및 병렬처리 구조.
도 22는 본 발명에 의한 DMC-SCR의 클라우드 분산 및 병렬처리 구조.
도 23은 본 발명에 의한 DMC-MD의 클라우드 분산 및 병렬처리 구조.
도 24는 본 발명에 의한 리포트 생성 단계 순서도.
도 25는 본 발명에 의한 프로젝트 결과물 백업 순서도.
이하에서는 첨부된 도면을 참조하여 본 발명의 구체적인 실시예에 의한 클라우드 플랫폼 및 서비스 방법을 살펴보기로 한다.
설명에 앞서 먼저, 본 발명의 효과, 특징 및 이를 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예에서 명확해진다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이며, 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성하여 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능하다.
즉, 도시된 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.
본 발명은 도 1에 도시된 바와 같이, (A) 사용자의 클라우드 환경에서의 프로젝트 등록 및 신청 단계 (B) 관리자의 프로젝트 승인 및 자원 할당해주는 단계 (C) DMC-PRE, DMC-SCR 및 DMC-MD를 위한 파이프라인 자동 실행 단계 (D) 리포트 생성 단계 (E) 사용자의 요청에 의한 데이터 백업 템플릿 실행 단계를 포함하여 수행된다.
이때, (A)단계에서 처음 계정을 생성했을 때, 게스트 사용자로 권한을 부여받아 과금 페이지만을 이용하도록 할 수 있다. 또한, 해당 페이지에서는 클라우드 서비스 이용에 대한 과금 정보의 확인 및 문서를 다운로드 받을 수 있고, 정식 사용자 계약이 인증된 일반사용자는 플랫폼의 자유로운 사용이 가능하다.
사용자의 플랫폼 사용상태를 살피면, 프로젝트 생성을 위한 페이지에서 간단한 제목과 내용을 입력한 뒤 사용할 플랫폼을 선택하면 프로젝트를 등록할 수 있다. 관리자는 해당 프로젝트가 계약된 건인지 확인 후 프로젝트의 사용 승인을 진행하며, 사용자는 분석을 진행하기 위한 파이프라인의 파라미터(parameter)를 웹에서 입력하게 된다. 해당 프로젝트를 실행하기 위한 웹 사이트의 디자인 목적은 클라우드 환경에 익숙하지 않은 사용자들을 위해 웹사이트에서 분석을 쉽게 할 수 있도록 한다.
기존의 클라우드 환경을 제공하는 웹 사이트의 경우, 자신의 분석하는 목적에 맞는 사용하는 자원의 종류 수량 그리고 워크플로우를 자신이 작성 및 선정한 이후 분석을 실행해야 하지만, 본 발명의한 클라우드 환경은 미리 정해져 있는 서비스에 대해서 간단한 파라미터만을 활용해서 사용이 가능해진다.
한편, 분석이 시작되면 프로젝트 페이지에서 프로젝트에 대한 진행상태 및 상세 진행단계를 체크할 수 있고, 완료되었을 때 리포트 페이지로 이동 이후 분석된 데이터를 다양한 시각적 자료의 형태로 확인할 수 있는 웹 어플리케이션 및 다양한 형식의 문서화된 분석 자료를 다운로드 받을 수 있다.
그리고 (B) 단계에서는 사용자가 등록한 프로젝트의 플랫폼의 종류에 따라서 프로젝트에 필요한 장비를 승인한다. 사용자가 요청한 프로젝트에 포함된 파이프라인을 실행하기 위한 자원 요청이 포함되어 있으며 요청사항에 적정한 자원의 수량과 작업 스토리지를 지정하고 워크플로우 단계별로 최적의 자원을 활용하여 수행될 수 있도록 하기 위하여 동적인 CPU, GPU, 스토리지 자원의 관리 기능이 필요한데, 본 발명에서는 이를 위해서 아르고의 워크플로우 관리 기능과 쿠버네티스의 어플리케이션 배포 기능 및 컨테이너 오케스트레이션 (container orchestration) 기능을 적용한다.
그리고 신약개발 후보 물질 발굴을 위한 (C) 단계는 (C-1) DMC-PRE, (C-2) DMC-SCR, (C-3) DMC-MD 단계로 나눌 수 있고 (C-1) 단계는 자사에 구축된 수억 개의 화합물로 구성된 데이터베이스로부터 후보 물질에 적합한 화합물 구조들을 선별하기 위한 작업들을 다음의 순서대로 진행한다. (C-1-1) 단계는 PHscan 알고리즘을 활용한 대규모 화합물 데이터 기반의 구조 및 화학적 특성 계산을 통하여 약 1백만개의 화합물 구조들을 선별하는 작업을 수행한다. (C-1-2) 단계는 GAP0 알고리즘을 활용하여 자사에 구축된 R-group 데이터베이스 정보와 (C-1-1) 단계로부터 선별된 화합물 구조들 간의 결합 가능성 및 적합도 계산 수행 이후, 10만개의 화합물 구조들을 선별한다. (C-1-3) 단계는 G1 결합(docking) 프로그램 (가상의 공간에 단백질과 화합물을 결합 및 분석 수행)을 활용하여 단백질 구조의 사전 정의된 결합 위치에 화합물을 결합하여 해당 결합 환경을 분석한 결과를 제공하며, 마지막 (C-1-4) 세부 단계에서는 해당 분석 결과에서 가장 우수한 화합물 구조 1천개를 선별한다. 이로써, DMC-PRE 단계를 통해 수억 개의 대규모 화합물 데이터베이스로부터 1천개의 후보 물질들이 선별되고, 해당 후보 물질들은 다음 단계인 (C-2)의 입력 데이터로 전달된다.
한편, (C-2) DMC-SCR 단계는 총 7단계로 나뉜다.
(C-2-1) 단계에서, Docking 은 DMC-PRE 단계에서 분석된 ZINC 화합물(ligand) 1000개를 대상으로 대상 단백질에 결합하는 작업을 지칭하며, 대상 단백질과 한 개의 화합물 간의 결합 분석을 다중으로 진행하여 결합 정보를 계산한다. 또한 특정 화합물 구조로 인해 시간이 지연되는 점을 감안하여 해당 단계 최대 작업 시간을 설정해서, 예외 사항에 대한 변수를 차단한다.
(C-2-2) 단계는 C-2-1 단계에서 결합된 구조를 이용해 결합된 화합물의 위치 정보를 변경한 단백질-화합물 결합 구조 파일을 만들어낸다. 이 또한 C-2-1과 마찬가지로 화합물 구조로 인하여 실행 시간이 지연되는 점을 감안하여 해당 단계의 최대 실행 시간이 설정된다.
(C-2-3) 단계는 (C-2-2) 단계에서 생성된 다양한 단백질-화합물 결합 정보들을 한 곳으로 모아 각 단백질-화합물 간의 결합구조에 대한 적합성을 계산을 하는데, 해당 과정에 모든 파일들은 크기가 작아 한 곳으로 모으는데 지연되는 문제점이 있었다. 해당 과정을 메모리 버퍼를 활용하여 파일 복사 시간을 기존에 비해 30% 이상 개선된다.
(C-2-4) 단계에서는 (C-2-3) 단계에서 적합한 단백질-화합물 상위 2천개의 화합물 구조의 결합력을 계산하는 (ENVA) 작업을 진행한다.
(C-2-5) 단계에서는 단백질과 화합물에 결합에 필요한 단백질 내의 핵심 잔기에 대해서 계산하게 되며, (C-2-6) 단계는 단백질-화합물 간의 결합 구조에 대해서, 사전에 생성된 예측 모델을 적용하여 화합물 마다 결합 점수가 좋은 상위 1개 단백질-화합물 결합 정보를 선정한다.
(C-2-7) 단계는 (C-2-6 단계)에서 나온 1000개의 단백질-화합물 간의 결합 안정성에 대한 점수를 계산 한 이후에, 상위 1개를 추출하여 (C-3)의 입력 정보로 제공된다.
(C-3) 단계에서는 1천개의 후보 물질들을 다시 단백질 구조에 결합하여, 분자 동역학 시뮬레이션 프로그램 (molecular dynamic simulation)인 AMBER를 활용하여 가상의 시공간에서 활동하는 단백질과 화합물이 결합된 구조를 최적화하는 작업을 수행한다. 해당 시뮬레이션에 사용되는 단백질-화합물 결합 구조는 시간의 흐름에 따라 원자 단위의 결합 정도에 변화가 생기고, 해당 결합에 수많은 원자들이 영향을 받기 때문에 단백체의 전체적인 모양에도 변화가 생긴다.
따라서, 일정 시간 간격으로 해당 단백질-화합물 결합 구조의 결합 정보와 구조적 특성을 분석하여 해당 구조가 가질 수 있는 가장 안정적인 형태로 모양을 잡아가게 된다.
시뮬레이션 이후, 최적화된 단백질-화합물 결합 구조와 단백질이 원래 갖고 있는 실험적으로 알려진 최적의 결합 환경 간의 비교를 통해서 목표 단백질과 최적의 결합 형태를 가진 화합물에 대해서 수십-수백개를 선별하며, 해당 정보를 최종 후보 물질로 판단한다. 마지막으로, 최종 선별된 후보 물질들에 대한 분석 결과를 사용자에게 리포트 형태로 제공하기 위한 추가적인 후처리 작업이 진행된다.
앞서 서술한 (C)단계로 이루어진 신약개발 후보 물질 발굴 플랫폼을 효율적으로 가동시키려면 다음과 같은 항목들에 대한 해결방안이 필요하다.
1) 대규모 화합물 (10억개 화합물) 데이터베이스로부터 필요한 정보를 효율적으로 추출하는 분산 처리 방법, 2) 각 단계마다 필요한 최소 컴퓨팅 자원, 3) 할당된 컴퓨팅 자원에 따른 분석 시간, 4) 비정상적인 작동 및 오류 사항에 대한 대처 방안, 5) 단계별 정상 확인 방안
현재 클라우드 환경에서 작동시키기 위해서, 동일한 물리적 서버 자원 및 동일 네트워크에서 통신 되는 인프라를 구축하였고, 해당 인프라를 효율적으로 활용하고, 다양한 오류사항에 대처하기 위해서 아르고 클라우드 기반 워크플로우 매니저를 채택하여 사용한다.
또한, 현재 서비스를 진행하고 있는 물리적 머신의 자원과 각 단계별 분석에 사용되는 소모 자원들에 대해서, 다양한 최적화된 조건들을 계산하였고, 현재 서비스하고 있는 모델에서의 최적의 자원 소모 값 및 분산 처리 값을 설정했다.
그리고 마스터 서버 (Master server)를 중심으로 수 백대 이상의 계산 서버들을 연결하는 쿠버네티스 기반의 클러스터의 경우 마스터 서버에서 수백대의 계산 서버들의 정보들의 처리를 담당하기 때문에 클러스터의 관리 및 마스터 서버 안정성이 불안정해지는 것을 발견했다. 이를 해결하기 위해서, 마스터 서버와 계산 서버를 연결하는 기능을 대신 처리(Proxy)하는 서버를 별도로 추가해서 구성해서, 세션 부하를 분산(SLB; Service Load Balancing) 처리를 함과 동시에, 서비스의 고가용성(HA; High Availability)까지 확보해서, 마스터 서버 한대에서 나타날 수 있는 비정상 상태에서의 세션의 안정성을 확보 하였다.
또한 아르고 및 칼리코 (Calico) 같은 클러스터의 내부에서 필요한 역할군들을 분리 구성함으로써, 마스터 서버의 경우 파드를 통한 작업의 스케쥴링과 클러스터 관리에 보다 집중할 수 있도록 했다.
그리고 쿠버네티스의 자가 치유 기능이 있음에도 불구하고, 거대 클러스터 환경에서 수시로 발생하는 물리적 서버의 장애로 인해, 작업의 배포에 대한 비정상적인 지연대기가 발생하는 경우가 많이 발생했다.
이를 해결하기 위해서, 1) 쿠버네티스의 장비 상태 정보를 확인함과 동시에, 2) 쿠버네티스의 라벨링 (Labeling) 기능을 활용하여, 비정상 노드의 상태를 파악하고, 자동으로 클러스터 관리 노드에서 제거함으로써, 작업 배포의 지연대기를 최소화할 수 있는, 자동 노드 관리 기능을 도입했다.
사용자에게 분석된 데이터에 대한 정보를 제공하는 (D) 단계 리포트 기능 세부 단계는 새로운 유효물질 후보를 발굴하는 과정에서 필요한 분석 결과물을 사용자가 쉽게 확인하고 이해할 수 있도록 접근성 향상을 필요로 하여 도입되었다. 도커 컨테이너 기술을 이용하여 분석이 완료될 때마다 각 프로젝트에 대한 독립적인 웹 서비스 가상화 환경을 구축하였다. 리포트 웹 서비스의 경우, 빠른 데이터 접근 및 대용량 데이터 처리를 위해 몽고디비(MongoDB)를 도입하였고, 싱글 페이지 어플리케이션 (single page application) 형태로 네이티브 앱 (native app)과 유사한 환경으로 사용자가 정보를 능률적으로 탐색하고 이해할 수 있게 웹사이트를 구성하여 문제를 해결하였다.
마지막으로 (E) 단계, 사용자 요청에 의한 데이터 백업 단계는 분석이후에 생성된 결과물을 사용자의 요청에 따라 안전하게 보관 및 전달하기 위한 데이터 백업과 작업 완료된 스토리지 자원을 회수하는 과정이 함께 수행되며, 이 과정에서 결과물을 빠르게 백업하기 위한 기술과 결과물의 유실과 변조를 막기 위한 정책이 함께 적용되었다.
이하에서는 첨부된 도면 순서에 따라 본 발명에 의한 클라우드 플랫폼 및 서비스 방법의 세부적인 기술내용에 대하여 설명하기로 한다.
도 1은 DMC-PRE, DMC-SCR, DMC-MD를 위한 클라우드 서비스 흐름도를 나타낸다. 도 1에 도시된 바와 같이, 클라우드 사용자들이 프로젝트 등록 및 사용신청을 하면 관리자(또는 관리 알고리즘)는 해당 프로젝트를 검토하고 승인하고, 분석에 사용할 자원을 할당한다.
상기 자원에는 물리적 머신의 자원뿐만 아니라, 분석을 위한 자동화 워크플로우를 실행하기 위한 다양한 모수(parameter)들이 포함되어 있다. 사용자가 모수 설정 이후 프로젝트 분석을 실행하는 순간 지정된 템플릿에 의하여 해당 플랫폼이 순서대로 실행이 되고 실행이 완료되면 리포트를 생성한다.
그리고 사용자는 리포트 결과물을 포털을 통해 다운로드 받을 수 있다. 분석된 결과물을 검토 후 사용자는 관리자에게 데이터에 대한 백업을 요청할 수 있고, 이에 따라 미리 작성된 백업 템플릿을 관리지가 지정해주면 자동으로 데이터가 작업 스토리지에서 백업 스토리지로 이동된다.
한편, 본 발명에서 관리자라 함은 플랫폼의 운영을 관리하는 주체로, 운영 인력이 될 수도 있고, 운영 프로그램, 운영 서버 등의 전자화된 체계일 수도 있다.
다음으로, 도 2는 DMC-PRE, DMC-SCR, DMC-MD를 위한 클라우드 플랫폼 구성도이다.
본 발명에 의한 클라우드 플랫폼은 모두 3가지 레이어로 구성이 되는데, 하드웨어, 소프트웨어, 포털 레이어로 구분된다.
상기 하드웨어 레이어에는 보유하고 있는 GPU, CPU, 스토리지 자원을 포함하고 있고, 소프트웨어 레이어는 쿠버네티스로 구현한 워크로드 관리자, 아르고로 구현한 워크플로우 및 템플릿 관리자, 하버로 구성한 플랫폼 이미지 관리자, 파이썬의 장고로 구현한 리포트 관리자, 분산 시스템 카프카 및 해당 항목들로 구현된 분산 및 병렬처리 워크플로우 메소드들로 구성된다.
상기 클라우드 포털 레이어는 사용자와 관리자로 구분되고 사용자는 프로젝트 신청과 리포트 확인을 포함하고 관리자는 사용자가 사용할 수 있는 기능에 더불어 프로젝트 관리, 자원 관리, 데이터베이스 관리 및 사용자 관리를 포함한다.
도 3은 멀티 클러스터 환경의 아키텍처를 보여주고 있다.
각각의 클러스터마다 워크플로우 관리자, 워크로드 관리자, 물리 저장소를 가지고 있고, 이와 같은 콘텐츠 별로 클러스터 구성이 확장 가능하게 만들어졌으며 모든 클러스터들의 정보들은 통합된 데이터베이스에 저장이 되고, 별도의 리포트 관리자와 통신한다.
이들 구성들은 카프카를 통해 메시지를 전달한다. 그리고 클라우드 포털은 카프카의 통신 메시지를 받아 사용자와 관리자에게 정보들을 제공한다.
도 4에는 본 발명에 의한 AMQP 미들웨어 구성 환경이 도시되어 있고, 도 5에는 본 발명에 의한 카프카와 RabbitMQ에 대한 성능 비교가 도시되어 있으며, 도 6에는 본 발명에 의한 카프카 구성 환경이 도시되어 있고, 도 7에는 본 발명에 의한 카프카 내부 구조가 도시되어 있으며, 도 8에는 본 발명에 의한 카프카의 분산 및 병렬 구조가 도시되어 있고, 도 9에는 본 발명에 의한 분산 메시지 구조가 도시되어 있으며, 도 10에는 본 발명에 의한 메시지 배치 처리 구조가 도시되어 있고, 도 11에는 본 발명에 의한 포털 서비스 흐름이 도시되어 있다.
MQ(Message Queue) 프로토콜은 메시지를 다양한 서비스 간에 정보를 중개하는 방식이며 발신자와 수신자가 고정적으로 정해져 있어서 특정 로그데이터와 같이 일대일 방식으로 데이터를 전달하는 구조이다.
수신자가 메시지를 가져가면 중개자 (broker)에서 그 메시지는 사라지므로 추가적으로 다른 수신자가 동일한 메시지를 수신하는 것이 불가능하다.
발신자와 수신자가 일대다 구조인 다수 수신자(client) 환경에서는 브로커에서 큐 (Queue)개수를 증설하고 발신자가 전체 큐에 메시지를 보내야 하는데 각 레이어마다 큐가 다수 존재하는 다중 클러스터 환경에서는 복잡도가 더 심화되는 구조적 문제를 안고 있다.
또한 성능상으로 실시간 대용량 데이터 이동 처리가 불가능하거나 표준을 벗어난 기술적인 튜닝을 병행해야만 서비스에서 필요한 데이터 이동속도의 요구조건을 충족하는 성능적 한계를 함께 가지고 있다.
일 예로 가장 대중적인 RabbitMQ의 처리율(throughput)은 카프카의 5% 수준이며, 레이턴시 튜닝, 고속 레이드 저장공간 등 카프카 최적 환경에서는 이 격차가 더 벌어진다(도 5참조). 카프카는 기존의 메시징 중개자들이 가진 약점과 한계성을 해결하기 위해서 메시징 모델에 분산, 배치, 병렬, 캐시 기술 등을 적용하여 대용량 트래픽을 효과적으로 처리하여 멀티 클러스터 환경에서 인프라 복잡성을 최소화한다(도 6 및 7 참조).
한편, 본 발명에서는, 메시지가 파일시스템 기반에 저장되므로 고속레이드, 캐시성능에 기반하여 읽기성능을 최적으로 확대 가능하다.
그리고 도 8 및 9에 도시된 바와 같이, 구조적으로 하나의 중개자에서 다수 발신자와 수신자 연결을 허용하여 메시지를 분산, 병렬 처리한다.
또한, 본 발명에서는 도 10에 도시된 바와 같이, 메시지를 배치단위로 송수신하여 처리량을 향상시킨다.
그리고 본 발명에서는 운영장치에서 제공하는 파일시스템, 네트워크 캐시기술을 적극적으로 활용하여 트래픽과 처리량을 비약적으로 개선한다.
한편, 도 11에 도시된 바와 같이, 본 발명에 의한 포털 서비스는 클라우드 환경에서 사용할 수 있는 웹 페이지로, 사용자가 계정 생성부터 사용에 따른 계약서 발급, 프로젝트 등록, 프로젝트 신청, 프로젝트 실행 리포트의 출력 및 리포트 문서화 다운로드까지의 분석에 필요한 모든 과정을 진행할 수 있는 유저 인터페이스를 제공한다.
그리고 프로젝트의 분석이 시작이 되면 카프카 메시지 중개자를 통해서 분석에 필요한 파라미터 및 정보가 전달되고 아르고에서 해당 정보들을 인식해서 분석이 진행이 된다.
분석이 진행되고 있는 상황은 사용자가 확인할 수 있고, 관리자는 각 클러스터의 자원 활용량을 모니터링(Monitoring) 웹 페이지를 통해서 추가적인 정보를 확인할 수 있다.
도 12에는 본 발명에서 사용자가 신청한 작업을 관리자가 승인한 이후, 계산서버 자원인 CPU, GPU와 스토리지 자원이 할당 관리되는 과정을 도식화한 흐름도이다.
이에 도시된 바와 같이, 사용자의 프로젝트 신청이 접수되면 관리자의 승인에 따라 요청된 규모에 맞는 자원 정보가 아르고 워크플로우 템플릿에 인자로 전달되어, 파이프라인의 작업을 단계에 따라 실행할 수 있게 준비된다.
그리고 사용자에 의해 작업이 실행되면 템플릿 순서에 따라 작업수행을 위한 파드가 배포되며, 이때 효율적인 자원 활용을 위하여 계산서버의 CPU와 GPU 자원은 전체의 자원 풀(pool)에서 동적으로 필요규모에 따라 할당 받게 되며 진행단계가 끝나고 여유자원이 확인될 경우 대기 중인 파드가 자동 실행될 수 있도록 구성되어 있는데 이는 쿠버네티스의 워크로드 관리 기능을 통해 구현된다.
또한, 미리 지정된 스토리지는 각 템플릿에 따라 작업 파드가 실행될 때 각각의 파드에 자동할당(mount)되며 해당 파드의 작업 종료 시 자동해제(unmount)되어 저장공간의 네트워크 부하를 줄이도록 설정된다.
도 13에는 신약 후보물질 발굴에 대한 DMC-HIT(DeepMatcher-HIT) 대한 전반적인 클라우드 파이프라인이 도시되어 있다.
본 발명에 의한 DMC-HIT는 크게 3가지 영역인 DMC-PRE, DMC-SCR, DMC-MD 단계들로 구성되어 있고, 공통적으로 수행하는 역할로는 단백질 화합물 결합 구조 생성(도킹) 및 결합 구조에 대한 결합력 분석이 있다.
파이프라인이 진행되면서 대규모의 화합물 데이터 중 가치가 있다고 판단되는 화합물들을 선별하여 최대 200여개 화합물을 결과 리포트에서 확인할 수 있다.
한편, 도14 내지 18에는 본 발명의 세부 영역들을 이루고 있는 로직을 올바른 순서대로 나열한 모습이며, 각 로직을 수행함으로써 파생되는 결과물이 다음 로직에 활용되는 방식으로 표현 되어있다.
그리고 도19에는 클라우드 환경에서 DMC-PRE의 PHscan 단계의 수행방법이 도시되어 있다. 이때, 파이프라인이 구성하는 일부 단계에서는 방대한 데이터 기반으로 계산 작업이 필요하기 때문에 100개 프로세스를 생성하여 병렬 처리한다. 해당 단계의 최종 결과로 약 1백만개의 화합물 데이터가 다음 단계로 전달된다.
도 20에는 DMC-PRE의 GAP0 단계의 수행방법이 도시되어 있다. 상기 DMC-PRE의 PHscan 단계로부터 전달받은 약 1백만개에 해당하는 상당수의 화합물을 처리하기 위해, 화합물을 배치 단위로 분할하고, 한 번에 100개 병렬 프로세스를 진행하여 모든 배치에 대한 작업이 끝날 때까지 반복된다. 마지막 단계에서 약 10만개 화합물을 선별한다.
그리고 도 21에는 DMC-PRE의 마지막인 G1 프로그램을 통한 분석단계의 수행방법이 도시되어 있다. 상기 DMC-PRE의 GAP0 단계로부터 전달받은 약 10만개 화합물을 처리하기 위해, 마찬가지로 화합물들을 배치 단위로 분할한 이후, 100개 병렬 프로세스를 진행하여 모든 배치에 대한 작업이 끝날 때까지 반복된다. 최종 1천개 화합물이 선별되어 다음 단계인 DMC-SCR 단계로 전달된다.
다음으로, 도 22에는 DMC-SCR 단계가 클라우드에서 동작하는 전체 구성이 도시되어 있다. 이때, 병렬 분산 처리되는 영역은 여러가지 세부 단계들로 구성되어 있고, 이전 단계로부터 전달받은 1천개 화합물들을 한 번에 100개씩 병렬로 처리한다. 해당 단계의 결과물인 단백질-화합물 결합 구조 1천개가 다음 단계인 DMC-MD 단계로 전달된다.
도 23에는 클라우드에서의 DMC-MD 단계 실행 동작이 도시되어 있다. 상기 DMC-SCR 단계로부터 전달받은 1천개 단백질-화합물 결합 구조를 갖고 분자 동역학 시뮬레이션 프로그램을 기반으로 분석을 진행한다.
이때, 병렬로 처리되는 영역은 여러 개의 세부 단계들로 구성되어 있고, 1천개 결합 구조에 대하여 한 번에 100개씩 병렬로 처리한다. 해당 단계 종료 이후, 분자 동역학 시뮬레이션 프로그램 출력 데이터인 단백질-화합물 결합 구조 및 분석 결과를 기반으로 DMC-HIT 결과 리포트를 생성하기 위한 DMC-POST 단계가 진행된다.
한편, 도 24는 사용자가 등록한 프로젝트의 분석 완료 이후, 리포트 웹 서비스 생성부터 사용자의 접속 과정을 도식화한 흐름도이다.
분석이 정상적으로 종료되면, 분석된 데이터가 데이터베이스에 업로드 되고, 추가적으로 리포트 정보 전용의 데이터베이스가 추가 생성된다. 해당 데이터베이스는 관계성 데이터베이스의 뷰 테이블(View Table)과 같이 하나의 중심이 되는 정보를 기반으로 다양한 정보를 하나의 문서로 만들어서 리포트에 필요한 데이터를 빠르게 처리할 수 있다.
다음으로, 리포트 서버를 선정하고, 해당 서버 내에서 포트를 지정하며 포트 포워딩이 진행된다. 최종적으로 리포트 서버가 구축되고, 서비스가 실행되어 모든 서비스 준비를 완료하게 된다. 이후 사용자는 클라우드 포털에 접속하여 프로젝트의 리포트 다운로드를 클릭하면, 리포트 웹 서비스에 접속할 수 있다. 이를 통해 사용자는 분석 결과를 웹에서 직접 확인하거나 다양한 형식의 문서로 다운로드 받을 수 있다.
마지막으로, 도 25에는 프로젝트 파이프라인 수행을 통해 얻어진 결과물을 백업 및 외부에 보관하기 위한 과정이 도시되어 있다. 이 단계는 도식화된 바와 같이, 작업 파이프라인이 종료된 후 백업 워크플로우 템플릿이 실행되어 백업을 수행하게 되는데 이 과정에서 수 테라 바이트(terra byte)에 달하는 결과물을 일차 저장소로 전송해야 하기에 최대 전송 속도 및 일기쓰기를 최대한으로 활용하기 위한 다중 노드, 다중 세션(session) 백업 방식을 사용한다.
또한, 백업 단계에서 발생할 수 있는 정보의 유실 및 변조를 방지하기 위하여 백업 전후의 체크썸(checksum)을 진행하여 결과물의 해쉬(hash)값을 비교하는 과정이 함께 수행된다.
일차 저장소에 저장된 백업본은 동시에 사본을 물리적으로 구별된 저장소에 다시 저장하며 두 벌의 사본이 생성되면 원본을 삭제한 후 작업 저장공간 자원을 반납한다. 백업시스템의 가장 중요한 정책은 사용자 요청에 의한 일정 기간동안 상시 두 개의 사본을 유지하는 것이며 각 백업대상과 백업이력을 기록하게 되며 규정으로 정한 온라인 저장 기한이 만료된 백업본은 하드디스크에 사본을 복제한 뒤 온라인 사본을 삭제하는 정책으로 일련의 과정이 진행된다.
본 발명의 권리는 위에서 설명된 실시예에 한정되지 않고 청구범위에 기재된 바에 의해 정의되며, 본 발명의 분야에서 통상의 지식을 가진 자가 청구범위에 기재된 권리범위 내에서 다양한 변형과 개작을 할 수 있다는 것은 자명하다.
상품성으로 가치는 현존하는 클라우드는 자사의 클라우드와 같은 대규모 대용량의 유전체, 단백질체, 화합물을 연계하여 완전 자동화하여 상용화한 사례는 드물다. 또한 전체 워크플로우의 부분적인 단계에서 연구개발 형태의 파이프라인은 존재할 수 있지만, 검증된 단백질과 수십억 개의 화합물의 결합도를 분석할 수 있는 대규모 분석 파이프라인과 해당 파이프라인과 연동하여 고성능 컴퓨팅 인프라 자원에 적용한 클라우드 시스템은 당사의 클라우드가 유일하다, 향후 국내 및 해외에서의 비즈니스 및 연구 목적으로 대량으로 활용될 예정이고, 나아가 클라우드 기반 워크플로우를 통해서, 집단 유전체 바이오 마커 분석, 신생 항원 분석 같은 대규모 계산이 필요한 컨텐츠 전용 파이프라인을 탑재한 클라우드로의 확장이 가능하여, 비즈니스 활용성 확장에 기여할 것으로 기대된다.

Claims (13)

  1. 신약 개발 후보 물질 발굴을 위한 거대규모 워크플로우를 위한 분산 및 병렬처리 가능한 클라우드 플랫폼 서비스에 있어서,
    회원의 정보 및 프로젝트를 관리하는 단계와;
    클라우드 워크플로우 매니저에서, 신약 개발 후보 물질 발굴을 분석하는 단계와;
    분석된 결과들을 시각화하는 단계와;
    메시지 브로커를 통해 포털 서비스, 클라우드 워크플로우 관리자, 클라우드 관리자, 리포트 관리자 간의 기능들을 원격 또는 내부 제어하는 단계; 그리고
    클러스터의 오류 상황에 자동화하여 대처하는 단계;를 포함하여 수행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법.
  2. 제 1 항에 있어서,
    상기 클라우드 플랫폼 서비스는 포털 형태로 제공되는 웹 서비스 어플리케이션으로 제공되되,
    상기 회원정보의 관리는,
    회원의 가입 및 로그인 서비스를 포함하고;
    상기 프로젝트 관리는,
    분석 서비스에 대한 가격(과금), 가격(과금)에 대한 중간 저장 및 문서화 기능에 대한 관리와;
    프로젝트의 등록, 서비스 신청, 서비스 실행 및 프로젝트 진행 상황 모니터링 기능에 대한 관리; 그리고
    분석 결과 리포트 서비스에 대한 관리;를 포함하여 구성됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법.
  3. 제 1 항에 있어서,
    신약 개발 후보 물질 발굴 분석은,
    딥러닝 방식의 신약 개발 후보 물질 발굴을 위한 단계별 필요한 프로그램 및 모수(Parameter)들의 토대가 되는 정보들을 저장하고 있는 템플릿과;
    각 분석 단계별로 사용하는 최적의 컴퓨터 자원량을 할당하는 템플릿과;
    각 분석 단계별로, 고성능 컴퓨팅 자원에 병렬적으로 할당하는 템플릿과;
    분석된 정보들의 시각화가 가능하도록 하는 템플릿과;
    분석된 다량의 중간 저장물 및 최종 저장물에 대한 백업을 위한 템플릿; 그리고
    각각의 템플릿을 실행을 위하여 클러스터에 연결시켜, 템플릿을 관리하는 관리자 유닛에 의해 실행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법.
  4. 제 3 항에 있어서,
    상기 신약 개발 후보 물질 발굴 분석은,
    (Ⅰ) 화합물 데이터베이스로부터 화합물의 물리, 화학 및 토폴로지(topology) 정보에 후보 화합물을 1차 선별(선행 스크리닝)하는 DMC-PRE 단계와;
    (Ⅱ) 1차 선별된 후보 화합물들을 인공지능 알고리듬을 통해 학습된 툴(Enva)을 이용하여 2차 선별(심층 스크리닝)하는 DMC-SCR 단계; 그리고
    (Ⅲ) 분자동역학적 분자-모션 시뮬레이션을 통해 2차 선별된 화합물을 검증하는 DMC-MD 단계;를 포함하여 수행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법.
  5. 제 4 항에 있어서,
    상기 DMC-PRE 단계는,
    (Ⅰ-1) 대규모 화합물 데이터 기반의 구조 및 화학적 특성 계산을 통하여 화합물 구조들을 선별하여 데이터베이스화하는 단계와;
    (Ⅰ-2) 단백질 데이터 뱅크(PDB)를 통해 구축된 데이터베이스(R-group) 정보와 상기 (Ⅰ-1) 단계로부터 선별된 화합물 구조들 간의 결합 가능성 및 적합도를 산출하여 화합물 구조들을 선별하는 단계와;
    (Ⅰ-3) 분자결합 알고리즘(molecular docking with deep learning)을 통해 가상 공간의 단백질과 화합물의 결합을 분석하여, 단백질 구조의 사전 정의된 결합 위치에 화합물을 결합하여 해당 결합 환경을 분석하는 단계와;
    (Ⅰ-4) 상기 (Ⅰ-3) 단계의 분석결과를 통해 상기 (Ⅰ-2) 단계에서 선별된 화합물 구조로부터, 후보 화합물을 1차 선별하는 단계;를 포함하여 수행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법.
  6. 제 5 항에 있어서,
    상기 DMC-SCR 단계는,
    (Ⅱ-1) 상기 DMC-PRE 단계에서 1차 선별된 화합물을 대상으로, 대상 단백질과의 결합을 분석하여 결합 정보를 산출하는 단계와;
    (Ⅱ-2) 상기 (Ⅱ-1) 단계에서 결합된 구조를 이용해 결합된 화합물의 위치 정보를 변경한 단백질-화합물 결합 구조 파일을 생성하는 단계와;
    (Ⅱ-3) 상기 (Ⅱ-2) 단계에서 생성된 각각의 단백질-화합물 결합 정보들을 저장하여 각 단백질-화합물 간의 결합구조에 대한 적합성을 산출하는 단계와;
    (Ⅱ-4) 상기 (Ⅱ-3) 단계에서 산출된 적합성에 따라 기 설정된 개수의 단백질-화합물 구조의 결합력을 산출하는 단계와;
    (Ⅱ-5) 상기 (Ⅱ-4) 단계의 단백질- 화합물 결합에 필요한 단백질 내의 핵심 잔기에 대해서 결합력을 산출하는 단계와;
    (Ⅱ-6) 상기 (Ⅱ-4) 단계의 단백질- 화합물 결합 구조에 대해서, 예측 모델을 통해 화합물 별로 결합 점수에 따라 상위 단백질-화합물 결합 정보를 산출하는 단계; 그리고
    (Ⅱ-7) 상기 (Ⅱ-6) 단계로부터 산출된 단백질-화합물 간의 결합 안정성에 대한 점수를 산출하여 후보 화합물을 2차 선별하는 단계;를 포함하여 수행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법.
  7. 제 6 항에 있어서,
    상기 (Ⅱ-1) 단계 및 (Ⅱ-2) 단계는,
    특정 화합물 구조로 인한 연산 시간의 지연을 방지하기 위하여, 단계별 최대 작업 시간이 설정됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법.
  8. 제 6 항에 있어서,
    상기 (Ⅱ-3) 단계는,
    각각의 단백질-화합물 결합 정보들의 저장은 메모리 버퍼를 통해 수행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법.
  9. 제 6 항에 있어서,
    상기 DMC-MD 단계는,
    (Ⅲ-1) 2차 선별된 화합물들을 단백질 구조에 결합하여, 분자 동역학 시뮬레이션 프로그램(molecular dynamic simulation)을 이용하여 가상공간에서 활동하는 단백질과 화합물이 결합된 구조를 최적화하는 단계와;
    (Ⅲ-2) 기 설정된 시간 간격으로 해당 단백질-화합물 결합 구조의 결합 정보와 구조적 특성을 분석하여 안정화된 최적 결합 형태를 산출하는 단계; 그리고
    (Ⅲ-3) 상기 (Ⅲ-2) 단계의 시뮬레이션 결과에 따른 최적 단백질-화합물 결합 구조와 해당 단백질의 공지된 최적 결합 환경을 대비하여 목표 단백질과 최적의 결합 형태를 가진 화합물을 선별하여 최종 후보 화합물을 검증하는 단계;를 포함하여 수행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법.
  10. 제 9 항에 있어서,
    신약 개발 후보 물질 발굴에 대한 상기 분석된 결과물들의 시각화는,
    분석 정보를 시각화를 위한 형태로 저장하는 데이터베이스와;
    분석 정보를 문서화하기 위한 사용자의 요구 사항을 저장하는 데이터베이스와;
    데이터베이스에 저장된 정보들의 시각화 및 문서화를 위한 레스트(REST) 형식의 어플리케이션 프로그래밍 인터페이스(API)와;
    분석된 신약 개발 후보 물질들을 웹상에서 분석된 정보 및 단백질과 화합물 간의 결합구조를 시각화 하고 분석한 정보들을 문서화하는 웹 유저 인터페이스; 그리고
    웹 어플리케이션의 실행하는 서버 및 연결 포트들을 레스트(REST) 형식으로 관리할 수 잇는 어플리케이션 프로그래밍 인터페이스;에 의해 실행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법.
  11. 제 9 항에 있어서,
    메시지 브로커를 통한 내부 제어는,
    프로젝트 실행 정보를 전달해주는 메시지 브로커 및 데몬 서비스와;
    클러스터의 상황 파악을 위한 정보를 주고받는 메시지 브로커 서비스와;
    프로젝트의 실행 상황을 확인하기 위한 메시지 브로커 서비스와;
    분석이 완료된 데이터를 데이터베이스로 이전시키는 메시지 브로커 서비스와;
    데이터베이스에 저장된 분석 데이터 기반, 리포트 시스템을 구동하기 위한 메시지 브로커 및 데몬 서비스와;
    리포트 생성 완료된 상태를 포털로 전달하기 위한 메시지 브로커 서비스; 그리고
    클러스터를 구성하는 서버의 자원 사용량을 포털로 전달하는 메시지 브로커 서비스; 를 포함하는 것을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법.
  12. 제 9 항에 있어서,
    클러스터의 오류 상황 대처는,
    대체 처리 서버의 구성을 통한 세션 부한 분산 및 서버 메시지 처리의 고가용성 확보하고;
    다중 마스터 서버를 구성하여 서비스 안정성을 확보하며;
    쿠버네티스 장비의 상태 모니터링 및 노드 라벨링 기능을 통한 자동 노드 관리를 포함함을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법.
  13. 제 1 항 내지 제 12 항 중 어느 한 항의 방법을 웹 서비스로 실행시키기 위한 클라우드 플랫폼.
KR1020230126611A 2022-09-21 2023-09-21 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 시스템 및 서비스 방법 KR20240040671A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2023/014453 WO2024063583A1 (ko) 2022-09-21 2023-09-21 인공지능 신약 플랫폼을 통한 표적 단백질의 결합 포켓 구조를 이용한 유도체 생성 방법
PCT/KR2023/014455 WO2024063585A1 (ko) 2022-09-21 2023-09-21 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 시스템 및 서비스 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220119666 2022-09-21
KR1020220119666 2022-09-21

Publications (1)

Publication Number Publication Date
KR20240040671A true KR20240040671A (ko) 2024-03-28

Family

ID=90482918

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230126611A KR20240040671A (ko) 2022-09-21 2023-09-21 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 시스템 및 서비스 방법

Country Status (1)

Country Link
KR (1) KR20240040671A (ko)

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
Hob, M.; Kranzlmuller, D. Enabling EASEY Deployment of Containerized Applications for Future HPC Systems. In Mining Data for Financial Applications; Springer Nature: Cham, Switzerland, 2020; Volume 12137, pp. 206?219.
ICFNDS '19: Proceedings of the 3rd International Conference on Future Networks and Distributed SystemsJuly 2019 Article No.: 5 Pages 1?7 https://doi.org/10.1145/3341325.3341995
Li, G.; Woo, J.; Lim, S.B. HPC Cloud Architecture to Reduce HPC Workflow Complexity in Containerized Environments. Appl. Sci. 2021, 11, 923. https://doi.org/10.3390/app11030923
M. M. Ahsan, K. D. Gupta, A. K. Nag, S. Poudyal, A. Z. Kouzani and M. A. P. Mahmud, "Applications and Evaluations of Bio-Inspired Approaches in Cloud Security: A Review," in IEEE Access, vol. 8, pp. 180799-180814, 2020, doi: 10.1109/ACCESS.2020.3027841.
M. Ouhssini, K. Afdel, M. Idhammad and E. Agherrabi, "Distributed intrusion detection system in the cloud environment based on Apache Kafka and Apache Spark," 2021 Fifth International Conference On Intelligent Computing in Data Sciences (ICDS), 2021, pp. 1-6, doi: 10.1109/ICDS53782.2021.9626721.
Piras, M.E.; Pireddu, L.; Moro, M.; Zanetti, G. Container Orchestration on HPC Clusters. Min. Data Financ. Appl. 2019, 11887, 25?35.
Priedhorsky, R.; Randles, T. Charliecloud. In Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, Denver, CO, USA, 12?17 November 2017; p. 36.
Rak R, Batista-Navarro RT, Rowley A, Carter J, Ananiadou S. Text-mining-assisted biocuration workflows in Argo. Database (Oxford). 2014 Jul 18;2014:bau070. doi: 10.1093/database/bau070. PMID: 25037308; PMCID: PMC4103424.
Z. He, "Novel Container Cloud Elastic Scaling Strategy based on Kubernetes," 2020 IEEE 5th Information Technology and Mechatronics Engineering Conference (ITOEC), 2020, pp. 1400-1404, doi: 10.1109/ITOEC49072.2020.9141552.

Similar Documents

Publication Publication Date Title
De Oliveira et al. Scicumulus: A lightweight cloud middleware to explore many task computing paradigm in scientific workflows
Ghazi et al. Hadoop, MapReduce and HDFS: a developers perspective
US20190347127A1 (en) Service provisioning and orchestration for virtual machine to container migration
Sharma et al. A complete survey on software architectural styles and patterns
US11182717B2 (en) Methods and systems to optimize server utilization for a virtual data center
CA2883159C (en) High performance data streaming
CN111324571B (zh) 一种容器集群管理方法、装置及系统
US20080294872A1 (en) Defragmenting blocks in a clustered or distributed computing system
Essa et al. Mobile agent based new framework for improving big data analysis
CN104050042A (zh) Etl作业的资源分配方法及装置
Hu et al. Software-defined edge computing (SDEC): Principles, open system architecture and challenges
Bermbach et al. On the future of cloud engineering
Mohamed et al. MidCloud: an agent‐based middleware for effective utilization of replicated Cloud services
Shan et al. KubeAdaptor: a docking framework for workflow containerization on Kubernetes
Zarei et al. Past, present and future of Hadoop: A survey
KR20240040671A (ko) 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 시스템 및 서비스 방법
Adhikari et al. A performance analysis of openstack cloud vs real system on hadoop clusters
Hao Edge computing on low availability devices with K3S in a smart home IoT system
Xiong et al. A novel resource management method of providing operating system as a service for mobile transparent computing
WO2024063585A1 (ko) 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 시스템 및 서비스 방법
Jalalian et al. Autonomous task scheduling for fast Big Data processing
Lavacca Scheduling Jobs on Federation of Kubernetes Clusters
Luo et al. Beeflow: Behavior tree-based serverless workflow modeling and scheduling for resource-constrained edge clusters
Tufail Resource management in container-based mobile edge computing
Wilkins-Diehr et al. Science gateways: Harnessing clouds and software services for science