WO2024063585A1 - Cloud platform system and service method capable of distributed and parallel processing for large-scale workflows - Google Patents

Cloud platform system and service method capable of distributed and parallel processing for large-scale workflows Download PDF

Info

Publication number
WO2024063585A1
WO2024063585A1 PCT/KR2023/014455 KR2023014455W WO2024063585A1 WO 2024063585 A1 WO2024063585 A1 WO 2024063585A1 KR 2023014455 W KR2023014455 W KR 2023014455W WO 2024063585 A1 WO2024063585 A1 WO 2024063585A1
Authority
WO
WIPO (PCT)
Prior art keywords
binding
compound
protein
information
dmc
Prior art date
Application number
PCT/KR2023/014455
Other languages
French (fr)
Korean (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 (주)신테카바이오
Priority claimed from KR1020230126611A external-priority patent/KR20240040671A/en
Publication of WO2024063585A1 publication Critical patent/WO2024063585A1/en

Links

Images

Classifications

    • 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
    • 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]
    • 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/70Machine learning, data mining or chemometrics
    • 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

Abstract

A new drug development process includes a step of discovering new effective substance candidates by analyzing information regarding binding between proteins that cause disease and compounds. Because there are billions of compounds available on the market, reducing the time and cost required to develop new drugs has emerged as an important problem to be solved. In particular, much research is being conducted to quickly discover new effective substance candidates by making predictions using deep learning methods through physical calculations, and a platform developed in the prior art increased the possibility of discovering new substances by searching for large-scale compounds and predicting a binding force on the basis of physics theory, and greatly improved prediction accuracy. In terms of functionality, the platform includes DMC-PRE, DMC-SCR, and DMC-MD, and these parts have the characteristic of generating large-scale workflows and performing calculations in parallel. The purpose of the present invention is to analyze platform characteristics of the prior art, introduce cloud technology and cloud-based workflow manager technology to efficiently use large-scale computing resources, and propose a service methodology that takes into account convenience of users and efficient management of cloud resources. In order to provide an efficient service, by analyzing the characteristics of computing resource use for a new drug candidate substance discovery platform, which constitutes the prior art, the performance was optimized by using cloud technology. By providing a portal using web technology, user convenience for using cloud technology has been improved, and internally complex systems are stably connected through various message transmission methods. In addition, the stability of service using a cloud platform was verified through monitoring and a daemon that can respond to various error situations.

Description

거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 시스템 및 서비스 방법Cloud platform system and service method capable of distributed and parallel processing for large-scale workflows
본 발명은 물리적 계산을 통한 딥러닝 방식으로 새로운 유효물질 후보를 예측 발굴하기 위한 클라우드 플랫폼 및 서비스 방법에 관한 것으로, 더욱 상세하게는 거대물질 화합물을 대상으로, 선행 버추얼 스크리닝(DMC-PRE), 딥매처 스크리닝(DMC-SRC) 및 분자 동역학 기반 자체 검증(DMC-MD)을 적용하고, 해당 과정을 분산 및 병렬처리가 가능한 거대규모(large-scale) 워크플로우(workflow)로 구성하여 자동화 및 고성능 컴퓨팅 (high-performance computing)자원을 효율적으로 활용할 수 있는 클라우드 플랫폼과 서비스 방법에 관한 것이다.The present invention relates to a cloud platform and service method for predicting and discovering new effective substance candidates using a deep learning method using physical calculations. More specifically, the present invention relates to advanced virtual screening (DMC-PRE), deep Matcher screening (DMC-SRC) and molecular dynamics-based self-verification (DMC-MD) are applied, and the process is organized into a large-scale workflow capable of distributed and parallel processing for automation and high-performance computing. (high-performance computing) It is about cloud platforms and service methods that can utilize resources efficiently.
최근 신약 개발 과정에는 질병의 원인이 되는 단백질과 화합물 간 상호작용을 물리적 그리고 화학적 계산을 통한 딥러닝 방식을 통해서 분석하여 다량의 새로운 유효물질 후보를 발굴하는 분석 방법론이 대세로 떠오르고 있다. Recently, in the process of new drug development, an analytical methodology that discovers a large number of new effective substance candidates by analyzing the interactions between proteins and compounds that cause diseases through deep learning methods through physical and chemical calculations has emerged as a trend.
그러나 분석 대상 화합물의 개수가 수십억일 경우, 인공지능을 통한 분석에 대해서 굉장한 시간과 비용이 소모가 될 수 있어, 해당 문제를 해결하는 것이 중요한 요소로 대두되고 있다 However, when the number of compounds to be analyzed is in the billions, analysis through artificial intelligence can consume a great deal of time and cost, so solving this problem has emerged as an important factor.
또한, 거대규모의 화합물을 대상으로 예측을 할 경우, 화합물 하나 당 예측에 소요되는 시간이 가장 큰 문제이며, 이를 해결하기 위해서는 1) 예측 알고리즘 (Algorithm)의 고도화와 더불어, 2) 해당 알고리즘을 실행하는 고성능 컴퓨팅 자원에 대한 효율적인 활용 방법론 개발이 중요하다In addition, when making predictions for large-scale compounds, the time required for prediction per compound is the biggest problem. To solve this, 1) upgrading the prediction algorithm, and 2) executing the algorithm. It is important to develop an efficient utilization methodology for high-performance computing resources.
한편, 고성능 컴퓨팅 자원을 효율적으로 활용하기 위해서는 분석하는 알고리즘 사이의 연결성 및 자원 활용에 대한 자동화가 필수적이며, 자동화를 좀 더 쉽게 하기 위해 고성능 컴퓨터 자원을 효율적으로 활용할 수 있는 클라우드 컴퓨팅 기술이 등장하기 시작했다. Meanwhile, in order to utilize high-performance computing resources efficiently, connectivity between analyzing algorithms and automation of resource utilization are essential, and to make automation easier, cloud computing technology that can efficiently utilize high-performance computer resources is beginning to emerge. did.
그러나 클라우드 컴퓨팅 기술이 적용되어도, 1) 하드웨어 및 소프트웨어의 종속성 문제, 2) 이종 플랫폼 사이에 통신 문제, 3) 작업 부하 분산 관리 문제, 4) 사용자 인터페이스(user interface) 및 사용자 경험(user experience)을 바탕으로 한 사용자 편의성 문제 등이 해결해야 한다However, even if cloud computing technology is applied, there are 1) hardware and software dependency problems, 2) communication problems between heterogeneous platforms, 3) workload distribution management problems, and 4) user interface and user experience. User convenience issues based on this need to be resolved.
한편, 비특허문헌 [001]에서, 클라우드 환경에서 사용되는 가상화 기술인 도커 컨테이너(docker container) 기술은 소프트웨어의 종속성 문제를 해결하는 완전히 독립적인 작업 실행 환경을 구성해줄 수 있는 기술이다. 완전 가상화 기술인 가상 머신(virtual machine)과 달리 물리 머신의 자원을 공유하기에 성능면에서 더 좋은 결과를 보여준다.Meanwhile, in non-patent literature [001], Docker container technology, a virtualization technology used in a cloud environment, is a technology that can create a completely independent task execution environment that solves software dependency problems. Unlike a virtual machine, which is a fully virtualized technology, it shows better results in terms of performance because it shares the resources of the physical machine.
신약 개발 후보 물질을 발굴하는 플랫폼들은 다양한 소프트웨어들로 구성이 되어 있는데 이들 소프트웨어들은 1)소프트웨어의 버전, 2)운영체제(operating system), 3)컴파일러(compiler), 4)라이브러리(library), 5)애플리케이션(application) 등에서 종속성을 갖는다.Platforms for discovering new drug development candidates are composed of various software. These software include 1) software version, 2) operating system, 3) compiler, 4) library, 5) It has dependencies on applications, etc.
해당 종속성의 문제를 해결하기 위해 도커 컨테이너 기술에서는 이미지(image) 형태로 상술한 부분들을 버전별로 설치 및 설정하여 관리를 해주는 기능을 제공하고 있다.To solve the problem of dependency, Docker container technology provides a function to install and configure and manage the above-mentioned parts by version in the form of an image.
이런 도커 이미지들을 관리해주는 기술에는 도커 허브(docker hub)(비특허문헌 013 참조)와 도커 개인 저장소(docker private registry)가 있다. 도커 허브는 클라우드 이미지 저장소로 제공이 됨으로써, 공공의 이미지 공유를 위한 목적성을 가지고 있으며, 도커 개인 저장소의 경우 기업의 내부 프로젝트 및 개인 프로젝트에서 활용하는 사적인 이미지 저장소를 구축할 수 있다. Technologies that manage these Docker images include Docker hub (see non-patent document 013) and Docker private registry. Docker Hub is provided as a cloud image storage, so it has the purpose of sharing images with the public, and in the case of Docker personal storage, you can build a private image storage for use in a company's internal projects and personal projects.
개인용 이미지 저장소를 구축하는 대표적인 솔루션 중 하버 (harbor)(비특허문헌 010 참조)는 도커 이미지를 관리할 수 있을 뿐만 아니라 프로젝트별로 사용자의 권한을 부여할 수 있다.Among the representative solutions for building a personal image repository, Harbor (see non-patent document 010) can not only manage Docker images, but also grant user permissions for each project.
이런 도커 컨테이너 및 도커 이미지를 클러스터(cluster) 단위의 어플리케이션(Application)으로 자동화해주는 구글의 오픈 소스 기반 플랫폼 쿠버네티스 (kubernetes)(비특허문헌 002 참조)는 도커 컨테이너로 실행되는 작업의 자원 할당, 배포, 실행, 복구 등에 대하여 자동화해준다. Google's open source-based platform Kubernetes (see non-patent document 002), which automates these Docker containers and Docker images into cluster-based applications, is used to allocate resources for tasks executed in Docker containers, It automates deployment, execution, recovery, etc.
특히, 어플리케이션에 대한 자가 치유 (self-healing) 기능은 어플리케이션에 대한 효율적인 관리 및 서비스의 연속성을 보장해준다. In particular, the self-healing function for applications ensures efficient management of applications and continuity of service.
신약 개발 후보 물질을 발굴하는 플랫폼의 작업들은 자체 파이프라인(pipeline)을 가진 워크플로우 형태로 실행이 된다. 이런 워크플로우를 클라우드 환경에서 관리해주는 기술 증 아르고(argo)(비특허문헌 006 참조)는 쿠버네티스 기반으로 가장 작은 컴퓨팅 단위인 파드 (pod)에 대하여 미리 작성한 자동화 템플릿 (template) 기반의 워크플로우 형태로 실행하게 해준다. The platform's work to discover new drug development candidates is executed in the form of a workflow with its own pipeline. Argo (see non-patent document 006), a technology that manages such workflows in a cloud environment, is a Kubernetes-based workflow based on pre-written automated templates for pods, the smallest computing unit. It allows you to execute it in the form
클라우드에서 템플릿 관리자는 야믈(YAML)이나 제이슨(JSON) 파일 형식으로 작성이 되고 해당 문법에 의해 정의된 워크플로우 구성 정보에 근거하여 워크플로우의 자동화가 진행된다. In the cloud, the template manager is written in YAML or JSON file format, and workflow automation is performed based on the workflow configuration information defined by the corresponding grammar.
자동화를 위해서는 다양한 이종간 플랫폼이 존재하며, 이종간의 플랫폼들간의 원할한 통신을 보장해주는 것이 매우 중요하다. 이렇게 분산된 클라우드 환경에서는 카프카 (kafka)(비특허문헌 009 참조)를 많이 사용하며, 카프카는 수많은 미들웨어들 간의 비동기 API (application programming interface)와 메시징 복잡도를 해결할 수 있으며, 단일 클러스터내의 통신뿐만 아니라, 멀티 클러스터 (multi-cluster)환경에서도 통신이 가능하다는 장점이 있다.For automation, various heterogeneous platforms exist, and it is very important to ensure smooth communication between heterogeneous platforms. In such a distributed cloud environment, Kafka (see non-patent document 009) is widely used, and Kafka can solve the complexity of asynchronous API (application programming interface) and messaging between numerous middleware, and not only for communication within a single cluster, It has the advantage of being able to communicate even in a multi-cluster environment.
신약 개발과 같이 다양한 입력 정보에 대한 병렬화된 워크플로우의 경우, 병렬화된 분석 과정들을 고성능 컴퓨팅 자원에 효율적으로 분산시키는 기술이 중요한 핵심 기술이며, 해당 기술을 잘 적용하지 않으면, 전체 시스템에 심각한 부하를 발생시켜, 전체 클라우드 서비스에 영향을 줄 수 있다. In the case of parallelized workflows for various input information, such as drug development, the technology to efficiently distribute parallel analysis processes to high-performance computing resources is an important core technology, and if the technology is not applied well, it can cause a serious load on the entire system. This can affect the entire cloud service.
시스템 자원 측면에서 부하를 분산하기 위해 클라우드 멀티 클러스터 아키텍처)(비특허문헌 012, 015 참조)를 도입해야 한다. 해당 아키텍처를 도입할 경우 실행하고자 하는 어플리케이션의 특성에 따라 단위 클러스터를 구성하고 클러스터별로 필요한 자원을 배치하는 것이 중요한 해결과제에 해당한다.In order to distribute the load in terms of system resources, a cloud multi-cluster architecture (see non-patent documents 012 and 015) must be introduced. When introducing this architecture, an important task is to configure unit clusters according to the characteristics of the application to be executed and deploy the necessary resources for each cluster.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출 된 것으로, 본 발명은 거대규모 화합물을 대상으로 탐색 및 물리학 이론에 입각한 결합력 예측으로 새로운 물질 발굴하는 과정에 발생하는 거대규모 워크플로우를 위한 고성능컴퓨팅 인프라 자원을 클라우드 환경에서 분산 및 병렬처리하여 자원에 대한 효율성을 높이고, 파이프라인에 대한 자동화를 구현함으로 사용자의 편의성을 높이는 클라우드 플랫폼 및 서비스 방법을 제공하고자 하는 것이다.The present invention was created to solve the above problems, and the present invention is a high-performance computing for large-scale workflow that occurs in the process of discovering new materials by searching for large-scale compounds and predicting binding force based on physics theory. The goal is to provide a cloud platform and service method that increases resource efficiency by distributing and parallel processing infrastructure resources in a cloud environment and improves user convenience by implementing pipeline automation.
즉, 본 발명은 신약개발 후보 물질 발굴 플랫폼을 위한 클라우드 아키텍처를 제안하는데, 클라우드 서비스는 신약 연구자들의 주요 요구사항을 반영한 서비스 흐름과 클라우드 시스템 구성을 통해 구현되고, 거대규모 워크플로우에 대한 클라우드에서의 분산 및 병렬처리는 아르고 템플릿을 활용하여 자원 할당, 배포를 구현하고자 한다.In other words, the present invention proposes a cloud architecture for a platform for discovering new drug development candidates. The cloud service is implemented through service flows and cloud system configurations that reflect the main requirements of new drug researchers, and the cloud service is implemented in the cloud for large-scale workflows. Distributed and parallel processing seeks to implement resource allocation and distribution using Argo templates.
이때, 고성능컴퓨팅 인프라의 작업으로 인한 워크로드 관리 및 자가 치유는 쿠버네티스를 활용하여 다중 클러스터 방식으로 구현하고, 소프트웨어의 종속성을 해결하기 위해 도커 허브를 활용하여 다양한 버전 별 이미지들을 개발하여 관리하는 방식으로 구현하며, 이런 이종간 플랫폼 간의 메시지 통신을 분산 이벤트 스트리밍 솔루션인 카프카를 통해 연결하고, 사용자의 편의성 향상은 클라우드 포털을 통해 구현하고자 한다.At this time, workload management and self-healing due to the work of high-performance computing infrastructure are implemented in a multi-cluster method using Kubernetes, and images for various versions are developed and managed using Docker Hub to resolve software dependencies. The goal is to connect message communication between these heterogeneous platforms through Kafka, a distributed event streaming solution, and improve user convenience through a cloud portal.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 따르면, 본 발명은 신약 개발 후보 물질 발굴을 위한 거대규모 워크플로우를 위한 분산 및 병렬처리 가능한 클라우드 플랫폼 서비스에 있어서, 회원의 정보 및 프로젝트를 관리하는 단계와; 클라우드 워크플로우 매니저에서, 신약 개발 후보 물질 발굴을 분석하는 단계와; 분석된 결과들을 시각화하는 단계와; 메시지 브로커를 통해 포털 서비스, 클라우드 워크플로우 관리자, 클라우드 관리자, 리포트 관리자 간의 기능들을 원격 또는 내부 제어하는 단계; 그리고 클러스터의 오류 상황에 자동화하여 대처하는 단계;를 포함하여 수행된다.According to the characteristics of the present invention for achieving the above-mentioned object, the present invention manages member information and projects in a cloud platform service capable of distributed and parallel processing for a large-scale workflow for discovering new drug development candidates. steps and; In the cloud workflow manager, analyzing the discovery of new drug development candidates; Visualizing the analyzed results; Remotely or internally controlling functions between the portal service, cloud workflow manager, cloud manager, and report manager through a message broker; And it is performed including the step of automatically responding to error situations in the cluster.
이때, 상기 클라우드 플랫폼 서비스는 포털 형태로 제공되는 웹 서비스 어플리케이션으로 제공되되, 상기 회원정보의 관리는, 회원의 가입 및 로그인 서비스를 포함하고; 상기 프로젝트 관리는, 분석 서비스에 대한 가격(과금), 가격(과금)에 대한 중간 저장 및 문서화 기능에 대한 관리; 프로젝트의 등록, 서비스 신청, 서비스 실행 및 프로젝트 진행 상황 모니터링 기능에 대한 관리; 그리고 분석 결과 리포트 서비스에 대한 관리;를 포함하여 구성될 수 있다.At this time, the cloud platform service is provided as a web service application provided in the form of a portal, and the management of the member information includes member registration and login services; The project management includes managing the price (charge) for the analysis service, intermediate storage and documentation functions for the price (charge); Management of project registration, service application, service execution and project progress monitoring functions; And it may be configured to include management of the analysis result report service.
그리고 신약 개발 후보 물질 발굴 분석은, 딥러닝 방식의 신약 개발 후보 물질 발굴을 위한 단계별 필요한 프로그램 및 모수(Parameter)들의 토대가 되는 정보들을 저장하고 있는 템플릿; 각 분석 단계별로 사용하는 최적의 컴퓨터 자원량을 할당하는 템플릿; 각 분석 단계별로, 고성능 컴퓨팅 자원에 병렬적으로 할당하는 템플릿; 분석된 정보들의 시각화가 가능하도록 하는 템플릿; 분석된 다량의 중간 저장물 및 최종 저장물에 대한 백업을 위한 템플릿; 및 각각의 템플릿을 실행을 위하여 클러스터에 연결시켜, 템플릿을 관리하는 관리자 유닛에 의해 실행될 수도 있다.In addition, the analysis for discovering new drug development candidates includes a template that stores the information that forms the basis of the programs and parameters required for each step for discovering new drug development candidates using deep learning; A template that allocates the optimal amount of computer resources to be used for each analysis step; For each analysis step, a template is allocated to high-performance computing resources in parallel; Templates that enable visualization of analyzed information; Templates for backup of analyzed large quantities of intermediate and final stocks; And it may be executed by an administrator unit that manages the template by connecting each template to a cluster for execution.
또한, 상기 신약 개발 후보 물질 발굴 분석은, (Ⅰ) 화합물 데이터베이스로부터 화합물의 물리, 화학 및 토폴로지(topology) 정보에 후보 화합물을 1차 선별(선행 스크리닝)하는 DMC-PRE 단계와; (Ⅱ) 1차 선별된 후보 화합물들을 인공지능 알고리듬을 통해 학습된 툴(Enva)을 이용하여 2차 선별(심층 스크리닝)하는 DMC-SCR 단계; 그리고 (Ⅲ) 분자동역학적 분자-모션 시뮬레이션을 통해 2차 선별된 화합물을 검증하는 DMC-MD 단계;를 포함하여 수행될 수도 있다.In addition, the new drug development candidate discovery analysis includes (I) a DMC-PRE step of first screening (pre-screening) candidate compounds based on the physical, chemical, and topology information of the compounds from the compound database; (Ⅱ) DMC-SCR step of secondary selection (deep screening) of the primary selected candidate compounds using a tool (Enva) learned through an artificial intelligence algorithm; And (Ⅲ) a DMC-MD step of verifying the secondary selected compounds through molecular dynamics molecular-motion simulation.
그리고 상기 DMC-PRE 단계는, (Ⅰ-1) 대규모 화합물 데이터 기반의 구조 및 화학적 특성 계산을 통하여 화합물 구조들을 선별하여 데이터베이스화하는 단계와; (Ⅰ-2) 단백질 데이터 뱅크(PDB)를 통해 구축된 데이터베이스(R-group) 정보와 상기 (Ⅰ-1) 단계로부터 선별된 화합물 구조들 간의 결합 가능성 및 적합도를 산출하여 화합물 구조들을 선별하는 단계와; (Ⅰ-3) 분자결합 알고리즘(molecular docking with deep learning)을 통해 가상 공간의 단백질과 화합물의 결합을 분석하여, 단백질 구조의 사전 정의된 결합 위치에 화합물을 결합하여 해당 결합 환경을 분석하는 단계와; (Ⅰ-4) 상기 (Ⅰ-3) 단계의 분석결과를 통해 상기 (Ⅰ-2) 단계에서 선별된 화합물 구조로부터, 후보 화합물을 1차 선별하는 단계;를 포함하여 수행될 수도 있다.And the DMC-PRE step includes (Ⅰ-1) selecting compound structures and creating a database through structure and chemical property calculations based on large-scale compound data; (Ⅰ-2) Selecting compound structures by calculating the binding possibility and compatibility between the database (R-group) information established through the protein data bank (PDB) and the compound structures selected from step (Ⅰ-1). and; (Ⅰ-3) Analyzing the binding of proteins and compounds in virtual space through a molecular docking algorithm (molecular docking with deep learning), binding the compound to a predefined binding site in the protein structure and analyzing the binding environment; ; (Ⅰ-4) may be performed including the step of first screening candidate compounds from the structure of the compound selected in step (I-2) through the analysis results of step (I-3).
또한, 상기 DMC-SCR 단계는, (Ⅱ-1) 상기 DMC-PRE 단계에서 1차 선별된 화합물을 대상으로, 대상 단백질과의 결합을 분석하여 결합 정보를 산출하는 단계와; (Ⅱ-2) 상기 (Ⅱ-1) 단계에서 결합된 구조를 이용해 결합된 화합물의 위치 정보를 변경한 단백질-화합물 결합 구조 파일을 생성하는 단계와; (Ⅱ-3) 상기 (Ⅱ-2) 단계에서 생성된 각각의 단백질-화합물 결합 정보들을 저장하여 각 단백질-화합물 간의 결합구조에 대한 적합성을 산출하는 단계와; (Ⅱ-4) 상기 (Ⅱ-3) 단계에서 산출된 적합성에 따라 기 설정된 개수의 단백질-화합물 구조의 결합력을 산출하는 단계와; (Ⅱ-5) 상기 (Ⅱ-4) 단계의 단백질- 화합물 결합에 필요한 단백질 내의 핵심 잔기에 대해서 결합력을 산출하는 단계와; (Ⅱ-6) 상기 (Ⅱ-4) 단계의 단백질- 화합물 결합 구조에 대해서, 예측 모델을 통해 화합물 별로 결합 점수에 따라 상위 단백질-화합물 결합 정보를 산출하는 단계; 그리고 (Ⅱ-7) 상기 (Ⅱ-6) 단계로부터 산출된 단백질-화합물 간의 결합 안정성에 대한 점수를 산출하여 후보 화합물을 2차 선별하는 단계;를 포함하여 수행될 수도 있다.In addition, the DMC-SCR step includes (II-1) calculating binding information by analyzing the binding of the compound initially selected in the DMC-PRE step to the target protein; (Ⅱ-2) generating a protein-compound binding structure file in which the positional information of the bound compound is changed using the structure bound in step (Ⅱ-1); (Ⅱ-3) storing each protein-compound binding information generated in step (Ⅱ-2) and calculating the suitability of the binding structure between each protein-compound; (Ⅱ-4) calculating the binding force of a preset number of protein-compound structures according to the compatibility calculated in step (Ⅱ-3); (Ⅱ-5) calculating the binding force for key residues in the protein required for protein-compound binding in step (Ⅱ-4); (Ⅱ-6) For the protein-compound binding structure of step (Ⅱ-4), calculating top protein-compound binding information according to the binding score for each compound through a prediction model; And (Ⅱ-7) the step of secondary screening of candidate compounds by calculating the score for the protein-compound binding stability calculated from step (Ⅱ-6) above.
그리고 상기 (Ⅱ-1) 단계 및 (Ⅱ-2) 단계는, 특정 화합물 구조로 인한 연산 시간의 지연을 방지하기 위하여, 단계별 최대 작업 시간이 설정될 수도 있다.In addition, in steps (II-1) and (II-2), the maximum work time for each step may be set to prevent delays in calculation time due to the structure of a specific compound.
또한, 상기 (Ⅱ-3) 단계는, 각각의 단백질-화합물 결합 정보들의 저장은 메모리 버퍼를 통해 수행될 수도 있다.Additionally, in step (II-3), each protein-compound binding information may be stored through a memory buffer.
그리고 상기 DMC-MD 단계는, (Ⅲ-1) 2차 선별된 화합물들을 단백질 구조에 결합하여, 분자 동역학 시뮬레이션 프로그램(molecular dynamic simulation)을 이용하여 가상공간에서 활동하는 단백질과 화합물이 결합된 구조를 최적화하는 단계와; (Ⅲ-2) 기 설정된 시간 간격으로 해당 단백질-화합물 결합 구조의 결합 정보와 구조적 특성을 분석하여 안정화된 최적 결합 형태를 산출하는 단계; 그리고 (Ⅲ-3) 상기 (Ⅲ-2) 단계의 시뮬레이션 결과에 따른 최적 단백질-화합물 결합 구조와 해당 단백질의 공지된 최적 결합 환경을 대비하여 목표 단백질과 최적의 결합 형태를 가진 화합물을 선별하여 최종 후보 화합물을 검증하는 단계;를 포함하여 수행될 수도 있다.In the DMC-MD step, (III-1) the secondary selected compounds are combined with the protein structure to create a structure in which proteins and compounds active in virtual space are combined using a molecular dynamic simulation program. optimizing steps; (III-2) analyzing the binding information and structural characteristics of the protein-compound binding structure at preset time intervals to calculate a stabilized optimal binding form; And (Ⅲ-3) comparing the optimal protein-compound binding structure according to the simulation results of step (Ⅲ-2) above and the known optimal binding environment of the corresponding protein, compounds with the optimal binding form with the target protein are selected, and the final It may also be performed including a step of verifying a candidate compound.
한편, 신약 개발 후보 물질 발굴에 대한 상기 분석된 결과물들의 시각화는, 분석 정보를 시각화를 위한 형태로 저장하는 데이터베이스와; 분석 정보를 문서화하기 위한 사용자의 요구 사항을 저장하는 데이터베이스와; 데이터베이스에 저장된 정보들의 시각화 및 문서화를 위한 레스트(REST) 형식의 어플리케이션 프로그래밍 인터페이스(API)와; 분석된 신약 개발 후보 물질들을 웹상에서 분석된 정보 및 단백질과 화합물 간의 결합구조를 시각화 하고 분석한 정보들을 문서화하는 웹 유저 인터페이스; 그리고 웹 어플리케이션의 실행하는 서버 및 연결 포트들을 레스트(REST) 형식으로 관리할 수 잇는 어플리케이션 프로그래밍 인터페이스;에 의해 실행될 수도 있다.Meanwhile, the visualization of the analyzed results for the discovery of new drug development candidates includes a database that stores the analysis information in a form for visualization; a database storing user requirements for documenting analysis information; An application programming interface (API) in REST format for visualizing and documenting information stored in the database; A web user interface that visualizes and documents the analyzed information on the analyzed new drug development candidates on the web and the binding structure between proteins and compounds; It can also be executed by an application programming interface that can manage servers running web applications and connection ports in REST format.
그리고 메시지 브로커를 통한 내부 제어는, 프로젝트 실행 정보를 전달해주는 메시지 브로커 및 데몬 서비스와; 클러스터의 상황 파악을 위한 정보를 주고받는 메시지 브로커 서비스와; 프로젝트의 실행 상황을 확인하기 위한 메시지 브로커 서비스와; 분석이 완료된 데이터를 데이터베이스로 이전시키는 메시지 브로커 서비스와; 데이터베이스에 저장된 분석 데이터 기반, 리포트 시스템을 구동하기 위한 메시지 브로커 및 데몬 서비스와; 리포트 생성 완료된 상태를 포털로 전달하기 위한 메시지 브로커 서비스; 그리고 클러스터를 구성하는 서버의 자원 사용량을 포털로 전달하는 메시지 브로커 서비스;를 포함할 수도 있다.And internal control through the message broker includes message broker and daemon services that deliver project execution information; A message broker service that exchanges information to understand the situation of the cluster; a message broker service to check the execution status of the project; a message broker service that transfers the analyzed data to a database; message broker and daemon services to run a report system based on analysis data stored in a database; Message broker service to deliver the report creation completed status to the portal; It may also include a message broker service that delivers the resource usage of the servers that make up the cluster to the portal.
또한, 클러스터의 오류 상황 대처는, 대체 처리 서버의 구성을 통한 세션 부한 분산 및 서버 메시지 처리의 고가용성 확보하고; 다중 마스터 서버를 구성하여 서비스 안정성을 확보하며; 쿠버네티스 장비의 상태 모니터링 및 노드 라벨링 기능을 통한 자동 노드 관리를 포함하는 것일 수 있다.In addition, to cope with cluster error situations, session load distribution and server message processing are secured through configuration of alternative processing servers; Ensure service stability by configuring multiple master servers; This may include automatic node management through Kubernetes equipment health monitoring and node labeling functions.
한편, 본 발명은 전술한 바와 같은, 신약 개발 후보 물질 발굴을 위한 거대규모 워크플로우를 위한 분산 및 병렬처리 가능한 클라우드 플랫폼 서비스를 웹 서비스로 실행시키기 위한 클라우드 플랫폼을 포함한다.Meanwhile, the present invention includes a cloud platform for executing distributed and parallel processing-capable cloud platform services as web services for large-scale workflow for discovering drug development candidates, as described above.
위에서 살핀 바와 같은 본 발명에 의한 DMC-PRE, DMC-SCR 및 DMC-MD의 거대 규모 워크플로우를 위한 분산 및 병렬처리 가능한 클라우드 플랫폼 및 서비스 방법에서는 다음과 같은 효과를 기대할 수 있다. The following effects can be expected from the cloud platform and service method capable of distributed and parallel processing for large-scale workflows of DMC-PRE, DMC-SCR, and DMC-MD according to the present invention as seen above.
즉, 본 발명에서는 거대규모 화합물을 대상으로 탐색 및 물리학 이론에 입각한 결합력 예측으로 새로운 물질 발굴 가능성을 높일 수 있다.In other words, the present invention can increase the possibility of discovering new substances by searching for large-scale compounds and predicting binding force based on physics theory.
또한, 본 발명에서는 수십억의 화합물 개수를 실행하는 워크플로우를 위한 클라우드 환경에서의 분산 및 병렬처리 방법론을 적용함으로 고성능 컴퓨팅 자원을 효율적으로 활용하는 방법론을 제공함으로 바이오 분야에서 고성능 컴퓨팅 클라우드 기술을 접목할 수 있게 되는 효과가 있다.In addition, the present invention provides a methodology for efficiently utilizing high-performance computing resources by applying distributed and parallel processing methodologies in a cloud environment for workflows executing billions of compounds, thereby enabling the application of high-performance computing cloud technology in the bio field. There is an effect that makes it possible.
그리고 본 발명에서는 예측 정확도를 크게 향상한 플랫폼을 위한 클라우드 서비스 방법론을 정의함으로 신약개발 분야에서 사용자의 서비스의 편의성을 향상시킬 수 있는 효과가 있다.In addition, the present invention has the effect of improving user convenience of services in the field of new drug development by defining a cloud service methodology for a platform with greatly improved prediction accuracy.
도 1은 본 발명에 의한 DMC-PRE, DMC-SCR, DMC-MD를 위한 클라우드 서비스 흐름도. Figure 1 is a cloud service flow chart for DMC-PRE, DMC-SCR, and DMC-MD according to the present invention.
도 2는 본 발명에 의한 DMC-PRE, DMC-SCR, DMC-MD를 위한 클라우드 플랫폼 구성도. Figure 2 is a cloud platform configuration diagram for DMC-PRE, DMC-SCR, and DMC-MD according to the present invention.
도 3는 본 발명에 의한 멀티 클러스터 기반 클라우드 시스템 구성도임. Figure 3 is a configuration diagram of a multi-cluster-based cloud system according to the present invention.
도 4은 본 발명에 의한 AMQP 미들웨어 구성 환경에 대한 예시도. Figure 4 is an exemplary diagram of the AMQP middleware configuration environment according to the present invention.
도 5는 본 발명에 의한 카프카와 RabbitMQ에 대한 성능 비교 예시도.Figure 5 is an example performance comparison of Kafka and RabbitMQ according to the present invention.
도 6은 본 발명에 의한 카프카 구성 환경 예시도.Figure 6 is an exemplary Kafka configuration environment according to the present invention.
도 7은 본 발명에 의한 카프카 내부 구조도. Figure 7 is a diagram of the internal structure of Kafka according to the present invention.
도 8은 본 발명에 의한 카프카의 분산 및 병렬 구조도. Figure 8 is a distributed and parallel structure diagram of Kafka according to the present invention.
도 9는 본 발명에 의한 분산 메시지 구조도. Figure 9 is a distributed message structure diagram according to the present invention.
도 10은 본 발명에 의한 메시지 배치 처리 구조도. Figure 10 is a message batch processing structure diagram according to the present invention.
도 11는 본 발명에 의한 포털 서비스 흐름도.Figure 11 is a portal service flow chart according to the present invention.
도 12는 본 발명에 의한 프로젝트 계산 노드 및 스토리지 할당 모식도. Figure 12 is a schematic diagram of project calculation nodes and storage allocation according to the present invention.
도 13은 본 발명에 의한 DMC-PRE, DMC-SCR, DMC-MD를 위한 파이프라인 자동화 방법의 예시도.Figure 13 is an exemplary diagram of a pipeline automation method for DMC-PRE, DMC-SCR, and DMC-MD according to the present invention.
도 14는 본 발명에 의한 DMC-PRE의 PHscan 파이프라인의 예시도.Figure 14 is an exemplary diagram of the PHscan pipeline of DMC-PRE according to the present invention.
도 15는 본 발명에 의한 DMC-PRE의 GAP0 파이프라인의 예시도.Figure 15 is an exemplary diagram of the GAP0 pipeline of DMC-PRE according to the present invention.
도 16는 본 발명에 의한 DMC-PRE의 G1 파이프라인의 예시도.Figure 16 is an exemplary diagram of the G1 pipeline of DMC-PRE according to the present invention.
도 17은 본 발명에 의한 DMC-SCR의 파이프라인의 예시도. Figure 17 is an exemplary diagram of a DMC-SCR pipeline according to the present invention.
도 18은 본 발명에 의한 DMC-MD의 파이프라인의 예시도. 18 is an exemplary diagram of a DMC-MD pipeline according to the present invention.
도 19는 본 발명에 의한 DMC-PRE의 PHscan 클라우드 분산 및 병렬처리 구조.Figure 19 shows the PHscan cloud distribution and parallel processing structure of DMC-PRE according to the present invention.
도 20은 본 발명에 의한 DMC-PRE의 GAP0 클라우드 분산 및 병렬처리 구조.Figure 20 shows the GAP0 cloud distribution and parallel processing structure of DMC-PRE according to the present invention.
도 21은 본 발명에 의한 DMC-PRE의 G1 클라우드 분산 및 병렬처리 구조.Figure 21 shows the G1 cloud distribution and parallel processing structure of DMC-PRE according to the present invention.
도 22는 본 발명에 의한 DMC-SCR의 클라우드 분산 및 병렬처리 구조.Figure 22 is a cloud distribution and parallel processing structure of DMC-SCR according to the present invention.
도 23은 본 발명에 의한 DMC-MD의 클라우드 분산 및 병렬처리 구조.Figure 23 is a cloud distribution and parallel processing structure of DMC-MD according to the present invention.
도 24는 본 발명에 의한 리포트 생성 단계 순서도. Figure 24 is a flow chart of report generation steps according to the present invention.
도 25는 본 발명에 의한 프로젝트 결과물 백업 순서도. Figure 25 is a flowchart of project result backup according to the present invention.
이와 같은 목적을 달성하기 위하여, 본 발명은 신약 개발 후보 물질 발굴을 위한 거대규모 워크플로우를 위한 분산 및 병렬처리 가능한 클라우드 플랫폼 서비스에 있어서, 회원의 정보 및 프로젝트를 관리하는 단계와; 클라우드 워크플로우 매니저에서, 신약 개발 후보 물질 발굴을 분석하는 단계와; 분석된 결과들을 시각화하는 단계와; 메시지 브로커를 통해 포털 서비스, 클라우드 워크플로우 관리자, 클라우드 관리자, 리포트 관리자 간의 기능들을 원격 또는 내부 제어하는 단계; 그리고 클러스터의 오류 상황에 자동화하여 대처하는 단계;를 포함하여 수행괴고, 상기 클라우드 플랫폼 서비스는, 포털 형태로 제공되는 웹 서비스 어플리케이션으로 제공되되, 상기 회원정보의 관리는, 회원의 가입 및 로그인 서비스를 포함하고; 상기 프로젝트 관리는, 분석 서비스에 대한 가격(과금), 가격(과금)에 대한 중간 저장 및 문서화 기능에 대한 관리; 프로젝트의 등록, 서비스 신청, 서비스 실행 및 프로젝트 진행 상황 모니터링 기능에 대한 관리; 그리고 분석 결과 리포트 서비스에 대한 관리;를 포함하여 구성되며: 신약 개발 후보 물질 발굴 분석은, 딥러닝 방식의 신약 개발 후보 물질 발굴을 위한 단계별 필요한 프로그램 및 모수(Parameter)들의 토대가 되는 정보들을 저장하고 있는 템플릿; 각 분석 단계별로 사용하는 최적의 컴퓨터 자원량을 할당하는 템플릿; 각 분석 단계별로, 고성능 컴퓨팅 자원에 병렬적으로 할당하는 템플릿; 분석된 정보들의 시각화가 가능하도록 하는 템플릿; 분석된 다량의 중간 저장물 및 최종 저장물에 대한 백업을 위한 템플릿; 및 각각의 템플릿을 실행을 위하여 클러스터에 연결시켜, 템플릿을 관리하는 관리자 유닛에 의해 실행된다.In order to achieve this purpose, the present invention provides a cloud platform service capable of distributed and parallel processing for a large-scale workflow for discovering new drug development candidates, comprising the steps of managing member information and projects; In the cloud workflow manager, analyzing the discovery of new drug development candidates; Visualizing the analyzed results; Remotely or internally controlling functions between the portal service, cloud workflow manager, cloud manager, and report manager through a message broker; and automatically responding to cluster error situations. The cloud platform service is provided as a web service application provided in the form of a portal, and the management of the member information is performed through member registration and login services. Contains; The project management includes managing the price (charge) for the analysis service, intermediate storage and documentation functions for the price (charge); Management of project registration, service application, service execution and project progress monitoring functions; And it consists of management of analysis result report service; The discovery analysis of new drug development candidates stores the information that forms the basis of the programs and parameters required for each step to discover new drug development candidates using deep learning. template; A template that allocates the optimal amount of computer resources to be used for each analysis step; For each analysis step, a template is allocated to high-performance computing resources in parallel; Templates that enable visualization of analyzed information; Templates for backup of analyzed large quantities of intermediate and final stocks; and is executed by an administrator unit that manages the templates by connecting each template to a cluster for execution.
이때, 상기 신약 개발 후보 물질 발굴 분석은, (Ⅰ) 화합물 데이터베이스로부터 화합물의 물리, 화학 및 토폴로지(topology) 정보에 후보 화합물을 1차 선별(선행 스크리닝)하는 DMC-PRE 단계와; (Ⅱ) 1차 선별된 후보 화합물들을 인공지능 알고리듬을 통해 학습된 툴(Enva)을 이용하여 2차 선별(심층 스크리닝)하는 DMC-SCR 단계; 그리고 (Ⅲ) 분자동역학적 분자-모션 시뮬레이션을 통해 2차 선별된 화합물을 검증하는 DMC-MD 단계;를 포함하여 수행될 수 있다.At this time, the new drug development candidate discovery analysis includes (I) a DMC-PRE step of first screening (pre-screening) candidate compounds based on the physical, chemical, and topology information of the compounds from the compound database; (Ⅱ) DMC-SCR step of secondary selection (deep screening) of the primary selected candidate compounds using a tool (Enva) learned through an artificial intelligence algorithm; And (Ⅲ) a DMC-MD step of verifying the secondary selected compounds through molecular dynamics molecular-motion simulation.
이하에서는 첨부된 도면을 참조하여 본 발명의 구체적인 실시예에 의한 클라우드 플랫폼 및 서비스 방법을 살펴보기로 한다.Hereinafter, we will look at the cloud platform and service method according to a specific embodiment of the present invention with reference to the attached drawings.
설명에 앞서 먼저, 본 발명의 효과, 특징 및 이를 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예에서 명확해진다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Prior to the description, the effects, features, and methods of achieving the present invention will become clear in the examples described in detail below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the disclosure of the present invention is complete and to provide common knowledge in the technical field to which the present invention pertains. It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이며, 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present invention, if it is judged that a detailed description of a known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description will be omitted, and the terms described below will be used in the embodiments of the present invention. These are terms defined in consideration of the function of and may vary depending on the intention or custom of the user or operator. Therefore, the definition should be made based on the contents throughout this specification.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.The combination of each block in the attached block diagram and each step in the flow chart may be performed by computer program instructions (execution engine), and these computer program instructions can be installed on a processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment. Since it can be mounted, the instructions executed through a processor of a computer or other programmable data processing equipment create a means of performing the functions described in each block of the block diagram or each step of the flow diagram.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.These computer program instructions may also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular manner, so that the computer-usable or computer-readable memory The instructions stored in can also produce manufactured items containing instruction means that perform the functions described in each block of the block diagram or each step of the flow diagram.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성하여 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.In addition, computer program instructions can also be mounted on a computer or other programmable data processing equipment, so a series of operation steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer and runs on the computer or other program. Instructions that perform possible data processing equipment may also provide steps for executing functions described in each block of the block diagram and each step of the flow diagram.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능하다.Additionally, each block or each step may represent a module, segment, or portion of code containing one or more executable instructions for executing specified logical functions, and in some alternative embodiments, the blocks or steps referred to in the blocks or steps may represent a portion of code. It is also possible for functions to occur out of order.
즉, 도시된 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.In other words, it is possible for the two blocks or steps shown to be performed substantially simultaneously, and it is also possible for the blocks or steps to be performed in reverse order of the corresponding functions as needed.
본 발명은 도 1에 도시된 바와 같이, (A) 사용자의 클라우드 환경에서의 프로젝트 등록 및 신청 단계 (B) 관리자의 프로젝트 승인 및 자원 할당해주는 단계 (C) DMC-PRE, DMC-SCR 및 DMC-MD를 위한 파이프라인 자동 실행 단계 (D) 리포트 생성 단계 (E) 사용자의 요청에 의한 데이터 백업 템플릿 실행 단계를 포함하여 수행된다.As shown in Figure 1, the present invention includes (A) the project registration and application stage in the user's cloud environment (B) the manager's project approval and resource allocation stage (C) DMC-PRE, DMC-SCR, and DMC- It is performed including the automatic pipeline execution stage for MD (D) report generation stage (E) and the data backup template execution stage at the user's request.
이때, (A)단계에서 처음 계정을 생성했을 때, 게스트 사용자로 권한을 부여받아 과금 페이지만을 이용하도록 할 수 있다. 또한, 해당 페이지에서는 클라우드 서비스 이용에 대한 과금 정보의 확인 및 문서를 다운로드 받을 수 있고, 정식 사용자 계약이 인증된 일반사용자는 플랫폼의 자유로운 사용이 가능하다. At this time, when you first create an account in step (A), you can be granted permission as a guest user and use only the billing page. In addition, on this page, you can check billing information and download documents for the use of cloud services, and general users with a certified official user agreement can freely use the platform.
사용자의 플랫폼 사용상태를 살피면, 프로젝트 생성을 위한 페이지에서 간단한 제목과 내용을 입력한 뒤 사용할 플랫폼을 선택하면 프로젝트를 등록할 수 있다. 관리자는 해당 프로젝트가 계약된 건인지 확인 후 프로젝트의 사용 승인을 진행하며, 사용자는 분석을 진행하기 위한 파이프라인의 파라미터(parameter)를 웹에서 입력하게 된다. 해당 프로젝트를 실행하기 위한 웹 사이트의 디자인 목적은 클라우드 환경에 익숙하지 않은 사용자들을 위해 웹사이트에서 분석을 쉽게 할 수 있도록 한다.If you look at the user's platform usage status, you can register a project by entering a simple title and content on the project creation page and then selecting the platform to use. The administrator confirms whether the project has been contracted and then approves the use of the project, and the user enters the pipeline parameters to proceed with the analysis on the web. The purpose of designing the website to run the project is to make analysis easy on the website for users who are not familiar with the cloud environment.
기존의 클라우드 환경을 제공하는 웹 사이트의 경우, 자신의 분석하는 목적에 맞는 사용하는 자원의 종류 수량 그리고 워크플로우를 자신이 작성 및 선정한 이후 분석을 실행해야 하지만, 본 발명의한 클라우드 환경은 미리 정해져 있는 서비스에 대해서 간단한 파라미터만을 활용해서 사용이 가능해진다.In the case of a website that provides an existing cloud environment, the analysis must be performed after creating and selecting the type and quantity of resources used and the workflow suitable for the purpose of analysis, but the cloud environment of the present invention is predetermined. It is possible to use existing services using only simple parameters.
한편, 분석이 시작되면 프로젝트 페이지에서 프로젝트에 대한 진행상태 및 상세 진행단계를 체크할 수 있고, 완료되었을 때 리포트 페이지로 이동 이후 분석된 데이터를 다양한 시각적 자료의 형태로 확인할 수 있는 웹 어플리케이션 및 다양한 형식의 문서화된 분석 자료를 다운로드 받을 수 있다. Meanwhile, when analysis begins, you can check the progress status and detailed progress steps for the project on the project page, and when completed, move to the report page and check the analyzed data in the form of various visual materials and various formats. You can download the documented analysis data.
그리고 (B) 단계에서는 사용자가 등록한 프로젝트의 플랫폼의 종류에 따라서 프로젝트에 필요한 장비를 승인한다. 사용자가 요청한 프로젝트에 포함된 파이프라인을 실행하기 위한 자원 요청이 포함되어 있으며 요청사항에 적정한 자원의 수량과 작업 스토리지를 지정하고 워크플로우 단계별로 최적의 자원을 활용하여 수행될 수 있도록 하기 위하여 동적인 CPU, GPU, 스토리지 자원의 관리 기능이 필요한데, 본 발명에서는 이를 위해서 아르고의 워크플로우 관리 기능과 쿠버네티스의 어플리케이션 배포 기능 및 컨테이너 오케스트레이션 (container orchestration) 기능을 적용한다.And in step (B), the equipment needed for the project is approved according to the type of platform of the project registered by the user. It includes a resource request to execute the pipeline included in the project requested by the user, and specifies the appropriate quantity of resources and work storage for the request, and dynamically processes the workflow to ensure that it can be performed using optimal resources at each stage. Management functions for CPU, GPU, and storage resources are required, and for this purpose, the present invention applies Argo's workflow management function, Kubernetes' application distribution function, and container orchestration function.
그리고 신약개발 후보 물질 발굴을 위한 (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)의 입력 데이터로 전달된다.And the (C) stage for discovering candidate substances for new drug development can be divided into (C-1) DMC-PRE, (C-2) DMC-SCR, and (C-3) DMC-MD stages, and (C-1) stage proceeds in the following order to select compound structures suitable for candidate substances from a database consisting of hundreds of millions of compounds built in the company. The (C-1-1) step selects approximately 1 million compound structures through structure and chemical property calculations based on large-scale compound data using the PHscan algorithm. The (C-1-2) step uses the GAP0 algorithm to calculate the binding possibility and compatibility between the R-group database information built in the company and the compound structures selected from the (C-1-1) step, and then calculates 100,000 Select compound structures. Step (C-1-3) utilizes the G1 docking program (binds proteins and compounds in virtual space and performs analysis) to bind compounds to predefined binding sites in the protein structure and analyze their binding environment. It provides one result, and in the final (C-1-4) detailed step, 1,000 of the best compound structures are selected from the analysis results. As a result, 1,000 candidate substances are selected from a large database of hundreds of millions of compounds through the DMC-PRE step, and the candidate substances are passed on as input data for the next step (C-2).
한편, (C-2) DMC-SCR 단계는 총 7단계로 나뉜다. Meanwhile, the (C-2) DMC-SCR stage is divided into a total of 7 stages.
(C-2-1) 단계에서, Docking 은 DMC-PRE 단계에서 분석된 ZINC 화합물(ligand) 1000개를 대상으로 대상 단백질에 결합하는 작업을 지칭하며, 대상 단백질과 한 개의 화합물 간의 결합 분석을 다중으로 진행하여 결합 정보를 계산한다. 또한 특정 화합물 구조로 인해 시간이 지연되는 점을 감안하여 해당 단계 최대 작업 시간을 설정해서, 예외 사항에 대한 변수를 차단한다.In the (C-2-1) step, docking refers to the task of binding 1,000 ZINC compounds (ligands) analyzed in the DMC-PRE step to the target protein, and the binding analysis between the target protein and one compound is performed in multiple ways. Proceed to calculate the combination information. In addition, considering the time delay due to the structure of a specific compound, the maximum work time for that step is set and variables for exceptions are blocked.
(C-2-2) 단계는 C-2-1 단계에서 결합된 구조를 이용해 결합된 화합물의 위치 정보를 변경한 단백질-화합물 결합 구조 파일을 만들어낸다. 이 또한 C-2-1과 마찬가지로 화합물 구조로 인하여 실행 시간이 지연되는 점을 감안하여 해당 단계의 최대 실행 시간이 설정된다.The (C-2-2) step uses the structure combined in step C-2-1 to create a protein-compound binding structure file with the positional information of the bound compound changed. In this case, as with C-2-1, the maximum execution time of the step is set considering that the execution time is delayed due to the compound structure.
(C-2-3) 단계는 (C-2-2) 단계에서 생성된 다양한 단백질-화합물 결합 정보들을 한 곳으로 모아 각 단백질-화합물 간의 결합구조에 대한 적합성을 계산을 하는데, 해당 과정에 모든 파일들은 크기가 작아 한 곳으로 모으는데 지연되는 문제점이 있었다. 해당 과정을 메모리 버퍼를 활용하여 파일 복사 시간을 기존에 비해 30% 이상 개선된다.The (C-2-3) step gathers the various protein-compound binding information generated in the (C-2-2) step into one place to calculate the suitability of the binding structure between each protein and compound. The files were small in size, so there was a problem with delay in collecting them in one place. By using a memory buffer in this process, the file copy time is improved by more than 30% compared to before.
(C-2-4) 단계에서는 (C-2-3) 단계에서 적합한 단백질-화합물 상위 2천개의 화합물 구조의 결합력을 계산하는 (ENVA) 작업을 진행한다. In the (C-2-4) step, an (ENVA) operation is performed to calculate the binding force of the top 2,000 compound structures suitable for the protein-compound in the (C-2-3) step.
(C-2-5) 단계에서는 단백질과 화합물에 결합에 필요한 단백질 내의 핵심 잔기에 대해서 계산하게 되며, (C-2-6) 단계는 단백질-화합물 간의 결합 구조에 대해서, 사전에 생성된 예측 모델을 적용하여 화합물 마다 결합 점수가 좋은 상위 1개 단백질-화합물 결합 정보를 선정한다. In the (C-2-5) step, the key residues in the protein required for binding to the protein and compound are calculated, and in the (C-2-6) step, a pre-generated prediction model is used for the binding structure between the protein and the compound. is applied to select the top one protein-compound binding information with a good binding score for each compound.
(C-2-7) 단계는 (C-2-6 단계)에서 나온 1000개의 단백질-화합물 간의 결합 안정성에 대한 점수를 계산 한 이후에, 상위 1개를 추출하여 (C-3)의 입력 정보로 제공된다.Step (C-2-7) calculates the score for the binding stability between 1000 protein-compounds from step (C-2-6), extracts the top one, and inputs the input information of (C-3). It is provided as.
(C-3) 단계에서는 1천개의 후보 물질들을 다시 단백질 구조에 결합하여, 분자 동역학 시뮬레이션 프로그램 (molecular dynamic simulation)인 AMBER를 활용하여 가상의 시공간에서 활동하는 단백질과 화합물이 결합된 구조를 최적화하는 작업을 수행한다. 해당 시뮬레이션에 사용되는 단백질-화합물 결합 구조는 시간의 흐름에 따라 원자 단위의 결합 정도에 변화가 생기고, 해당 결합에 수많은 원자들이 영향을 받기 때문에 단백체의 전체적인 모양에도 변화가 생긴다. In the (C-3) stage, 1,000 candidate substances are combined back into the protein structure, and AMBER, a molecular dynamic simulation program, is used to optimize the structure of proteins and compounds active in virtual space and time. Do the work. The protein-compound bonding structure used in the simulation changes the degree of atomic bonding over time, and because numerous atoms are affected by the bond, the overall shape of the protein also changes.
따라서, 일정 시간 간격으로 해당 단백질-화합물 결합 구조의 결합 정보와 구조적 특성을 분석하여 해당 구조가 가질 수 있는 가장 안정적인 형태로 모양을 잡아가게 된다. Therefore, the binding information and structural characteristics of the protein-compound binding structure are analyzed at regular time intervals to shape the structure into the most stable form it can have.
시뮬레이션 이후, 최적화된 단백질-화합물 결합 구조와 단백질이 원래 갖고 있는 실험적으로 알려진 최적의 결합 환경 간의 비교를 통해서 목표 단백질과 최적의 결합 형태를 가진 화합물에 대해서 수십-수백개를 선별하며, 해당 정보를 최종 후보 물질로 판단한다. 마지막으로, 최종 선별된 후보 물질들에 대한 분석 결과를 사용자에게 리포트 형태로 제공하기 위한 추가적인 후처리 작업이 진행된다.After simulation, tens to hundreds of compounds with the optimal binding form for the target protein are selected through comparison between the optimized protein-compound binding structure and the experimentally known optimal binding environment of the protein, and the corresponding information is collected. It is judged as the final candidate material. Finally, additional post-processing work is performed to provide the analysis results of the final selected candidate substances to the user in the form of a report.
앞서 서술한 (C)단계로 이루어진 신약개발 후보 물질 발굴 플랫폼을 효율적으로 가동시키려면 다음과 같은 항목들에 대한 해결방안이 필요하다. In order to efficiently operate the platform for discovering new drug development candidates in stage (C) described above, solutions to the following items are required.
1) 대규모 화합물 (10억개 화합물) 데이터베이스로부터 필요한 정보를 효율적으로 추출하는 분산 처리 방법, 2) 각 단계마다 필요한 최소 컴퓨팅 자원, 3) 할당된 컴퓨팅 자원에 따른 분석 시간, 4) 비정상적인 작동 및 오류 사항에 대한 대처 방안, 5) 단계별 정상 확인 방안1) Distributed processing method that efficiently extracts necessary information from a large-scale compound (1 billion compounds) database, 2) Minimum computing resources required for each step, 3) Analysis time according to allocated computing resources, 4) Abnormal operation and errors Response plan, 5) Step-by-step normal confirmation plan
현재 클라우드 환경에서 작동시키기 위해서, 동일한 물리적 서버 자원 및 동일 네트워크에서 통신 되는 인프라를 구축하였고, 해당 인프라를 효율적으로 활용하고, 다양한 오류사항에 대처하기 위해서 아르고 클라우드 기반 워크플로우 매니저를 채택하여 사용한다.In order to operate in the current cloud environment, an infrastructure that communicates on the same physical server resources and the same network has been established, and the Argo cloud-based workflow manager is adopted and used to efficiently utilize the infrastructure and cope with various errors.
또한, 현재 서비스를 진행하고 있는 물리적 머신의 자원과 각 단계별 분석에 사용되는 소모 자원들에 대해서, 다양한 최적화된 조건들을 계산하였고, 현재 서비스하고 있는 모델에서의 최적의 자원 소모 값 및 분산 처리 값을 설정했다.In addition, various optimized conditions were calculated for the resources of the physical machine currently in service and the consumed resources used for analysis at each stage, and the optimal resource consumption and distributed processing values in the currently in service model were calculated. set.
그리고 마스터 서버 (Master server)를 중심으로 수 백대 이상의 계산 서버들을 연결하는 쿠버네티스 기반의 클러스터의 경우 마스터 서버에서 수백대의 계산 서버들의 정보들의 처리를 담당하기 때문에 클러스터의 관리 및 마스터 서버 안정성이 불안정해지는 것을 발견했다. 이를 해결하기 위해서, 마스터 서버와 계산 서버를 연결하는 기능을 대신 처리(Proxy)하는 서버를 별도로 추가해서 구성해서, 세션 부하를 분산(SLB; Service Load Balancing) 처리를 함과 동시에, 서비스의 고가용성(HA; High Availability)까지 확보해서, 마스터 서버 한대에서 나타날 수 있는 비정상 상태에서의 세션의 안정성을 확보 하였다. And in the case of a Kubernetes-based cluster that connects hundreds or more calculation servers centered on a master server, the management of the cluster and the stability of the master server are unstable because the master server is responsible for processing the information of hundreds of calculation servers. discovered that it was falling apart. To solve this problem, a separate server is added and configured to handle the function of connecting the master server and the calculation server (Proxy), thereby distributing the session load (SLB; Service Load Balancing) and at the same time ensuring high availability of the service. (HA; High Availability) has been secured to ensure session stability in abnormal situations that may occur on one master server.
또한 아르고 및 칼리코 (Calico) 같은 클러스터의 내부에서 필요한 역할군들을 분리 구성함으로써, 마스터 서버의 경우 파드를 통한 작업의 스케쥴링과 클러스터 관리에 보다 집중할 수 있도록 했다. In addition, by separating the necessary roles within clusters such as Argo and Calico, the master server was able to focus more on scheduling tasks through pods and managing the cluster.
그리고 쿠버네티스의 자가 치유 기능이 있음에도 불구하고, 거대 클러스터 환경에서 수시로 발생하는 물리적 서버의 장애로 인해, 작업의 배포에 대한 비정상적인 지연대기가 발생하는 경우가 많이 발생했다. And despite the self-healing function of Kubernetes, there were many cases of abnormal delays in the distribution of tasks due to physical server failures that occurred frequently in large cluster environments.
이를 해결하기 위해서, 1) 쿠버네티스의 장비 상태 정보를 확인함과 동시에, 2) 쿠버네티스의 라벨링 (Labeling) 기능을 활용하여, 비정상 노드의 상태를 파악하고, 자동으로 클러스터 관리 노드에서 제거함으로써, 작업 배포의 지연대기를 최소화할 수 있는, 자동 노드 관리 기능을 도입했다.To solve this problem, 1) check the equipment status information of Kubernetes, and 2) utilize the labeling function of Kubernetes to identify the status of abnormal nodes and automatically remove them from the cluster management node. By doing so, we introduced an automatic node management function that can minimize delays in task distribution.
사용자에게 분석된 데이터에 대한 정보를 제공하는 (D) 단계 리포트 기능 세부 단계는 새로운 유효물질 후보를 발굴하는 과정에서 필요한 분석 결과물을 사용자가 쉽게 확인하고 이해할 수 있도록 접근성 향상을 필요로 하여 도입되었다. 도커 컨테이너 기술을 이용하여 분석이 완료될 때마다 각 프로젝트에 대한 독립적인 웹 서비스 가상화 환경을 구축하였다. 리포트 웹 서비스의 경우, 빠른 데이터 접근 및 대용량 데이터 처리를 위해 몽고디비(MongoDB)를 도입하였고, 싱글 페이지 어플리케이션 (single page application) 형태로 네이티브 앱 (native app)과 유사한 환경으로 사용자가 정보를 능률적으로 탐색하고 이해할 수 있게 웹사이트를 구성하여 문제를 해결하였다.The detailed step (D) report function, which provides users with information about the analyzed data, was introduced in response to the need to improve accessibility so that users can easily check and understand the analysis results required in the process of discovering new effective substance candidates. Using Docker container technology, an independent web service virtualization environment was established for each project each time the analysis was completed. In the case of the report web service, MongoDB was introduced for fast data access and large-capacity data processing, and in the form of a single page application, an environment similar to a native app allows users to efficiently access information. The problem was solved by organizing the website so that it was easy to navigate and understand.
마지막으로 (E) 단계, 사용자 요청에 의한 데이터 백업 단계는 분석이후에 생성된 결과물을 사용자의 요청에 따라 안전하게 보관 및 전달하기 위한 데이터 백업과 작업 완료된 스토리지 자원을 회수하는 과정이 함께 수행되며, 이 과정에서 결과물을 빠르게 백업하기 위한 기술과 결과물의 유실과 변조를 막기 위한 정책이 함께 적용되었다. Lastly, step (E), the data backup step according to the user's request, is performed together with data backup to safely store and deliver the results generated after analysis according to the user's request, and the process of recovering storage resources after the work has been completed. During the process, technology to quickly back up the results and policies to prevent loss and alteration of the results were applied.
이하에서는 첨부된 도면 순서에 따라 본 발명에 의한 클라우드 플랫폼 및 서비스 방법의 세부적인 기술내용에 대하여 설명하기로 한다.Hereinafter, detailed technical contents of the cloud platform and service method according to the present invention will be described in accordance with the order of the attached drawings.
도 1은 DMC-PRE, DMC-SCR, DMC-MD를 위한 클라우드 서비스 흐름도를 나타낸다. 도 1에 도시된 바와 같이, 클라우드 사용자들이 프로젝트 등록 및 사용신청을 하면 관리자(또는 관리 알고리즘)는 해당 프로젝트를 검토하고 승인하고, 분석에 사용할 자원을 할당한다.Figure 1 shows a cloud service flow chart for DMC-PRE, DMC-SCR, and DMC-MD. As shown in Figure 1, when cloud users register a project and apply for use, the manager (or management algorithm) reviews and approves the project and allocates resources to be used for analysis.
상기 자원에는 물리적 머신의 자원뿐만 아니라, 분석을 위한 자동화 워크플로우를 실행하기 위한 다양한 모수(parameter)들이 포함되어 있다. 사용자가 모수 설정 이후 프로젝트 분석을 실행하는 순간 지정된 템플릿에 의하여 해당 플랫폼이 순서대로 실행이 되고 실행이 완료되면 리포트를 생성한다. The resources include not only physical machine resources, but also various parameters for executing automated workflows for analysis. The moment the user executes the project analysis after setting the parameters, the platform is executed in order according to the designated template, and a report is generated when execution is completed.
그리고 사용자는 리포트 결과물을 포털을 통해 다운로드 받을 수 있다. 분석된 결과물을 검토 후 사용자는 관리자에게 데이터에 대한 백업을 요청할 수 있고, 이에 따라 미리 작성된 백업 템플릿을 관리지가 지정해주면 자동으로 데이터가 작업 스토리지에서 백업 스토리지로 이동된다.And users can download the report results through the portal. After reviewing the analyzed results, the user can request a backup of the data from the administrator. If the administrator specifies a pre-written backup template, the data is automatically moved from the work storage to the backup storage.
한편, 본 발명에서 관리자라 함은 플랫폼의 운영을 관리하는 주체로, 운영 인력이 될 수도 있고, 운영 프로그램, 운영 서버 등의 전자화된 체계일 수도 있다.Meanwhile, in the present invention, an administrator is a subject who manages the operation of the platform, and may be an operating personnel or an electronic system such as an operating program or an operating server.
다음으로, 도 2는 DMC-PRE, DMC-SCR, DMC-MD를 위한 클라우드 플랫폼 구성도이다. Next, Figure 2 is a cloud platform configuration diagram for DMC-PRE, DMC-SCR, and DMC-MD.
본 발명에 의한 클라우드 플랫폼은 모두 3가지 레이어로 구성이 되는데, 하드웨어, 소프트웨어, 포털 레이어로 구분된다. The cloud platform according to the present invention is composed of three layers, which are divided into hardware, software, and portal layers.
상기 하드웨어 레이어에는 보유하고 있는 GPU, CPU, 스토리지 자원을 포함하고 있고, 소프트웨어 레이어는 쿠버네티스로 구현한 워크로드 관리자, 아르고로 구현한 워크플로우 및 템플릿 관리자, 하버로 구성한 플랫폼 이미지 관리자, 파이썬의 장고로 구현한 리포트 관리자, 분산 시스템 카프카 및 해당 항목들로 구현된 분산 및 병렬처리 워크플로우 메소드들로 구성된다.The hardware layer includes the GPU, CPU, and storage resources, and the software layer includes the workload manager implemented in Kubernetes, the workflow and template manager implemented in Argo, the platform image manager configured in Harbor, and the Python It consists of a report manager implemented in Django, the distributed system Kafka, and distributed and parallel processing workflow methods implemented with the corresponding items.
상기 클라우드 포털 레이어는 사용자와 관리자로 구분되고 사용자는 프로젝트 신청과 리포트 확인을 포함하고 관리자는 사용자가 사용할 수 있는 기능에 더불어 프로젝트 관리, 자원 관리, 데이터베이스 관리 및 사용자 관리를 포함한다. The cloud portal layer is divided into users and administrators. Users include project applications and report confirmation, and administrators include project management, resource management, database management, and user management in addition to functions available to users.
도 3은 멀티 클러스터 환경의 아키텍처를 보여주고 있다. Figure 3 shows the architecture of a multi-cluster environment.
각각의 클러스터마다 워크플로우 관리자, 워크로드 관리자, 물리 저장소를 가지고 있고, 이와 같은 콘텐츠 별로 클러스터 구성이 확장 가능하게 만들어졌으며 모든 클러스터들의 정보들은 통합된 데이터베이스에 저장이 되고, 별도의 리포트 관리자와 통신한다. Each cluster has a workflow manager, workload manager, and physical storage, and the cluster configuration is made scalable for each content. Information on all clusters is stored in an integrated database and communicated with a separate report manager. .
이들 구성들은 카프카를 통해 메시지를 전달한다. 그리고 클라우드 포털은 카프카의 통신 메시지를 받아 사용자와 관리자에게 정보들을 제공한다.These constructs deliver messages through Kafka. And the cloud portal receives Kafka's communication messages and provides information to users and administrators.
도 4에는 본 발명에 의한 AMQP 미들웨어 구성 환경이 도시되어 있고, 도 5에는 본 발명에 의한 카프카와 RabbitMQ에 대한 성능 비교가 도시되어 있으며, 도 6에는 본 발명에 의한 카프카 구성 환경이 도시되어 있고, 도 7에는 본 발명에 의한 카프카 내부 구조가 도시되어 있으며, 도 8에는 본 발명에 의한 카프카의 분산 및 병렬 구조가 도시되어 있고, 도 9에는 본 발명에 의한 분산 메시지 구조가 도시되어 있으며, 도 10에는 본 발명에 의한 메시지 배치 처리 구조가 도시되어 있고, 도 11에는 본 발명에 의한 포털 서비스 흐름이 도시되어 있다.Figure 4 shows the AMQP middleware configuration environment according to the present invention, Figure 5 shows a performance comparison between Kafka and RabbitMQ according to the present invention, and Figure 6 shows the Kafka configuration environment according to the present invention. Figure 7 shows the internal structure of Kafka according to the present invention, Figure 8 shows the distributed and parallel structure of Kafka according to the present invention, Figure 9 shows the distributed message structure according to the present invention, and Figure 10 shows the message batch processing structure according to the present invention, and Figure 11 shows the portal service flow according to the present invention.
MQ(Message Queue) 프로토콜은 메시지를 다양한 서비스 간에 정보를 중개하는 방식이며 발신자와 수신자가 고정적으로 정해져 있어서 특정 로그데이터와 같이 일대일 방식으로 데이터를 전달하는 구조이다. The MQ (Message Queue) protocol is a method of mediating information between various message services. The sender and receiver are fixed, so data is transmitted in a one-to-one manner, such as specific log data.
수신자가 메시지를 가져가면 중개자 (broker)에서 그 메시지는 사라지므로 추가적으로 다른 수신자가 동일한 메시지를 수신하는 것이 불가능하다. Once the recipient takes the message, the message disappears from the broker, making it impossible for another recipient to receive the same message.
발신자와 수신자가 일대다 구조인 다수 수신자(client) 환경에서는 브로커에서 큐 (Queue)개수를 증설하고 발신자가 전체 큐에 메시지를 보내야 하는데 각 레이어마다 큐가 다수 존재하는 다중 클러스터 환경에서는 복잡도가 더 심화되는 구조적 문제를 안고 있다. In a multiple client environment where the sender and receiver are one-to-many, the number of queues must be increased at the broker and the sender must send messages to all queues. In a multi-cluster environment where there are multiple queues at each layer, the complexity becomes more severe. It has structural problems.
또한 성능상으로 실시간 대용량 데이터 이동 처리가 불가능하거나 표준을 벗어난 기술적인 튜닝을 병행해야만 서비스에서 필요한 데이터 이동속도의 요구조건을 충족하는 성능적 한계를 함께 가지고 있다. In addition, it has performance limitations such that real-time large-capacity data movement processing is not possible or technical tuning outside the standard must be performed in parallel to meet the data movement speed requirements required by the service.
일 예로 가장 대중적인 RabbitMQ의 처리율(throughput)은 카프카의 5% 수준이며, 레이턴시 튜닝, 고속 레이드 저장공간 등 카프카 최적 환경에서는 이 격차가 더 벌어진다(도 5참조). 카프카는 기존의 메시징 중개자들이 가진 약점과 한계성을 해결하기 위해서 메시징 모델에 분산, 배치, 병렬, 캐시 기술 등을 적용하여 대용량 트래픽을 효과적으로 처리하여 멀티 클러스터 환경에서 인프라 복잡성을 최소화한다(도 6 및 7 참조).For example, the throughput of the most popular RabbitMQ is about 5% of Kafka, and in Kafka's optimal environment such as latency tuning and high-speed RAID storage space, this gap widens further (see Figure 5). In order to solve the weaknesses and limitations of existing messaging intermediaries, Kafka applies distribution, batch, parallel, and cache technologies to the messaging model to effectively process large amounts of traffic and minimize infrastructure complexity in a multi-cluster environment (Figures 6 and 7 reference).
한편, 본 발명에서는, 메시지가 파일시스템 기반에 저장되므로 고속레이드, 캐시성능에 기반하여 읽기성능을 최적으로 확대 가능하다.Meanwhile, in the present invention, since messages are stored based on a file system, read performance can be optimally expanded based on high-speed RAID and cache performance.
그리고 도 8 및 9에 도시된 바와 같이, 구조적으로 하나의 중개자에서 다수 발신자와 수신자 연결을 허용하여 메시지를 분산, 병렬 처리한다.And as shown in Figures 8 and 9, one intermediary structurally allows connections between multiple senders and receivers to distribute and process messages in parallel.
또한, 본 발명에서는 도 10에 도시된 바와 같이, 메시지를 배치단위로 송수신하여 처리량을 향상시킨다.Additionally, in the present invention, as shown in FIG. 10, throughput is improved by sending and receiving messages in batches.
그리고 본 발명에서는 운영장치에서 제공하는 파일시스템, 네트워크 캐시기술을 적극적으로 활용하여 트래픽과 처리량을 비약적으로 개선한다.In addition, the present invention dramatically improves traffic and throughput by actively utilizing the file system and network cache technology provided by the operating device.
한편, 도 11에 도시된 바와 같이, 본 발명에 의한 포털 서비스는 클라우드 환경에서 사용할 수 있는 웹 페이지로, 사용자가 계정 생성부터 사용에 따른 계약서 발급, 프로젝트 등록, 프로젝트 신청, 프로젝트 실행 리포트의 출력 및 리포트 문서화 다운로드까지의 분석에 필요한 모든 과정을 진행할 수 있는 유저 인터페이스를 제공한다. Meanwhile, as shown in FIG. 11, the portal service according to the present invention is a web page that can be used in a cloud environment, where users can create an account, issue a contract according to use, register a project, apply for a project, output a project execution report, and It provides a user interface that allows you to proceed with all the processes required for analysis, including report documentation and downloading.
그리고 프로젝트의 분석이 시작이 되면 카프카 메시지 중개자를 통해서 분석에 필요한 파라미터 및 정보가 전달되고 아르고에서 해당 정보들을 인식해서 분석이 진행이 된다. And when the analysis of the project begins, the parameters and information required for the analysis are transmitted through the Kafka message broker, and Argo recognizes the information and the analysis proceeds.
분석이 진행되고 있는 상황은 사용자가 확인할 수 있고, 관리자는 각 클러스터의 자원 활용량을 모니터링(Monitoring) 웹 페이지를 통해서 추가적인 정보를 확인할 수 있다.Users can check the progress of the analysis, and administrators can check additional information on the resource utilization of each cluster through the monitoring web page.
도 12에는 본 발명에서 사용자가 신청한 작업을 관리자가 승인한 이후, 계산서버 자원인 CPU, GPU와 스토리지 자원이 할당 관리되는 과정을 도식화한 흐름도이다. Figure 12 is a flowchart illustrating the process in which calculation server resources such as CPU, GPU, and storage resources are allocated and managed after the administrator approves the task requested by the user in the present invention.
이에 도시된 바와 같이, 사용자의 프로젝트 신청이 접수되면 관리자의 승인에 따라 요청된 규모에 맞는 자원 정보가 아르고 워크플로우 템플릿에 인자로 전달되어, 파이프라인의 작업을 단계에 따라 실행할 수 있게 준비된다. As shown, when a user's project application is received, upon approval by the manager, resource information appropriate for the requested size is passed as a factor to the Argo workflow template, and the pipeline work is prepared to be executed according to the steps.
그리고 사용자에 의해 작업이 실행되면 템플릿 순서에 따라 작업수행을 위한 파드가 배포되며, 이때 효율적인 자원 활용을 위하여 계산서버의 CPU와 GPU 자원은 전체의 자원 풀(pool)에서 동적으로 필요규모에 따라 할당 받게 되며 진행단계가 끝나고 여유자원이 확인될 경우 대기 중인 파드가 자동 실행될 수 있도록 구성되어 있는데 이는 쿠버네티스의 워크로드 관리 기능을 통해 구현된다.And when a task is executed by a user, pods for task execution are distributed according to the template order. At this time, for efficient resource utilization, the calculation server's CPU and GPU resources are dynamically allocated according to the required size from the entire resource pool. It is configured so that the waiting pods can be automatically executed when the progress stage is completed and free resources are confirmed. This is implemented through the workload management function of Kubernetes.
또한, 미리 지정된 스토리지는 각 템플릿에 따라 작업 파드가 실행될 때 각각의 파드에 자동할당(mount)되며 해당 파드의 작업 종료 시 자동해제(unmount)되어 저장공간의 네트워크 부하를 줄이도록 설정된다.In addition, pre-designated storage is automatically allocated (mounted) to each pod when the work pod is executed according to each template, and automatically unmounted when the work of the pod ends, reducing the network load on the storage space.
도 13에는 신약 후보물질 발굴에 대한 DMC-HIT(DeepMatcher-HIT) 대한 전반적인 클라우드 파이프라인이 도시되어 있다. Figure 13 shows the overall cloud pipeline for DMC-HIT (DeepMatcher-HIT) for discovery of new drug candidates.
본 발명에 의한 DMC-HIT는 크게 3가지 영역인 DMC-PRE, DMC-SCR, DMC-MD 단계들로 구성되어 있고, 공통적으로 수행하는 역할로는 단백질 화합물 결합 구조 생성(도킹) 및 결합 구조에 대한 결합력 분석이 있다. DMC-HIT according to the present invention is largely composed of three stages: DMC-PRE, DMC-SCR, and DMC-MD. Common roles include generating (docking) a protein compound binding structure and forming the binding structure. There is a binding force analysis for this.
파이프라인이 진행되면서 대규모의 화합물 데이터 중 가치가 있다고 판단되는 화합물들을 선별하여 최대 200여개 화합물을 결과 리포트에서 확인할 수 있다. As the pipeline progresses, compounds deemed valuable among the large-scale compound data are selected, and up to 200 compounds can be confirmed in the resulting report.
한편, 도14 내지 18에는 본 발명의 세부 영역들을 이루고 있는 로직을 올바른 순서대로 나열한 모습이며, 각 로직을 수행함으로써 파생되는 결과물이 다음 로직에 활용되는 방식으로 표현 되어있다. Meanwhile, Figures 14 to 18 show the logic constituting the detailed areas of the present invention in the correct order, and the results derived from performing each logic are expressed in such a way that they are used in the next logic.
그리고 도19에는 클라우드 환경에서 DMC-PRE의 PHscan 단계의 수행방법이 도시되어 있다. 이때, 파이프라인이 구성하는 일부 단계에서는 방대한 데이터 기반으로 계산 작업이 필요하기 때문에 100개 프로세스를 생성하여 병렬 처리한다. 해당 단계의 최종 결과로 약 1백만개의 화합물 데이터가 다음 단계로 전달된다.And Figure 19 shows how to perform the PHscan step of DMC-PRE in a cloud environment. At this time, since some stages of the pipeline require calculation work based on massive data, 100 processes are created and processed in parallel. As a final result of this step, data on about 1 million compounds are passed on to the next step.
도 20에는 DMC-PRE의 GAP0 단계의 수행방법이 도시되어 있다. 상기 DMC-PRE의 PHscan 단계로부터 전달받은 약 1백만개에 해당하는 상당수의 화합물을 처리하기 위해, 화합물을 배치 단위로 분할하고, 한 번에 100개 병렬 프로세스를 진행하여 모든 배치에 대한 작업이 끝날 때까지 반복된다. 마지막 단계에서 약 10만개 화합물을 선별한다. Figure 20 shows how to perform the GAP0 step of DMC-PRE. In order to process a significant number of compounds, approximately 1 million, received from the PHscan step of DMC-PRE, the compounds are divided into batches and 100 parallel processes are performed at a time, and when all batches are finished, the compounds are divided into batches. It repeats until. In the final step, approximately 100,000 compounds are selected.
그리고 도 21에는 DMC-PRE의 마지막인 G1 프로그램을 통한 분석단계의 수행방법이 도시되어 있다. 상기 DMC-PRE의 GAP0 단계로부터 전달받은 약 10만개 화합물을 처리하기 위해, 마찬가지로 화합물들을 배치 단위로 분할한 이후, 100개 병렬 프로세스를 진행하여 모든 배치에 대한 작업이 끝날 때까지 반복된다. 최종 1천개 화합물이 선별되어 다음 단계인 DMC-SCR 단계로 전달된다.And Figure 21 shows how to perform the analysis step through the G1 program, which is the last part of DMC-PRE. In order to process about 100,000 compounds received from the GAP0 step of the DMC-PRE, the compounds are similarly divided into batches, and then 100 parallel processes are performed and repeated until the work on all batches is completed. The final 1,000 compounds are selected and passed to the next step, DMC-SCR.
다음으로, 도 22에는 DMC-SCR 단계가 클라우드에서 동작하는 전체 구성이 도시되어 있다. 이때, 병렬 분산 처리되는 영역은 여러가지 세부 단계들로 구성되어 있고, 이전 단계로부터 전달받은 1천개 화합물들을 한 번에 100개씩 병렬로 처리한다. 해당 단계의 결과물인 단백질-화합물 결합 구조 1천개가 다음 단계인 DMC-MD 단계로 전달된다.Next, Figure 22 shows the overall configuration of the DMC-SCR step operating in the cloud. At this time, the area of parallel distributed processing consists of various detailed steps, and 1,000 compounds received from the previous step are processed in parallel, 100 at a time. The 1,000 protein-compound binding structures that are the result of this step are transferred to the next step, DMC-MD.
도 23에는 클라우드에서의 DMC-MD 단계 실행 동작이 도시되어 있다. 상기 DMC-SCR 단계로부터 전달받은 1천개 단백질-화합물 결합 구조를 갖고 분자 동역학 시뮬레이션 프로그램을 기반으로 분석을 진행한다. Figure 23 shows the DMC-MD step execution operation in the cloud. Analysis is performed based on a molecular dynamics simulation program with 1,000 protein-compound binding structures received from the DMC-SCR step.
이때, 병렬로 처리되는 영역은 여러 개의 세부 단계들로 구성되어 있고, 1천개 결합 구조에 대하여 한 번에 100개씩 병렬로 처리한다. 해당 단계 종료 이후, 분자 동역학 시뮬레이션 프로그램 출력 데이터인 단백질-화합물 결합 구조 및 분석 결과를 기반으로 DMC-HIT 결과 리포트를 생성하기 위한 DMC-POST 단계가 진행된다.At this time, the area processed in parallel consists of several detailed steps, and 100 of the 1,000 combined structures are processed in parallel at a time. After completion of this step, the DMC-POST step is performed to generate a DMC-HIT result report based on the protein-compound binding structure and analysis results, which are the output data of the molecular dynamics simulation program.
한편, 도 24는 사용자가 등록한 프로젝트의 분석 완료 이후, 리포트 웹 서비스 생성부터 사용자의 접속 과정을 도식화한 흐름도이다. Meanwhile, Figure 24 is a flowchart illustrating the user's connection process from the creation of the report web service after completing the analysis of the project registered by the user.
분석이 정상적으로 종료되면, 분석된 데이터가 데이터베이스에 업로드 되고, 추가적으로 리포트 정보 전용의 데이터베이스가 추가 생성된다. 해당 데이터베이스는 관계성 데이터베이스의 뷰 테이블(View Table)과 같이 하나의 중심이 되는 정보를 기반으로 다양한 정보를 하나의 문서로 만들어서 리포트에 필요한 데이터를 빠르게 처리할 수 있다. When the analysis is completed normally, the analyzed data is uploaded to the database, and an additional database dedicated to report information is created. The database can quickly process the data needed for reports by creating various information into one document based on one central piece of information, like a view table in a relational database.
다음으로, 리포트 서버를 선정하고, 해당 서버 내에서 포트를 지정하며 포트 포워딩이 진행된다. 최종적으로 리포트 서버가 구축되고, 서비스가 실행되어 모든 서비스 준비를 완료하게 된다. 이후 사용자는 클라우드 포털에 접속하여 프로젝트의 리포트 다운로드를 클릭하면, 리포트 웹 서비스에 접속할 수 있다. 이를 통해 사용자는 분석 결과를 웹에서 직접 확인하거나 다양한 형식의 문서로 다운로드 받을 수 있다.Next, a report server is selected, a port is specified within the server, and port forwarding is performed. Finally, the report server is built, the service is executed, and all service preparations are completed. Afterwards, users can access the report web service by accessing the cloud portal and clicking Download Report for the project. Through this, users can check the analysis results directly on the web or download them as documents in various formats.
마지막으로, 도 25에는 프로젝트 파이프라인 수행을 통해 얻어진 결과물을 백업 및 외부에 보관하기 위한 과정이 도시되어 있다. 이 단계는 도식화된 바와 같이, 작업 파이프라인이 종료된 후 백업 워크플로우 템플릿이 실행되어 백업을 수행하게 되는데 이 과정에서 수 테라 바이트(terra byte)에 달하는 결과물을 일차 저장소로 전송해야 하기에 최대 전송 속도 및 일기쓰기를 최대한으로 활용하기 위한 다중 노드, 다중 세션(session) 백업 방식을 사용한다. Lastly, Figure 25 shows the process for backing up and externally storing the results obtained through project pipeline execution. As schematized in this step, after the work pipeline is terminated, the backup workflow template is executed to perform the backup. In this process, several terabytes of results must be transferred to the primary storage, so the maximum transfer capacity is Uses a multi-node, multi-session backup method to maximize speed and diary writing.
또한, 백업 단계에서 발생할 수 있는 정보의 유실 및 변조를 방지하기 위하여 백업 전후의 체크썸(checksum)을 진행하여 결과물의 해쉬(hash)값을 비교하는 과정이 함께 수행된다. In addition, in order to prevent information loss or alteration that may occur during the backup step, a checksum is performed before and after the backup and the hash value of the result is compared.
일차 저장소에 저장된 백업본은 동시에 사본을 물리적으로 구별된 저장소에 다시 저장하며 두 벌의 사본이 생성되면 원본을 삭제한 후 작업 저장공간 자원을 반납한다. 백업시스템의 가장 중요한 정책은 사용자 요청에 의한 일정 기간동안 상시 두 개의 사본을 유지하는 것이며 각 백업대상과 백업이력을 기록하게 되며 규정으로 정한 온라인 저장 기한이 만료된 백업본은 하드디스크에 사본을 복제한 뒤 온라인 사본을 삭제하는 정책으로 일련의 과정이 진행된다.Backup copies stored in primary storage are simultaneously re-stored in physically separate storage, and when two copies are created, the original is deleted and the work storage space resources are returned. The most important policy of the backup system is to maintain two copies at all times for a certain period of time upon user request, and each backup target and backup history are recorded. Backup copies that have expired the online storage period set by regulations are copied to the hard disk. A series of processes are followed, with a policy of deleting online copies.
본 발명의 권리는 위에서 설명된 실시예에 한정되지 않고 청구범위에 기재된 바에 의해 정의되며, 본 발명의 분야에서 통상의 지식을 가진 자가 청구범위에 기재된 권리범위 내에서 다양한 변형과 개작을 할 수 있다는 것은 자명하다.The rights of the present invention are not limited to the embodiments described above but are defined by the claims, and those skilled in the art can make various changes and modifications within the scope of the claims. This is self-evident.
상품성으로 가치는 현존하는 클라우드는 자사의 클라우드와 같은 대규모 대용량의 유전체, 단백질체, 화합물을 연계하여 완전 자동화하여 상용화한 사례는 드물다. 또한 전체 워크플로우의 부분적인 단계에서 연구개발 형태의 파이프라인은 존재할 수 있지만, 검증된 단백질과 수십억 개의 화합물의 결합도를 분석할 수 있는 대규모 분석 파이프라인과 해당 파이프라인과 연동하여 고성능 컴퓨팅 인프라 자원에 적용한 클라우드 시스템은 당사의 클라우드가 유일하다, 향후 국내 및 해외에서의 비즈니스 및 연구 목적으로 대량으로 활용될 예정이고, 나아가 클라우드 기반 워크플로우를 통해서, 집단 유전체 바이오 마커 분석, 신생 항원 분석 같은 대규모 계산이 필요한 컨텐츠 전용 파이프라인을 탑재한 클라우드로의 확장이 가능하여, 비즈니스 활용성 확장에 기여할 것으로 기대된다.Existing clouds that have commercial value are rarely commercialized by linking large-scale genomes, proteomes, and compounds, such as our cloud, with full automation. In addition, although a pipeline in the form of research and development may exist at a partial stage of the overall workflow, a large-scale analysis pipeline that can analyze the binding degree of verified proteins and billions of compounds and high-performance computing infrastructure resources in conjunction with the pipeline Our cloud is the only cloud system applied to this. It is expected to be used on a large scale for business and research purposes both domestically and overseas in the future. Furthermore, through cloud-based workflow, large-scale calculations such as population genome biomarker analysis and neoantigen analysis are performed. Expansion to the cloud equipped with this necessary content-specific pipeline is expected to contribute to expanding business usability.

Claims (13)

  1. 신약 개발 후보 물질 발굴을 위한 거대규모 워크플로우를 위한 분산 및 병렬처리 가능한 클라우드 플랫폼 서비스에 있어서,In the cloud platform service capable of distributed and parallel processing for large-scale workflow for discovering new drug development candidates,
    회원의 정보 및 프로젝트를 관리하는 단계와;Steps to manage member information and projects;
    클라우드 워크플로우 매니저에서, 신약 개발 후보 물질 발굴을 분석하는 단계와;In the cloud workflow manager, analyzing the discovery of new drug development candidates;
    분석된 결과들을 시각화하는 단계와;Visualizing the analyzed results;
    메시지 브로커를 통해 포털 서비스, 클라우드 워크플로우 관리자, 클라우드 관리자, 리포트 관리자 간의 기능들을 원격 또는 내부 제어하는 단계; 그리고 Remotely or internally controlling functions between the portal service, cloud workflow manager, cloud manager, and report manager through a message broker; and
    클러스터의 오류 상황에 자동화하여 대처하는 단계;를 포함하여 수행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법.A cloud platform service method capable of distributed and parallel processing for large-scale workflows, including the step of automatically responding to error situations in the cluster.
  2. 제 1 항에 있어서,According to claim 1,
    상기 클라우드 플랫폼 서비스는 포털 형태로 제공되는 웹 서비스 어플리케이션으로 제공되되, The cloud platform service is provided as a web service application provided in the form of a portal,
    상기 회원정보의 관리는,Management of the above member information is:
    회원의 가입 및 로그인 서비스를 포함하고;Includes member registration and login services;
    상기 프로젝트 관리는,The project management is,
    분석 서비스에 대한 가격(과금), 가격(과금)에 대한 중간 저장 및 문서화 기능에 대한 관리와;Management of prices (charges) for analysis services, intermediate storage and documentation functions for prices (charges);
    프로젝트의 등록, 서비스 신청, 서비스 실행 및 프로젝트 진행 상황 모니터링 기능에 대한 관리; 그리고 Management of project registration, service application, service execution and project progress monitoring functions; and
    분석 결과 리포트 서비스에 대한 관리;를 포함하여 구성됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법. A cloud platform service method capable of distributed and parallel processing for large-scale workflows, comprising management of analysis result report services.
  3. 제 1 항에 있어서,According to claim 1,
    신약 개발 후보 물질 발굴 분석은,The analysis of new drug development candidate substances is:
    딥러닝 방식의 신약 개발 후보 물질 발굴을 위한 단계별 필요한 프로그램 및 모수(Parameter)들의 토대가 되는 정보들을 저장하고 있는 템플릿과;A template that stores information that forms the basis of programs and parameters required for each step to discover candidate substances for new drug development using deep learning;
    각 분석 단계별로 사용하는 최적의 컴퓨터 자원량을 할당하는 템플릿과;a template that allocates the optimal amount of computer resources to be used for each analysis step;
    각 분석 단계별로, 고성능 컴퓨팅 자원에 병렬적으로 할당하는 템플릿과;For each analysis step, a template is allocated to high-performance computing resources in parallel;
    분석된 정보들의 시각화가 가능하도록 하는 템플릿과;A template that enables visualization of the analyzed information;
    분석된 다량의 중간 저장물 및 최종 저장물에 대한 백업을 위한 템플릿; 그리고 Templates for backup of analyzed large quantities of intermediate and final stocks; and
    각각의 템플릿을 실행을 위하여 클러스터에 연결시켜, 템플릿을 관리하는 관리자 유닛에 의해 실행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법. A cloud platform service method capable of distributed and parallel processing for large-scale workflows, characterized in that each template is connected to a cluster for execution and executed by an administrator unit that manages the template.
  4. 제 3 항에 있어서,According to claim 3,
    상기 신약 개발 후보 물질 발굴 분석은,The analysis for discovering new drug development candidates is,
    (Ⅰ) 화합물 데이터베이스로부터 화합물의 물리, 화학 및 토폴로지(topology) 정보에 후보 화합물을 1차 선별(선행 스크리닝)하는 DMC-PRE 단계와;(Ⅰ) a DMC-PRE step of first screening (pre-screening) candidate compounds based on the physical, chemical, and topology information of the compounds from the compound database;
    (Ⅱ) 1차 선별된 후보 화합물들을 인공지능 알고리듬을 통해 학습된 툴(Enva)을 이용하여 2차 선별(심층 스크리닝)하는 DMC-SCR 단계; 그리고(Ⅱ) DMC-SCR step of secondary selection (deep screening) of the primary selected candidate compounds using a tool (Enva) learned through an artificial intelligence algorithm; and
    (Ⅲ) 분자동역학적 분자-모션 시뮬레이션을 통해 2차 선별된 화합물을 검증하는 DMC-MD 단계;를 포함하여 수행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법. (Ⅲ) A cloud platform service method capable of distributed and parallel processing for large-scale workflow, characterized in that it is performed including a DMC-MD step of verifying the secondary selected compounds through molecular dynamics molecule-motion simulation.
  5. 제 4 항에 있어서,According to claim 4,
    상기 DMC-PRE 단계는,The DMC-PRE step is,
    (Ⅰ-1) 대규모 화합물 데이터 기반의 구조 및 화학적 특성 계산을 통하여 화합물 구조들을 선별하여 데이터베이스화하는 단계와;(Ⅰ-1) selecting compound structures and creating a database through calculation of structures and chemical properties based on large-scale compound data;
    (Ⅰ-2) 단백질 데이터 뱅크(PDB)를 통해 구축된 데이터베이스(R-group) 정보와 상기 (Ⅰ-1) 단계로부터 선별된 화합물 구조들 간의 결합 가능성 및 적합도를 산출하여 화합물 구조들을 선별하는 단계와;(Ⅰ-2) Selecting compound structures by calculating the binding possibility and compatibility between the database (R-group) information established through the protein data bank (PDB) and the compound structures selected from step (Ⅰ-1). and;
    (Ⅰ-3) 분자결합 알고리즘(molecular docking with deep learning)을 통해 가상 공간의 단백질과 화합물의 결합을 분석하여, 단백질 구조의 사전 정의된 결합 위치에 화합물을 결합하여 해당 결합 환경을 분석하는 단계와;(Ⅰ-3) Analyzing the binding of proteins and compounds in virtual space through a molecular docking algorithm (molecular docking with deep learning), binding the compound to a predefined binding site in the protein structure and analyzing the binding environment; ;
    (Ⅰ-4) 상기 (Ⅰ-3) 단계의 분석결과를 통해 상기 (Ⅰ-2) 단계에서 선별된 화합물 구조로부터, 후보 화합물을 1차 선별하는 단계;를 포함하여 수행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법. (Ⅰ-4) A large-scale method comprising the step of first screening candidate compounds from the structure of the compound selected in step (I-2) through the analysis results of step (I-3). A cloud platform service method that enables distributed and parallel processing for workflow.
  6. 제 5 항에 있어서,According to claim 5,
    상기 DMC-SCR 단계는,The DMC-SCR step is,
    (Ⅱ-1) 상기 DMC-PRE 단계에서 1차 선별된 화합물을 대상으로, 대상 단백질과의 결합을 분석하여 결합 정보를 산출하는 단계와;(Ⅱ-1) calculating binding information by analyzing the binding of the compounds initially selected in the DMC-PRE step to the target protein;
    (Ⅱ-2) 상기 (Ⅱ-1) 단계에서 결합된 구조를 이용해 결합된 화합물의 위치 정보를 변경한 단백질-화합물 결합 구조 파일을 생성하는 단계와;(Ⅱ-2) generating a protein-compound binding structure file in which the positional information of the bound compound is changed using the structure bound in step (Ⅱ-1);
    (Ⅱ-3) 상기 (Ⅱ-2) 단계에서 생성된 각각의 단백질-화합물 결합 정보들을 저장하여 각 단백질-화합물 간의 결합구조에 대한 적합성을 산출하는 단계와;(Ⅱ-3) storing each protein-compound binding information generated in step (Ⅱ-2) and calculating the suitability of the binding structure between each protein-compound;
    (Ⅱ-4) 상기 (Ⅱ-3) 단계에서 산출된 적합성에 따라 기 설정된 개수의 단백질-화합물 구조의 결합력을 산출하는 단계와; (Ⅱ-4) calculating the binding force of a preset number of protein-compound structures according to the compatibility calculated in step (Ⅱ-3);
    (Ⅱ-5) 상기 (Ⅱ-4) 단계의 단백질- 화합물 결합에 필요한 단백질 내의 핵심 잔기에 대해서 결합력을 산출하는 단계와;(Ⅱ-5) calculating the binding force for key residues in the protein required for protein-compound binding in step (Ⅱ-4);
    (Ⅱ-6) 상기 (Ⅱ-4) 단계의 단백질- 화합물 결합 구조에 대해서, 예측 모델을 통해 화합물 별로 결합 점수에 따라 상위 단백질-화합물 결합 정보를 산출하는 단계; 그리고(Ⅱ-6) For the protein-compound binding structure of step (Ⅱ-4), calculating top protein-compound binding information according to the binding score for each compound through a prediction model; and
    (Ⅱ-7) 상기 (Ⅱ-6) 단계로부터 산출된 단백질-화합물 간의 결합 안정성에 대한 점수를 산출하여 후보 화합물을 2차 선별하는 단계;를 포함하여 수행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법. (Ⅱ-7) secondary screening of candidate compounds by calculating the score for the protein-compound binding stability calculated from step (Ⅱ-6) above. Cloud platform service method capable of distributed and parallel processing.
  7. 제 6 항에 있어서,According to claim 6,
    상기 (Ⅱ-1) 단계 및 (Ⅱ-2) 단계는,The steps (Ⅱ-1) and (Ⅱ-2) are,
    특정 화합물 구조로 인한 연산 시간의 지연을 방지하기 위하여, 단계별 최대 작업 시간이 설정됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법. A cloud platform service method capable of distributed and parallel processing for large-scale workflows, characterized by setting the maximum work time for each step to prevent delays in calculation time due to specific compound structures.
  8. 제 6 항에 있어서,According to claim 6,
    상기 (Ⅱ-3) 단계는,In step (Ⅱ-3),
    각각의 단백질-화합물 결합 정보들의 저장은 메모리 버퍼를 통해 수행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법. A cloud platform service method capable of distributed and parallel processing for large-scale workflow, characterized in that the storage of each protein-compound binding information is performed through a memory buffer.
  9. 제 6 항에 있어서,According to claim 6,
    상기 DMC-MD 단계는,The DMC-MD step is,
    (Ⅲ-1) 2차 선별된 화합물들을 단백질 구조에 결합하여, 분자 동역학 시뮬레이션 프로그램(molecular dynamic simulation)을 이용하여 가상공간에서 활동하는 단백질과 화합물이 결합된 구조를 최적화하는 단계와;(III-1) combining the secondary selected compounds with the protein structure and optimizing the structure of the protein and compound active in virtual space using a molecular dynamic simulation program;
    (Ⅲ-2) 기 설정된 시간 간격으로 해당 단백질-화합물 결합 구조의 결합 정보와 구조적 특성을 분석하여 안정화된 최적 결합 형태를 산출하는 단계; 그리고(III-2) analyzing the binding information and structural characteristics of the protein-compound binding structure at preset time intervals to calculate a stabilized optimal binding form; and
    (Ⅲ-3) 상기 (Ⅲ-2) 단계의 시뮬레이션 결과에 따른 최적 단백질-화합물 결합 구조와 해당 단백질의 공지된 최적 결합 환경을 대비하여 목표 단백질과 최적의 결합 형태를 가진 화합물을 선별하여 최종 후보 화합물을 검증하는 단계;를 포함하여 수행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법. (Ⅲ-3) By comparing the optimal protein-compound binding structure according to the simulation results of step (Ⅲ-2) above and the known optimal binding environment of the protein, compounds with the optimal binding form with the target protein are selected and final candidates are selected. A cloud platform service method capable of distributed and parallel processing for large-scale workflow, comprising the step of verifying a compound.
  10. 제 9 항에 있어서,According to clause 9,
    신약 개발 후보 물질 발굴에 대한 상기 분석된 결과물들의 시각화는,Visualization of the above analyzed results for discovery of new drug development candidates is as follows:
    분석 정보를 시각화를 위한 형태로 저장하는 데이터베이스와;a database that stores analysis information in a form for visualization;
    분석 정보를 문서화하기 위한 사용자의 요구 사항을 저장하는 데이터베이스와;a database storing user requirements for documenting analysis information;
    데이터베이스에 저장된 정보들의 시각화 및 문서화를 위한 레스트(REST) 형식의 어플리케이션 프로그래밍 인터페이스(API)와;An application programming interface (API) in REST format for visualizing and documenting information stored in the database;
    분석된 신약 개발 후보 물질들을 웹상에서 분석된 정보 및 단백질과 화합물 간의 결합구조를 시각화 하고 분석한 정보들을 문서화하는 웹 유저 인터페이스; 그리고 A web user interface that visualizes and documents the analyzed information on the analyzed new drug development candidates on the web and the binding structure between proteins and compounds; and
    웹 어플리케이션의 실행하는 서버 및 연결 포트들을 레스트(REST) 형식으로 관리할 수 잇는 어플리케이션 프로그래밍 인터페이스;에 의해 실행됨을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법. A cloud platform service method capable of distributed and parallel processing for large-scale workflows, characterized by being executed by an application programming interface that can manage servers running web applications and connection ports in REST format.
  11. 제 9 항에 있어서, According to clause 9,
    메시지 브로커를 통한 내부 제어는,Internal control through message broker:
    프로젝트 실행 정보를 전달해주는 메시지 브로커 및 데몬 서비스와;Message broker and daemon services that deliver project execution information;
    클러스터의 상황 파악을 위한 정보를 주고받는 메시지 브로커 서비스와;A message broker service that exchanges information to understand the situation of the cluster;
    프로젝트의 실행 상황을 확인하기 위한 메시지 브로커 서비스와;a message broker service to check the execution status of the project;
    분석이 완료된 데이터를 데이터베이스로 이전시키는 메시지 브로커 서비스와;a message broker service that transfers the analyzed data to a database;
    데이터베이스에 저장된 분석 데이터 기반, 리포트 시스템을 구동하기 위한 메시지 브로커 및 데몬 서비스와;message broker and daemon services to run a report system based on analysis data stored in a database;
    리포트 생성 완료된 상태를 포털로 전달하기 위한 메시지 브로커 서비스; 그리고Message broker service to deliver the report creation completed status to the portal; and
    클러스터를 구성하는 서버의 자원 사용량을 포털로 전달하는 메시지 브로커 서비스; 를 포함하는 것을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법. Message broker service that relays resource usage of the servers that make up the cluster to the portal; A cloud platform service method capable of distributed and parallel processing for large-scale workflows, comprising:
  12. 제 9 항에 있어서,According to clause 9,
    클러스터의 오류 상황 대처는,To deal with cluster error situations,
    대체 처리 서버의 구성을 통한 세션 부한 분산 및 서버 메시지 처리의 고가용성 확보하고;Securing high availability of session load distribution and server message processing through configuration of alternative processing servers;
    다중 마스터 서버를 구성하여 서비스 안정성을 확보하며;Ensure service stability by configuring multiple master servers;
    쿠버네티스 장비의 상태 모니터링 및 노드 라벨링 기능을 통한 자동 노드 관리를 포함함을 특징으로 하는 거대규모 워크플로우를 위한 분산 및 병렬처리가 가능한 클라우드 플랫폼 서비스 방법. A cloud platform service method capable of distributed and parallel processing for large-scale workflows, including automatic node management through Kubernetes equipment status monitoring and node labeling functions.
  13. 제 1 항 내지 제 12 항 중 어느 한 항의 방법을 웹 서비스로 실행시키기 위한 클라우드 플랫폼.A cloud platform for executing the method of any one of claims 1 to 12 as a web service.
PCT/KR2023/014455 2022-09-21 2023-09-21 Cloud platform system and service method capable of distributed and parallel processing for large-scale workflows WO2024063585A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0119666 2022-09-21
KR20220119666 2022-09-21
KR1020230126611A KR20240040671A (en) 2022-09-21 2023-09-21 A distributed and parallelized cloud platform system and service method for large-scale workflows
KR10-2023-0126611 2023-09-21

Publications (1)

Publication Number Publication Date
WO2024063585A1 true WO2024063585A1 (en) 2024-03-28

Family

ID=90455012

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/014455 WO2024063585A1 (en) 2022-09-21 2023-09-21 Cloud platform system and service method capable of distributed and parallel processing for large-scale workflows

Country Status (1)

Country Link
WO (1) WO2024063585A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112201301A (en) * 2020-10-23 2021-01-08 深圳晶泰科技有限公司 Virtual reality-based drug design cloud computing flow control system and method thereof
CN114464269A (en) * 2022-04-07 2022-05-10 国家超级计算天津中心 Virtual medicine generation method and device and computer equipment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112201301A (en) * 2020-10-23 2021-01-08 深圳晶泰科技有限公司 Virtual reality-based drug design cloud computing flow control system and method thereof
CN114464269A (en) * 2022-04-07 2022-05-10 国家超级计算天津中心 Virtual medicine generation method and device and computer equipment

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LIST MARKUS: "Using Docker Compose for the Simple Deployment of an Integrated Drug Target Screening Platform", JOURNAL OF INTEGRATIVE BIOINFORMATICS, vol. 14, no. 2, 10 June 2017 (2017-06-10), XP093150558, ISSN: 1613-4516, DOI: 10.1515/jib-2017-0016 *
SPJUTH OLA, CAPUCCINI MARCO, CARONE MATTEO, LARSSON ANDERS, SCHAAL WESLEY, NOVELLA JON, DI TOMMASO PAOLO, NOTREDAME CEDRIC, MORENO: "Approaches for containerized scientific workflows in cloud environments with applications in life science", PEERJ PREPRINTS, 24 August 2018 (2018-08-24), XP093150548, Retrieved from the Internet <URL:https://peerj.com/preprints/27141v1.html> DOI: 10.7287/peerj.preprints.27141v1 *
SPJUTH OLA, FRID JENS, HELLANDER ANDREAS: "The machine learning life cycle and the cloud: implications for drug discovery", EXPERT OPINION ON DRUG DISCOVERY, INFORMA HEALTHCARE, LONDON, GB, vol. 16, no. 9, 2 September 2021 (2021-09-02), London, GB , pages 1071 - 1079, XP093150546, ISSN: 1746-0441, DOI: 10.1080/17460441.2021.1932812 *

Similar Documents

Publication Publication Date Title
US11853748B2 (en) Methods and systems that share resources among multiple, interdependent release pipelines
US11856050B2 (en) Multi-tenant-cloud-aggregation and application-support system
CN111324571B (en) Container cluster management method, device and system
Vögler et al. LEONORE--large-scale provisioning of resource-constrained IoT deployments
US20190347127A1 (en) Service provisioning and orchestration for virtual machine to container migration
US9672071B2 (en) Method and system for distributed processing of HTTP requests
CN112099918A (en) Live migration of clusters in containerized environments
US20200226520A1 (en) Methods and systems to optimize server utilization for a virtual data center
US10057377B2 (en) Dynamic resolution of servers in a distributed environment
US20200192689A1 (en) Container migration in computing systems
KR102524540B1 (en) Apparatus and method for multi-cloud service platform
US11456914B2 (en) Implementing affinity and anti-affinity with KUBERNETES
Mavridis et al. Orchestrated sandboxed containers, unikernels, and virtual machines for isolation‐enhanced multitenant workloads and serverless computing in cloud
Kakakhel et al. Virtualization at the network edge: A technology perspective
CN114363170A (en) Container service network configuration method and related product
US11271895B1 (en) Implementing advanced networking capabilities using helm charts
Hu et al. Software-defined edge computing (SDEC): Principles, open system architecture and challenges
US11630697B2 (en) System and method of dynamic context workflow automation
WO2024063585A1 (en) Cloud platform system and service method capable of distributed and parallel processing for large-scale workflows
CN114816665B (en) Hybrid arrangement system and virtual machine container resource hybrid arrangement method under super-fusion architecture
Kjorveziroski et al. Webassembly orchestration in the context of serverless computing
John et al. Making Cloud Easy: Design Considerations and First Components of a Distributed Operating System for Cloud.
Guan et al. A novel energy efficient platform based model to enable mobile cloud applications
US11513833B1 (en) Event listener interface for container-based execution of serverless functions
Hao Edge Computing on Low Availability Devices with K3s in a Smart Home IoT System

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23868637

Country of ref document: EP

Kind code of ref document: A1