본문으로 건너뛰기

표적과 제품 개념을 모델링하기

📍 현재 위치: 2부 · 모델로 옮긴 발견과 개발 — 4장. 1부에서 우리는 연장을 갖추었습니다. 이제 그 연장을 공정에 겨눕니다. 출발점은 약 그 자체가 시작되는 곳, 즉 탱크가 아니라 하나의 질병에 관한 어떤 생각입니다.

바이오의약품(biologic) 프로그램은 어떤 세포가 조작되기 한참 전에 시작됩니다. 누군가가 표적(target) — 그 행동이 질병을 몰고 가는, 몸 안의 어떤 분자(대개 단백질) — 을 찾아내고, 제품 개념(product concept)을 세웁니다. 즉, 그 표적에 결합하여 그 행동을 바꿀 항체에 대한 구상입니다. 이것들이 이야기 전체의 첫 번째 개체(entity)이며, 흔한 유혹은 그것을 발표 자료와 스프레드시트에 기록해 두는 것입니다. 이 장은 바로 그 첫날부터 다른 방식을 택하자고 주장합니다. 즉, 생물의학계 전체가 이미 공유하는 온톨로지(ontology)로 그것에 이름을 붙여, 이 프로그램에 관해 쌓이는 지식이 마지막 항목이 아니라 첫 번째 항목부터 상호운용 가능하도록 만드는 것입니다.

쉽게 말하면

연구 프로젝트를 시작할 때, "우리가 노리는 단백질"과 "우리가 치료하려는 질병"에 대해 여러분만의 분류 코드를 새로 만들 수도 있고, 아니면 과학계 나머지가 이미 합의한 카탈로그 번호를 쓸 수도 있습니다. 여러분만의 코드를 만들면, 여러분의 데이터를 공개 데이터베이스나 협력사의 데이터, 또는 규제 기관의 데이터에 연결하려는 날이 왔을 때 다시 번역 작업으로 되돌아가게 됩니다. 공유된 카탈로그 번호 — 바로 이 유전자, 바로 이 단백질, 바로 이 질병에 대한 번호 — 를 쓰면, 그 연결은 이미 이루어져 있습니다. 이 장은 그 비용이 거의 들지 않는 맨 처음 단계에서 공유 카탈로그로 손을 뻗는 일에 관한 것입니다.

이 장에서 다루는 내용

우리는 표적, 작용 기전, 제품 개념을 온톨로지 개체(individual)로 명명하되, 단백질·분자 기능·질병·적응증·작용 기전에 대한 클래스(class)는 의도적으로 새로 만들지 않습니다. 그것들은 OBI, 유전자 온톨로지(Gene Ontology), 단백질 온톨로지(Protein Ontology), 어떤 질병 온톨로지, NCI 시소러스(NCI Thesaurus), 그리고 관계 온톨로지(Relation Ontology)에서 빌려 옵니다. 우리는 하나의 표적 정의를 해부하여 그 외부 IRI들이 실제로 작동하는 모습을 보고, 제품 개념을 제품이 존재하기 전부터 존재하는 정보 산출물(information artifact)로 모델링하며, 끝으로 이 프로그램이 결국 건너가야 할 연구 온톨로지(OBO 세계)와 제조 온톨로지(IOF 세계) 사이의 솔직한 이음새를 다루며 마무리합니다.

표적: 클래스를 만들지 말고 빌려라

발견 단계 모델링에서 가장 값진 습관 하나는 자제입니다. 확립된 온톨로지가 이미 어떤 것을 정의하고 있다면, 여러분만의 식별자를 새로 찍어 내는 대신 그 IRI를 쓰는 것입니다. 생물의학계는 어떤 프로그램이 필요로 하는 바로 그 온톨로지들을 지난 20년에 걸쳐 만들어 왔습니다. 유전자 온톨로지(Gene Ontology, GO)는 유전자 산물이 무엇을 하는지 — 그 분자 기능과 그것이 참여하는 생물학적 과정 — 를 기술하며, 생물학에서 가장 널리 쓰이는 온톨로지입니다 [2]. 단백질 온톨로지(Protein Ontology, PRO)는 모든 단백질에 대해, 특정 형태와 변형에 이르기까지 정밀한 IRI를 부여합니다 [3]. 인간 질병 온톨로지(Human Disease Ontology) 같은 질병 온톨로지(disease ontology)는 질병(disease)에 안정적인 식별자를 제공합니다 [4]. 그리고 생물의학 연구를 위한 온톨로지인 OBI(Ontology for Biomedical Investigations)는 그것들을 둘러싸는 분석(assay), 연구 설계, 역할을 제공합니다. 이 모두가 1부에서 본 같은 BFO 척추 위에 세워졌으며, 모두 OBO 파운드리(OBO Foundry)의 협응된 묶음의 일부입니다 [1][5].

그래서 우리 프로그램의 표적은 "그 항원"이라는 문자열이 아닙니다. 그것은 어떤 PRO 단백질 클래스에 관한 개체이며, 유전자 온톨로지는 그 클래스가 특정 분자 기능을 가진다고 말하고, 그것은 안정적인 질병 온톨로지 IRI로 이름 붙은 어떤 질병에서 발현됩니다. 그 각각은 1부의 식별자 규율에서 다룬 전역적으로 고유한 식별자이며, 그 각각은 이 프로그램의 비공개 그래프를 생물의학 지식의 공개 웹 전체에 연결합니다. 그것은 어떤 사내 어휘로도 살 수 없는 지렛대입니다.

작용 기전은 라벨이 아니라 관계다

프로그램은 표적에 이름만 붙이는 것이 아닙니다. 그것에 관한 가설을 가집니다. 바로 작용 기전(mechanism of action, MoA)입니다. 이를테면 이 항체가 표적에 결합하여 그 신호 전달을 차단할 것이라는 가설입니다. 발표 자료에서 그 가설은 한 문장이지만, 모델에서는 일련의 관계입니다. 항체가 표적에 bindsTo(PRO 개체를 향한 객체 속성)하고, 그 결합이 어떤 유전자 온톨로지 분자 기능을 inhibits하며, 그 억제가 질병에 연루된 생물학적 과정을 조절할 것으로 기대됩니다. MoA를 산문이 아니라 관계로 모델링한다는 것은, 나중의 질문 — 어떤 프로그램들이 이 경로를 표적으로 삼는가? — 이 모든 프로그램의 그래프를 가로지르는 질의(query)가 된다는 뜻입니다. 이는 공리 장이 소개한, QbD를 관계로 보는 바로 그 수법을, 이제 공정이 아니라 생물학에 적용한 것입니다.

하나의 표적 정의를 각각 외부 온톨로지 IRI를 가리키는 여러 줄로 해부한 신분증: 값이 단백질 온톨로지(PRO) 개체인 표적 줄, 유전자 온톨로지 용어를 가리키는 분자 기능 줄, 인간 질병 온톨로지 IRI를 가리키는 질병(적응증) 줄, 항체가 PRO 표적에 bindsTo하고 GO 기능을 inhibits함을 보여 주는 작용 기전 블록, 그리고 OBI 분석 및 역할 클래스를 가리키는 연구(investigation) 줄로 이루어져 있으며, 모든 값이 공개 생물의학 데이터베이스와 공유되는 전역적으로 고유한 식별자임을 알리는 옆 주석과 함께, 각 값이 어느 소스 온톨로지에서 왔는지 색으로 구분되어 있으며, 작용 기전은 일련의 관계로 표시됩니다. 참조로 정의한 하나의 표적. 단백질은 PRO IRI, 그 기능은 유전자 온톨로지 용어, 질병은 질병 온톨로지 IRI, 작용 기전은 일련의 관계입니다. 그리하여 프로그램의 비공개 그래프는 첫 번째 항목부터 생물의학의 공개 웹에 배선됩니다. 저자가 AI의 도움을 받아 직접 제작한 그림입니다.

제품 개념은 제품보다 먼저 존재한다

여기 1부가 우리를 대비시켜 둔 미묘한 지점이 있습니다. 프로그램이 시작되는 날, 그 항체는 존재하지 않습니다. 어떤 세포도 그것을 만들지 않고, 어떤 바이알도 그것을 담고 있지 않습니다. 그런데도 프로그램은 그것을 끊임없이 추론합니다. 의도한 표적, 바라는 특성, 계획한 적응증을. 존재하는 것은 제품 개념(product concept)이며, BFO에는 바로 그것에 딱 맞는 범주가 있습니다. 바로 일반 의존 연속자(generically dependent continuant), 즉 정보 산출물로, 레시피나 사양서와 같은 종류의 것입니다 [1]. 그 개념은 아직 존재하지 않는 미래의 물질 개체에 관한 것입니다. 그것을 정보로 모델링하면, 센서를 겨눌 무언가가 생기기도 전에 그래프가 설계 의도를 담을 수 있습니다. 나중에 그 분자가 발견되고 만들어지고 출하되면, 물리적 원료의약품(drug-product) 로트가 그 개념을 realizes(또는 conformsTo)하며, 최초의 생각에서 충전된 바이알에 이르는 실은 끊어지지 않습니다. 이것이 모든 프로그램이 안고 있는 한 문제에 대한 온톨로지의 답입니다. 즉, 여러분이 만들려고 의도한 것을, 여러 해 뒤 여러분이 실제로 만든 것과 연결되는 방식으로 어떻게 기록하느냐는 문제입니다. 그리고 여기서 이 규율 전체의 보상이 구체적으로 드러납니다. 이 장이 명명하는 것 가운데 프로그램이 새로 만들어 내는 클래스는 사실상 하나도 없습니다. 아래의 거의 모든 개체와 관계는 생물의학계 나머지가 이미 쓰고 있는, 실재하며 역참조 가능한 IRI이며, 로컬에서 새로 찍어 내는 대신 정렬 파일에 묶여 있습니다. 그리하여 첫날의 발견 그래프는 단 하나의 세포가 조작되기도 전에 거의 끝에서 끝까지 공개 웹에 배선됩니다:

# align.ttl — every entity and relation this chapter names is bound UP to a shared, verified
# IRI rather than minted locally. (Excerpt; the running example carries the full alignment.)
@prefix bp: <https://example.org/bioproc#> .
@prefix obo: <http://purl.obolibrary.org/obo/> . # one shared PURL host; each ontology is named in its own comment below
@prefix iof: <https://spec.industrialontologies.org/ontology/construct/> .

# the nouns of the program
bp:Target rdfs:subClassOf obo:PR_000000001 . # Protein Ontology 'protein' (the target is a leaf PRO IRI)
bp:MolecularFunction rdfs:subClassOf obo:GO_0003674 . # Gene Ontology 'molecular_function'
bp:Disease rdfs:subClassOf obo:DOID_4 . # Human Disease Ontology 'disease'
bp:Indication rdfs:subClassOf obo:NCIT_C41184 . # NCIt 'Indication' (the intended-use class; the example below points hasIndication at the disease itself)
bp:MechanismOfAction rdfs:subClassOf obo:NCIT_C54680 . # NCIt 'Mechanism of Action'
bp:Antibody rdfs:subClassOf obo:GO_0071735 . # GO 'IgG immunoglobulin complex'
bp:ProductConcept rdfs:subClassOf iof:InformationContentEntity . # information artifact, kept in IOF to share a family with the recipe and spec; IAO would serve too (see below)
bp:MonoclonalAntibodyProduct rdfs:subClassOf obo:NCIT_C20401 . # NCIt 'Monoclonal Antibody' (the product concept)

# the relations of the hypothesis
bp:isAbout rdfs:subPropertyOf obo:IAO_0000136 . # IAO 'is about' (the concept is about the future molecule)
bp:bindsTo rdfs:subPropertyOf obo:RO_0002436 . # RO 'molecularly interacts with' (the antibody binds the target)
# inhibits / modulates stay the program's own relations on purpose: RO's regulation relations are
# process-scoped, and here the subjects are a material antibody and an information-artifact MoA.

이 정렬들 가운데 어느 것도 반사적인 것이 아닙니다. 각각은 실행 예제가 발행된 온톨로지를 상대로 IRI 하나하나 문서화하고 검증하는, 의도적으로 내린 선택입니다. 어떤 것은 선택이라 하기도 어렵습니다. 단백질은 단백질 온톨로지로, 기능은 유전자 온톨로지로 풀립니다. 누구나 쓰는 IRI가 그것뿐이기 때문입니다. 둘은 진짜 판단이 필요한 선택입니다. 적응증(Indication)작용 기전(mechanism of action)은 SNOMED CT나 MeSH가 아니라 NCI 시소러스(NCI Thesaurus, NCIt)에서 명명합니다. NCIt는 미국 국립암연구소(National Cancer Institute)의 기준 생물의학 어휘이자 규제 세계가 이미 말하는 어휘이기 때문이며, 이는 7부가 온전히 따지는 절충입니다. 그리고 bp:ProductConcept는 그 상위 클래스를 is about의 본거지가 아니라 산업 쪽 IOF에서 가져옵니다. is about의 본거지는 정보 산출물 온톨로지(Information Artifact Ontology, IAO), 즉 OBO 파운드리의 정보 개체 온톨로지입니다. IAO에도 자체 information content entity가 있으므로, 이것은 당연한 선택이 아니라 의도적으로 내린 선택입니다. 이렇게 하면 제품 개념이 1부에서 IOF에 정렬해 모델링한 레시피·사양서와 같은 정보 산출물 가족 안에 머무르고, 그리하여 OBO–IOF 이음새는 개념 그 자체를 가로지르는 대신 연구 용어와 제조 용어 사이를 지나갑니다. 둘 다 정당합니다 — IAO와 IOF는 하나의 BFO 척추에서 내려옵니다 — 그리고 예제는 그저 하나를 골라 그 이유를 기록할 뿐입니다.

개체들은 가설 그 자체를 적재 가능하게 만듭니다. 작용 기전은 산문이 아니라 관계이고, 첫날의 개념에서 실현된 로트로 이어지는 고리는 하나의 실재하는 conformsTo 간선입니다:

# instances.ttl — the target, the day-one product concept, and the loop closed at release.
bp:TARGET-X a bp:Target ; # a Target (a PRO protein); the leaf PRO IRI is program-specific
bp:hasMolecularFunction bp:MF-X . # a Gene Ontology molecular function
bp:PC-mAb-A a bp:MonoclonalAntibodyProduct ; # the product concept — an information artifact, on day one
bp:hasMechanismOfAction bp:MOA-X ;
bp:hasIndication bp:DISEASE-X ; # the indication points at the disease itself (a Human Disease Ontology IRI)
bp:isAbout bp:mAb-A . # about a molecule that does not yet physically exist
bp:MOA-X a bp:MechanismOfAction ; bp:modulates bp:MF-X .
bp:mAb-A bp:bindsTo bp:TARGET-X ; bp:inhibits bp:MF-X .
bp:DP-001 bp:conformsTo bp:PC-mAb-A . # years later, the realized lot closes the loop to the concept

제품 개념을 프로그램 시작 시점에 왼쪽에서 생성된 정보 산출물(일반 의존 연속자)로 보여 주는 가로 타임라인 그래프. 그 개념은 isAbout 간선으로 아직 존재하지 않는, 점선으로 그려진 미래의 항체를 가리킵니다. 화살표들이 발견, 세포주, 제조, 출하 단계를 거쳐 앞으로 나아가다가 마침내 오른쪽에 구체적인 원료의약품 로트 DP-001이 나타나며, 그것이 conformsTo 간선으로 그 개념에 다시 연결되어 의도한 제품에서 실현된 제품으로 이어지는 고리를 닫습니다. 개념 노드는 정보로, 실현된 로트는 물질로 색이 칠해져 있습니다. 그것이 존재하기 전에 모델링한 설계 의도. 제품 개념은 첫날에 생성되어 미래의 분자를 가리키는 정보 산출물입니다. 여러 해 뒤 실현된 원료의약품 로트가 그것을 따르며(conforms to), 생각에서 바이알까지 끊어지지 않는 실을 닫습니다. 하류 단계 ID(WCB-CHO-001, BATCH-2026-001, DP-001)는 이 책의 실행 예제로, 다음 장들에서 온전히 만납니다. 저자가 AI의 도움을 받아 직접 제작한 그림입니다.

미해결 과제: OBO–IOF 이음새

이 장은 이 책의 나머지가 발 딛고 사는 단층선을 조용히 가로지릅니다. 지금 그것을 정직하게 이름 붙이는 것이 옳습니다. 표적을 가장 잘 기술하는 온톨로지들 — GO, PRO, 질병 온톨로지들, OBI — 은 생물의학 세계인 OBO 파운드리(OBO Foundry)에서 자라났습니다. 항체를 만드는 일을 가장 잘 기술하는 온톨로지들 — IOF Core, 1부에서 본 IOF 바이오파마 제조 온톨로지들 — 은 공학 세계인 산업 온톨로지 파운드리(Industrial Ontologies Foundry)에서 자라났습니다. 둘 다 BFO에 근거를 두고 있으며, 바로 그렇기 때문에 둘은 만날 수 있습니다. 하지만 "만날 수 있다"가 "만났다"는 아닙니다. OBI의 assay가 IOF의 measurement process와 어떻게 관계되는지, 또는 PRO 단백질 표적이 정제된 항체인 IOF 물질과 어떻게 관계되는지를 말해 주는, 단일하고 정착되고 보편적으로 채택된 다리는 없습니다. 팀들은 그 다리를 사례별로 짓습니다.

그래서 자신의 표적을 OBO 용어로 아름답게 모델링하고 자신의 제조를 IOF 용어로 아름답게 모델링한 프로그램도 여전히 그 둘 사이의 이음새를 떠안습니다. 그것은 가져다 쓰는 기능이 아니라, 직접 작성하고 검토하고 유지해야 하는 매핑입니다. 이것은 지식 그래프 장이 코드 쪽에서 다다른 것과 같은 교훈입니다. 공유된 상위 근거는 구조의 호환성을 주지만, 두 거대 공동체에 걸친 내용의 합의는 2026년에도 여전히 부분적으로는 지향점에 머물러 있습니다. 좋은 소식은 BFO가 그 다리를 가능하게, 그리고 작게 만든다는 것이고, 정직한 소식은 그 다리가 여러분이 지어야 할 몫이라는 것이며, 발견에서 제조로 넘어가는 인수인계야말로 이 책의 두 온톨로지 세계가 처음으로 악수를 나눠야 하는 지점입니다.

왜 중요한가

공유 온톨로지로 표적에 이름을 붙이는 비용은 첫날에는 거의 없고, 천 번째 날에 소급해 맞추기에는 막대합니다. 자신의 유전자·단백질·질병에 대해 비공개 코드로 시작한 프로그램은, 여러 연구를 가로질러 질의하거나 구조화된 데이터를 제출하려 할 때, 그 코드들을 공개 온톨로지에 사후적으로 대조해 맞춰야 합니다. 이는 지난 장이 정체성의 미해결된 절반이라 말했던 개체 해소(entity-resolution) 문제를, 이제 스스로 불러들인 것입니다. 처음부터 공유 IRI를 빌린 프로그램은 그저 그 자체로 상호운용 가능합니다. 가장 이른 개체들은 정체성을 옳게 잡기에 수명주기 전체에서 가장 값싼 자리이자, 그르치기에 가장 비싼 자리입니다.

실제 현장에서는

이것은 제조에서는 아직 보편적이지 않더라도, 연구 정보학에서는 확립된 관행입니다. GO, PRO, OBI, 질병 온톨로지들은 성숙하고 무겁게 쓰이며 자금 지원을 받는 컨소시엄이 큐레이션합니다. 공개 데이터베이스는 기본값으로 그것들에 주석을 답니다 [2][3]. 실제 항체 프로그램의 표적 — 사이토카인, 수용체, 체크포인트 단백질 — 은 이미 PRO IRI와 GO 기능 주석을 가지고 쓰이기를 기다리고 있습니다. 아직 성숙 중인 것은 제조 쪽이 손을 뻗어 연구 쪽을 맞이하는 일입니다. IOF 바이오파마 온톨로지들은 최근에야 발표되었으며, 표적의 OBO 정체성을 세포주와 출하된 원료의약품에까지 끝까지 들고 가는 규율이야말로 이 책의 나머지가 걷는 바로 그 변경(frontier)입니다.

핵심 용어

  • 표적(Target) — 그 행동이 질병을 몰고 가며, 바이오의약품이 결합하도록 설계되는 분자(대개 단백질). 단백질 온톨로지 IRI를 참조하여 모델링함.
  • 작용 기전(Mechanism of action, MoA) — 항체가 표적의 행동을 어떻게 바꾸는지에 관한 프로그램의 가설. 산문이 아니라 관계(bindsTo는 관계 온톨로지의 molecularly interacts with에 정렬, inhibits는 로컬 유지)로 모델링하며, 클래스로서는 NCI 시소러스 용어 Mechanism of Action으로 명명함.
  • 제품 개념(Product concept) — 의도한 제품. 물리적 제품보다 먼저 존재하고 나중에 실현된 로트가 따르는, 일반 의존 연속자(정보 산출물)로 모델링함.
  • OBI(Ontology for Biomedical Investigations) — 생물의학 연구 전반에서 쓰이는, 분석·연구 설계·역할에 관한 BFO 근거 온톨로지.
  • 유전자 온톨로지(GO) / 단백질 온톨로지(PRO) — 유전자 산물 기능과 특정 단백질 개체에 대한 표준 온톨로지.
  • 질병 온톨로지(Disease ontology) — 프로그램이 치료하려는 질병에 대한 안정적 식별자 온톨로지(예: 인간 질병 온톨로지). 실행 예제에서는 이 질병이 적응증 자리를 채우며, NCIt의 Indication 클래스는 의도한 용도(intended-use) 의미를 명명합니다.
  • OBO–IOF 이음새(OBO–IOF seam) — 표적을 기술하는 생물의학(OBO) 온톨로지와 그것을 만드는 일을 기술하는 제조(IOF) 온톨로지 사이의 아직 다리가 놓이지 않은 경계. 둘 다 BFO에 근거하지만, 그 교차 연결(crosswalk)은 여러분이 작성할 몫.

다음 이야기

우리는 표적과 의도한 제품에 이름을 붙였습니다. 다음 장 분자 모델링: 서열, 모달리티, 개발 가능성은 프로그램이 그 개념을 실제 후보 분자로 바꾸는 과정을 따라갑니다. 서열이 어떻게 정보 개체(information entity)가 되는지, "개발 가능성(developability)"이 후보가 가지거나 갖지 못하는 일련의 성향(disposition)으로 어떻게 모델링되는지, 그리고 선도 물질을 선택하는 발견 캠페인 그 자체가 어떻게 그래프가 기록할 수 있는 발생자(occurrent)인지를 보여 줍니다.