개념화: BFO 아래의 클래스와 분류학
📍 현재 위치: 제3부 · 개념화 — 라이프사이클의 세 번째 단계로, (개념화를 그 자체의 시나리오로 틀 짓는) NeOn의 통제를 받고 SAMOD의 테스트 우선 리듬으로 진행됩니다. 요구사항은 작성되었고 재사용 결정은 내려졌습니다. 이제 모두가 잘못 첫 번째라고 생각하는 그 행위를 합니다. 항체 캠페인의 존재들을 명명하는 일입니다.
단일클론항체 프로그램의 클래스를 마침내 그리게 되는 날, 가장 구체적으로 느껴지는 것들 — Bioreactor, Batch, Antibody — 을 먼저 그리고 그것들이 어디에 자리하는지는 나중에 걱정하고 싶은 유혹이 듭니다. 그것은 정확히 거꾸로입니다. 카테고리가 없는 클래스는 모델이 아니라 라벨입니다. 그것은 추론기에게 그것이 어떤 종류의 것인지, 무엇과 혼동될 수 있고 없는지, 어떤 관계가 그것에 붙을 수 있는지 알려 주지 못합니다. 그래서 여기서 개념화란, 역량 질문(competency questions)이 요구하는 모든 존재 — 항체가 결합하는 표적, 조작된 CHO 세포주, 보관된 바이알, 생산 런, 출하된 바이알 — 에 대해, 다른 무엇보다 먼저 BFO 상위 등뼈 아래에서의 그 자리를 고정하는 것을 뜻합니다. 그 배치야말로 모델의 나머지를 검사 가능하게 만드는 것이기 때문입니다. 프로세스 전체 길이를 가로지르는 분자가 가장 먼저 올바르게 잡아야 할 것이며, 동시에 당신을 가장 잘 속이는 것입니다.
창고에 물건을 채우기 전에 통로를 정합니다. 이 통로는 도구용(지속되며 재사용합니다), 이 통로는 재고용(흘러 들어와 출하됩니다), 이 통로는 장부용(앞의 둘에 관한 정보입니다)입니다. 지게차를 재고 통로에 두면 재고 시스템이 그것을 팔 수 있는 물품으로 셉니다 — 비용을 치르게 하는 카테고리 오류입니다. 온톨로지의 "통로"는 BFO의 최상위 카테고리입니다. 지속하는 것(thing that persists)(생물반응기), 흘러 지나가는 것(thing that flows through)(배양액 한 배치), 일어남(happening)(2주짜리 세포 배양 런), 측정 가능한 특징(measurable feature)(단량체 순도), 그리고 정보(information)(항체의 서열, 제품 개념)입니다. 이 장은 캠페인의 모든 존재를 그 통로에 배정하며, 이 책 전체에서 가장 중요한 배정은 용기와 배치와 런을 서로 다른 셋에 두는 것입니다.
질문에서 출발하라
개념화는 여전히 브리프에 책임을 집니다. 아래에서 명명하는 클래스들은 실제 캠페인에 관한 특정 역량 질문을 물을 수 있게 만들기 위해 존재합니다. 이 장이 그리는 continuant/occurrent 분리는 구조적 CQ-21 — 세포 배양 런은 어떤 용기에서 일어났는가? — 을 뒷받침합니다. 이 질문은 런(occurrent)과 용기(장비)가 간선으로 이어진 서로 다른 존재일 때에만 일관적이며, 하나의 노드가 두 유형을 걸치는 일은 결코 없습니다. 또한 이는 CQ-20(세포주가 산물을 발현하는 숙주 생물 — 이 프로그램에서는 중국 햄스터), 계보 질문 CQ-01과 CQ-02(원료의약품 로트를 워킹 세포 은행까지 거슬러 추적하려면 물질 위로 derivedFrom 등뼈가 필요합니다), 그리고 CQ-23이 시험하는 disjointness 가드(프로세스로, 또는 생물반응기로 유형이 정해진 Batch는 반드시 잡아내야 합니다)를 마련합니다. 아래의 모든 클래스는 이 중 하나를 가리킴으로써 제 자리를 얻으며, 어떤 질문도 섬기지 않는 클래스는 그려지지 않습니다.
등뼈를 로컬화하다: 여섯 최상위 카테고리, 하나의 occurrent
첫 수는 BFO의 카테고리들을 로컬하게 만드는 것입니다 — 다른 모든 것이 매달리는 한 줌의 최상위 클래스를 선언하여, 어떤 것이 어느 통로에 사는지 말하기 위해 BFO 전체를 임포트할 필요가 없게 합니다. 다섯은 continuant(시간을 통해 지속하는 것)이고, 하나는 occurrent(일어남)입니다. 다음은 러닝 예제가 시작하는 그대로의 선언입니다:
# bioproc.ttl — the BFO spine, made local. Five continuants and one occurrent.
bp:Material a owl:Class ; rdfs:label "Bioprocess material" ;
skos:definition "A physical material that participates in or is produced by the process: cells, media, broth, harvest, pools, drug substance, drug product, excipients, packaging." .
bp:Equipment a owl:Class ; rdfs:label "Equipment" ;
skos:definition "A persisting piece of equipment or consumable apparatus; distinct from the material it processes — it survives across many batches." .
bp:Quality a owl:Class ; rdfs:label "Quality" ;
skos:definition "A measurable attribute that inheres in a material entity (purity, concentration, temperature, turbidity, integrity)." .
bp:RealizableEntity a owl:Class ; rdfs:label "Realizable entity" ;
skos:definition "A specifically dependent continuant — a role, disposition, or function — that inheres in a bearer and is realized in some process." .
bp:InformationArtifact a owl:Class ; rdfs:label "Information artifact" ;
skos:definition "Copyable information (a generically dependent continuant): a recipe, specification, record, certificate, model, identifier, or claim." .
bp:Process a owl:Class ; rdfs:label "Bioprocess process" ;
skos:definition "Something that happens and unfolds in time (a fermentation, a unit operation, an assay, a shipment) — an occurrent with temporal parts." .
이것은 맨 꼭대기에 그어진 continuant/occurrent 구분이며, 모델에서 가장 중대한 한 줄입니다. 이 분리는 그 자체를 위한 철학이 아니라 — 배치 추적성을 사 주는 것입니다. 발효는 occurrent입니다. 그것은 대략 2주에 걸쳐 한 번 일어났고 사라졌습니다. 그것이 산출한 배치는 continuant입니다. 지속하고, 샘플링되고, 출하 판정을 받고, 출하되는 물질입니다. 둘이 서로 다른 통로이기 때문에, 그래프는 같은 용기가 지난달에 다른 런을 호스팅했다고 말할 수 있고, 순도 quality는 배치에, 지속 시간은 런에 붙일 수 있으며, 한 로트를 그에 앞선 모든 물질을 거쳐 거슬러 추적할 수 있습니다 — 런과 배치가 하나의 흐릿한 노드라면 그 무엇도 불가능합니다. Material, Equipment, Quality, RealizableEntity, InformationArtifact는 모두 continuant이고 Process는 occurrent입니다. 하류의 모든 것은 이 여섯 중 정확히 하나의 하위 클래스이므로, 추론기는 어떤 존재든 그것이 어느 통로에 사는지 알 수 있습니다. 이 선언들이 논리적 효력을 갖게 하는 OWL 2 기반은 어휘 장이 소개한 표준 RDF/OWL 스택입니다 [1][2].
이 여섯 카테고리는 OBO Foundry와 IOF의 공유 통화입니다 — 관계 온톨로지(Relations Ontology)는 그것들을 잇는 동사를 표준화하며(런은 아무것에도 참여하지 않지만 세포는 그것에 참여합니다; 로트는 그 부모로부터 파생됩니다), Material에 대해 한 번 선언된 관계는 캠페인이 명명하는 모든 물질에 작동합니다. 그 표준화야말로 프로그램의 발견 쪽(GO, PRO, OBI)과 제조 쪽(IOF)이 만날 수 있는 이유이며, 이 장이 되돌아오는 이음매입니다.
중간에서 바깥으로 모델링하기: 명백한 것을 먼저 명명하고, 위아래로 손을 뻗어라
분류학은 엄격히 위에서 아래로(Material에서 출발해 영원히 정제하기) 만들지도, 엄격히 아래에서 위로(모든 잎을 나열하고 나중에 일반화하기) 만들지도 않습니다. 실용적 방법, 그리고 이 모델이 따르는 방법은 중간에서 바깥으로(middle-out)입니다. 도메인 전문가가 망설임 없이 명명하는 존재 — Batch, DrugSubstance, CellLine, Bioreactor — 에서 출발해, 위로 손을 뻗어 각각이 올바른 최상위 카테고리 아래에 자리함을 확인하고, 아래로 손을 뻗어 역량 질문이 필요로 하는 구별을 더합니다.
세포 은행 계층이 가장 깔끔한 예이며, 제조 프로그램이 왜 은행을 하나의 평평한 것으로 모델링할 수 없는지를 보여 줍니다. 과학자는 망설임 없이 "세포 은행"을 명명합니다 — 그러나 제조 프로그램은 은행 하나를 보유하지 않고, 빈틈없이 관리되는 3계층 위계를 보유하며, 그 계층들은 깔끔함이 아니라 출하 이유로 존재합니다. 연구 세포 은행(research cell bank, RCB)은 초기 분주물이고, 마스터 세포 은행(master cell bank, MCB)은 한 번 만들어 철저히 특성 규명되는 규제의 닻이며, 워킹 세포 은행(working cell bank, WCB)은 MCB에서 인출되어 실제로 캠페인을 접종하는 것입니다. 각 계층은 서로 다른 계대 수에 자리하고, 서로 다른 시험 부담을 지며, 서로 다른 출하 질문에 답합니다. 중간에서 바깥으로 모델링하기는 "세포 은행"에서 아래로 그 세 계층까지 손을 뻗고, 위로 그 모두를 Material에 닻으로 붙듭니다:
# bioproc.ttl — cell-line materials, reached at by middle-out modeling from "the cell bank".
bp:CellLine a owl:Class ; rdfs:subClassOf bp:Material ; rdfs:label "Cell line" ;
skos:definition "An engineered CHO production cell line expressing the product antibody; the population the cell banks are aliquoted from." .
bp:CellBank a owl:Class ; rdfs:subClassOf bp:Material ; rdfs:label "Cell bank" .
bp:ResearchCellBank a owl:Class ; rdfs:subClassOf bp:CellBank ; rdfs:label "Research cell bank (RCB)" .
bp:MasterCellBank a owl:Class ; rdfs:subClassOf bp:CellBank ; rdfs:label "Master cell bank (MCB)" .
bp:WorkingCellBank a owl:Class ; rdfs:subClassOf bp:CellBank ; rdfs:label "Working cell bank (WCB)" .
bp:HostOrganism a owl:Class ; rdfs:subClassOf bp:Material ; rdfs:label "Host organism" ;
skos:definition "The biological host of the cell line (Chinese hamster, Cricetulus griseus)." .
CellBank을 — "계층" 문자열을 가진 하나의 평평한 클래스가 아니라 — 세 하위 유형을 가진 상위 클래스로 만드는 것이, 영향 및 출하 CQ를 클래스 질의("계대 한도 안의 모든 워킹 세포 은행을 반환하라")로 만들고, 형식화가 그 계층들이 상호 배타적임을 — 한 바이알은 RCB이거나 MCB이거나 WCB이며 결코 동시에 둘이 아님을 — 진술할 수 있게 합니다. 인스턴스 장은 이 조각을 그 disjointness 공리와 계대-한도 및 특성-규명 제약과 함께 앞으로 운반합니다. 개념화 단계의 세밀한 작업은 정확히 이것입니다. 질문 하나하나마다 얼마나 아래까지 정제하고 어디서 멈출지를 결정하는 일 — 그리고 RCB/MCB/WCB 계층은 선택적인 모범 관행이 아니라 세포 기질에 관한 규제 지침이 기대하는 구조이며, CHO 생산 세포주(서열이 밝혀지고 유전체가 공개된, 상업용 항체의 지배적 숙주)가 애초에 이렇게 은행화되는 이유입니다.
첫 존재들의 명명: 표적과 제품 개념
개념화는 의약품이 아직 질병에 대한 하나의 아이디어인 프로그램의 첫날에 시작됩니다. 표적(target) — 항체가 결합할, 질병과 관련된 단백질 — 과 제품 개념(product concept) — 프로그램이 만들고자 하는 것 — 이 여기서 명명되며, 그 카테고리 배정이 교훈입니다. 표적은 bp:Material입니다(설령 프로그램이 첫 항목부터 공공 생물의학에 배선되도록 단백질 온톨로지 IRI를 참조해 명명되더라도, 그것은 물리적 단백질입니다). 반면 제품 개념은 InformationArtifact입니다 — 어떤 세포도 분자를 만들기 전, 첫날에 존재하는 일반 의존적 continuant입니다 [3]:
# bioproc.ttl — the first entities, each placed in its BFO aisle.
bp:Target a owl:Class ; rdfs:subClassOf bp:Material ; rdfs:label "Molecular target (antigen)" ;
skos:definition "The disease-relevant protein the antibody is designed to bind; named by a Protein Ontology IRI." .
bp:ProductConcept a owl:Class ; rdfs:subClassOf bp:InformationArtifact ; rdfs:label "Product concept" ;
skos:definition "The day-one information artifact naming what the program intends to make; the released drug product conformsTo it, closing the loop from idea to vial." .
bp:MonoclonalAntibodyProduct a owl:Class ; rdfs:subClassOf bp:ProductConcept ; rdfs:label "Monoclonal antibody product (concept)" .
제품 개념을 — 아직 존재하지 않는 물질이 아니라 — 정보로 유형 지정하는 것은 철학적 필요가 아니라 실제 프로그램 필요를 해결합니다. 프로그램이 시작되는 날 어떤 세포도 항체를 만들지 않고 어떤 바이알도 그것을 담고 있지 않지만, 팀은 그것에 관해 끊임없이 추론합니다(의도된 표적, 계획된 적응증, 바라는 특성). 개념을 일반 의존적 continuant로 분류하면 그래프가 센서를 겨눌 대상이 생기기 전에 그 설계 의도를 담을 수 있고, 수년 뒤 실현된 완제의약품 로트가 그것에 conformsTo할 수 있게 됩니다 — 발견, 세포주, 제조, 출하를 가로질러 아이디어에서 바이알까지 끊기지 않는 실타래를 닫는 것입니다. 표적을 개념에 잇는 작용기전 또한 같은 방식으로 모델링됩니다. 슬라이드의 문장이 아니라 관계로(항체가 표적에 결합하고, 그 결합이 분자 기능을 억제합니다) — 그래서 나중의 질문 — 어떤 프로그램들이 이 경로를 표적으로 삼는가? — 이 문헌 검토가 아니라 질의가 됩니다. 이것이 실제 모델링 능력을 사 주는 BFO 카테고리입니다.
분자는 한꺼번에 세 가지다
선도 분자는 하나처럼 보이지만 여럿으로 모델링됩니다. 하나의 항체가 진정으로 세 종류의 것이기 때문이며, 그것들을 융합한 그래프는 가장 중요한 주장들을 잃기 때문입니다. 그 서열(sequence)이 있습니다 — 아미노산 문자열, 복사해 이메일로 보낼 수 있는 순수한 정보, 제품 개념 및 레시피와 같은 통로의 일반 의존적 continuant입니다. 그것으로부터 실제로 발현된 각 단백질 배치(batch of protein)가 있습니다 — 세포가 만들어야만 존재하는 물질 존재들입니다. 그리고 그 모달리티(modality)가 있습니다 — 단일클론항체, 이중특이성, 항체-약물 접합체 — 후보가 인스턴스화하는 클래스로, 단백질 온톨로지와 모달리티 어휘가 공급합니다. 악보와 연주와 장르를 혼동하면 "같은 분자가 두 번 만들어졌다"고 말할 수 없습니다. 그것들을 떼어 두면, 그래프는 물리적으로 구별되는 두 로트가 정확히 같은 서열을 실현하고 같은 공유 유형을 인스턴스화하기 때문에 "같은 분자"라고 진술할 수 있습니다:
# bioproc.ttl — the molecule is a Material; its developability is a branch of RealizableEntity.
bp:Antibody a owl:Class ; rdfs:subClassOf bp:Material ; rdfs:label "Antibody molecule" .
bp:CandidateMolecule a owl:Class ; rdfs:subClassOf bp:Antibody ; rdfs:label "Candidate antibody molecule" .
bp:Disposition a owl:Class ; rdfs:subClassOf bp:RealizableEntity ; rdfs:label "Disposition" ;
skos:definition "A realizable tendency of a material entity to behave a certain way under triggering conditions (a resin's tendency to bind antibody; a molecule's tendency to aggregate)." .
bp:Developability a owl:Class ; rdfs:subClassOf bp:Disposition ; rdfs:label "Developability disposition" ;
skos:definition "A molecule's manufacturability tendency assessed in discovery (aggregation propensity, thermal stability, expression titer, viscosity)." .
bp:AggregationPropensity a owl:Class ; rdfs:subClassOf bp:Developability ; rdfs:label "Aggregation propensity" .
모달리티는 한가한 분류학이 아닙니다. 그것은 어떤 하류 프로세스 클래스가 애초에 적용되는지를 결정합니다. 이중특이성은 평범한 mAb에는 없는 단계와 품질 속성을 함의하므로, 후보를 모달리티로 유형 지정하면 그래프가 어떤 제조 템플릿이 맞는지 추론할 수 있게 됩니다 — CandidateMolecule이 자유롭게 떠다니지 않고 Antibody 아래(그리고 그것을 통해 정렬 파일이 빌려 오는 공유 IgG 클래스 아래)에 자리하는 이유입니다.
분자의 개발성(developability) — 응집 경향, 열 안정성, 발현 역가, 점도 — 은 더 어려운 모델링 판단이며, 카테고리들이 그것을 다시 갈라놓습니다. 후보는 표적에 완벽히 결합하면서도 개발 불가능할 수 있습니다. 응집에 취약하고, 불안정하고, 농축 시 점성이 높고, 발현이 어려울 수 있습니다. 순진한 모델은 이것들을 숫자의 열로 기록합니다. 더 나은 모델, 그리고 BFO가 가능하게 하는 모델은 각각을 disposition으로 — 현재 측정되든 아니든 분자가 지니는 실제 경향인 realizable entity로 — 다루며, 그것의 증거인 분석법 결과(assay result)와 구별합니다 [4]. "이 후보는 응집한다"는 분자의 본성에 관한 주장이고, "분석법이 고분자량 분획을 읽었다"는 그것을 뒷받침하는 한 번의 측정입니다. Developability를 Quality가 아니라 RealizableEntity 아래에 두는 것이, 그래프가 하나의 기저 특성에 대해 여러 증거 줄기를 축적하고, 두 분석법이 불일치할 때 표시하고, 그리고 — 보상 — 응집 경향을 제조성 위험(manufacturability risk)으로 공정 개발에 앞으로 운반하게 합니다. 거기서 그것은 통제할 특정 응집 CQA와 QC의 특정 출하 시험이 됩니다. disposition을 모델링하면 그 앞으로의 실타래는 자동이고, 보고서의 숫자로 모델링하면 제조 팀이 발견이 이미 알았던 것을 처음부터 다시 도출합니다.
선택 그 자체도 카테고리를 받을 가치가 있습니다. 발견은 체입니다 — 프로그램이 많은 후보를 생성하고, 측정하고, 하나의 선도로 좁힙니다 — 그리고 그 스크리닝 캠페인(screening campaign)은 occurrent입니다. 후보 참여자, 분석법, 순위 기준을 가진 일어남입니다. 그것을 bp:Process로 유형 지정한다는 것은, 그래프가 이 선도가 선택되었다는 사실만이 아니라 어떤 후보를, 어떤 분석법에서, 어떤 기준으로 이겼는지를 기록한다는 뜻입니다. 그래서 규제기관이 "왜 이 분자인가?"라고 물으면, 그 답은 회상이 아니라 재구성 가능한 하위 그래프입니다. 진 후보들은 참여자로 연결된 채 남고, 그 결정은 수년 뒤에도 방어 가능하게 남습니다.
가장 중요한 개념화를 그리다: 지속하는 용기(장비), 배치(물질), 단계로 나뉜 세포 배양 런(occurrent)은 세 개의 서로 다른 BFO 통로에 있는 세 개의 서로 다른 존재입니다 — 런은 용기에서 occursIn하고 배치를 hasOutput하며, 간선으로 이어지고 결코 하나의 노드로 융합되지 않습니다.
저자가 AI의 도움을 받아 직접 제작한 그림입니다.
날카로운 구분: 용기와 배치와 런은 세 가지다
이것은 이 장에서 가장 어렵고 가장 값진 구분이며, 부주의한 모델이 — 캠페인 전체에서 가장 데이터가 풍부한 단계에서 — 세 존재를 하나의 흐릿한 노드로 융합하며 조용히 깨뜨리는 것입니다. 생물반응기(bioreactor) BR-101은 Equipment입니다. 그것은 캠페인을 가로질러 지속하며 지난달에 다른 배치를 돌렸습니다. 배치(batch) BATCH-2026-001은 Material입니다. 배양액, 그다음 항체를 품은 배양물이며, 이 런에 대해서만 존재합니다. 세포 배양 프로세스(cell-culture process) CCP-001은 occurrent입니다. 용기에서 occursIn하고 배치를 hasOutput하는 2주짜리 일어남이며, 그 자체가 성장기(세포가 증식)와 생산기(세포가 항체를 만듦)로 나뉘고, 각각은 설계 공간으로부터 서로 다른 파라미터 범위를 따릅니다. 세 BFO 카테고리가 분류학의 세 가지로 명명됩니다:
# bioproc.ttl — three categories where it is tempting to model one.
bp:Batch a owl:Class ; rdfs:subClassOf bp:Material ; rdfs:label "Bioreactor batch" ;
skos:definition "The material produced by one cell-culture run; exists only for that run (distinct from the vessel that held it)." .
bp:Bioreactor a owl:Class ; rdfs:subClassOf bp:Equipment ; rdfs:label "Bioreactor" .
bp:ProductionBioreactor a owl:Class ; rdfs:subClassOf bp:Bioreactor ; rdfs:label "Production bioreactor" .
bp:CellCultureProcess a owl:Class ; rdfs:subClassOf bp:Process ; rdfs:label "Cell-culture process" .
이것들을 떼어 두는 것이, 그래프가 같은 BR-101 용기가 지난달에 다른 배치를 돌렸다고 — 새 물질, 새 프로세스, 같은 장비 — 어떤 모순도 없이 진술하게 하며, CQ-21("이 런은 어떤 용기에서 일어났는가?")을 동어반복이 아니라 일관된 질문으로 만듭니다. 런-대-용기 사실은 프로세스에서 장비로 가는 명시적 occursIn 간선에 실립니다. 그것은 결코 배치에 몰래 끼워 넣은 두 번째 rdf:type이 아닙니다. 또한 여기가 설계 공간의 파라미터가 마침내 붙을 실제 런을 갖는 곳입니다. 공급 속도가 단량체 순도에 영향을 준다는 유형 수준 사실이, 이 런에서는 한 단계 안에서 유지된 설정점이 됩니다 — 설계 공간은 무엇이 참이어야 하는지를 말했고, 런은 무엇이 실제였는지를 기록합니다. 그리고 단계는 라벨이 아니라 하위 프로세스이기 때문에, 생산기에는 중요하지만 성장기에는 무관한 공급 속도가, 미분화된 전체로서의 런이 아니라 그것이 다스리는 단계에 붙습니다. 모든 제어 시스템이 이미 따르는 표준 ISA-88 배치 모델은 이 같은 용기-배치-프로세스 선을 암묵적으로 긋습니다 [2] — 온톨로지는 그것을 명시적이고 검사 가능하게 만들 뿐입니다.
이 구분의 두 번째 가치는 통합의 정직성입니다. 두 소스 시스템이 하나의 런을 기술할 때 — MES 배치 등록부는 그것을 배치라 부르고, 계보 로더는 그 부모가 "생물반응기에서 돌았다"고 적을 때 — 순진한 합집합은 그 하나의 노드를 Batch이면서 동시에 Bioreactor로 유형 지정해, 물질과 용기를 융합합니다. 분류학이 Batch(Material)와 Bioreactor(Equipment)를 disjoint한 통로에 유지하기 때문에, 그 융합은 표시되는 오류이고, 충실한 해소가 강제됩니다. 계보의 "생물반응기"를 별도의 용기 BR-101로 보내, 런이 그것에서 occursIn하게 하고, 각 rdf:type 주장이 서로 다른 소스에서 왔음을 출처와 함께 기록합니다. 충돌은 조정되고, 어떤 노드도 양립 불가능한 두 카테고리를 걸치지 않습니다. (런이 만들어 내는 PAT 센서 데이터의 급류는 그래프에서 색인되고 히스토리언에 저장되며, 결코 트리플로 평탄화되지 않습니다 — 관계 장이 hasTrace 간선으로 그리는 규율입니다.)
disjoint하게 유지되는 가지들
잘 명명된 클래스의 분류학도, 카테고리들이 BFO가 그래야 한다고 말하는 곳에서 상호 배타적으로 선언되기 전까지는 여전히 분류학일 뿐입니다. 러닝 예제는 continuant/occurrent 및 material/equipment 규율을 최상위 카테고리에 대한 disjointness 공리로 진술합니다 — "배치는 런이 아니다"를 조언에서 강제되는 규칙으로 바꾸는 형식적 이빨입니다:
# bioproc.ttl — the spine's disjointness: nothing is two top categories at once.
bp:Material owl:disjointWith bp:Process , bp:Equipment , bp:Quality , bp:RealizableEntity , bp:InformationArtifact .
bp:Process owl:disjointWith bp:Quality , bp:RealizableEntity , bp:InformationArtifact , bp:Equipment .
bp:Quality owl:disjointWith bp:RealizableEntity , bp:InformationArtifact .
이 공리들의 온전한 힘 — 추론기가 Bioreactor로도 유형이 정해진 Batch를 잡기 위해 그것들을 어떻게 사용하는지, 그리고 왜 실행 가능한 파이프라인이 그것들과 나란히 SHACL 가드를 필요로 하는지 — 은 다음 단계인 형식화에 속합니다. 개념화의 일은 disjoint한 가지를 올바르게 그리는 것이고, 형식화는 그것들에 논리적 물어뜯음을 줍니다. (클래스 수준 bp:Batch owl:disjointWith bp:CellCultureProcess 공리도 선언되어, 이 장이 경고하는 특정 융합을 못 박으며, 세 세포 은행 계층은 한 바이알이 마스터이면서 워킹 은행일 수 없도록 쌍쌍이 disjoint로 선언됩니다.)
단일 캠페인 배치의 해부, 여섯 통로가 모두 일하다
분류학의 보상은 모든 BFO 카테고리가 한꺼번에 한 가지 일을 하는 캠페인의 한 조각에서 드러납니다. 배치 물질(batch material) BATCH-2026-001은 Material이고, 그것을 담은 용기(vessel) BR-101은 Equipment이며, 그것들을 이은 세포 배양 런(cell-culture run)은 Process(occurrent)이고, 로트에 하류에서 측정된 단량체 순도(monomer purity)는 Quality이며, 용기가 이 한 캠페인에 대해 지니는 생산-반응기 역할(role)은 RealizableEntity이고, 런을 처방한 마스터 배치 기록(master batch record)은 레시피나 항체 서열처럼 InformationArtifact입니다. 여섯 존재, 여섯 통로, 관계로 이어집니다 — 그리고 각각이 분류되었기 때문에, 그래프는 같은 배치에 대해 어떤 용기가 호스팅했는지, 어떤 부모로부터 파생되었는지, 어떤 순도를 지녔는지, 어떤 레시피를 실현했는지를 그 사실들이 충돌하는 일 없이 물을 수 있습니다. 그것이 개념화 단계 전체가 사 주려고 존재하는 단 하나의 능력입니다.
평가: 분류학은 그 카테고리를 지켜 내는가?
개념화는 SAMOD 방식으로 검증됩니다 — 어휘와 캠페인의 인스턴스를 적재하고 카테고리들이 데이터와의 접촉에서 살아남는지 확인하는 것입니다. validate.py는 모델을 파싱하고 그 위에서 추론합니다. 이 장의 분리들을 가동하는 구조적 검사는 카테고리들이 깨끗이 유지됨을 보고합니다:
# Real output from validate.py (owlrl OWL-RL closure + SHACL over the running example).
[1] parsed 2120 triples (bioproc + align + instances)
[2] reasoned: 2120 -> 7137 triples after OWL-RL closure
[3] competency questions (ORSD v1.0.0 acceptance tests):
CQ GROUP RESULT DETAIL
----- -------------- ----- ----------------------------------------
CQ-01 lineage PASS 11 row(s)
CQ-22 structural PASS transitive lineage + equipment-is-material inferred
CQ-23 structural PASS Batch-as-process and Batch-as-bioreactor both caught
심어 둔 두 융합 — 프로세스로 유형이 정해진 Batch, 그리고 생물반응기로도 유형이 정해진 Batch — 은 둘 다 잡히며, 이것이 CQ-23의 통과입니다. 이 장이 그린 용기-배치-런 구분은 단지 문서화된 것이 아니라 강제됩니다. (OWL-RL은 owl:disjointWith에 작용하지 않으므로 실행 가능한 포착은 SHACL 가드이며, HermiT나 ELK 같은 완전한 DL 추론기는 disjointness 공리를 직접 강제합니다 [5].) 장거리 derivedFrom 추론은 Material 가지가 하나의 전이적 계보 등뼈로 배선되어 있음을 확인합니다 — 원료의약품에서 연구 세포 은행까지 열한 조상 깊이로 — CQ-01과 CQ-02의 전제 조건입니다.
세포 은행의 카테고리는 안전이 걸린 계보를 사 준다
분류하기 가장 어려운 존재는 걸린 것이 가장 많은 존재입니다. 세포 은행은 살아 있는 것이며, 분류학은 그럼에도 그래프가 그것을 안정적인 제조 뿌리로 다룰 수 있게 해 주는 것입니다. WCB는 그 바이알이 MCB로부터 derivedFrom되고 세포를 시드 트레인으로 넘겨줄 수 있도록 Material로 유형이 정해집니다. 그러나 분류학이 강제하는 선택들 — 숙주 생물, 창조하는 형질주입, 특성 규명의 부담 — 이 그 뿌리를 신뢰할 수 있게 만듭니다. 그 관계들 중 둘은 의도적으로 함수적(functional)이며, 이는 출처를 중복 제거합니다. 은행은 정확히 하나의 클론과 정확히 하나의 형질주입에서 내려오므로, 두 소스 시스템이 모두 createdBy를 단언해도 두 부모를 발행할 수 없습니다 — 함수적 속성이 중복된 출처 단언을 하나의 사실로 합칩니다. 형질주입 자체는 occurrent(bp:Transfection rdfs:subClassOf bp:Process)이며, 유전 구성체를 입력으로, 조작된 세포주를 출력으로 가집니다 — 세포주를 창조한 사건이, 정적 속성이 아니라 일어남으로 모델링됩니다.
카테고리는 또한 형식화가 특성 규명을 필수로 만들게 합니다. 워킹 세포 은행은 개방 세계에서 적어도 하나의 특성 규명 결과를 지니도록 제약되고, 실행 가능한 SHACL 게이트는 같은 조건을 폐쇄 세계에서 강제합니다 — 특성 규명이 기록되지 않은 은행은 "불완전"하며, 제조 뿌리에게 그것은 너그러운 "알 수 없음"이 아니라 강경한 실패입니다:
# shapes.ttl — the cell-bank gate (closed-world): a WCB must be characterized and have a passage count.
bp:CellBankShape a sh:NodeShape ;
sh:targetClass bp:WorkingCellBank ;
sh:property [
sh:path bp:hasCharacterization ;
sh:minCount 1 ;
sh:message "A working cell bank must carry at least one characterization result." ] ;
sh:property [
sh:path bp:passageNumber ;
sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:integer ;
sh:message "A working cell bank must record exactly one passage count." ] .
WCB-CHO-001이 실제로 지니는 네 가지 특성 규명은 일반적인 완전성 필드가 아닙니다. 각각은 특정 재앙을 막습니다. 동일성/인증(identity/authentication)은 수십 년 동안 생명과학 전반에 걸쳐 세포주를 교차오염시켜 온 오인식을 막습니다 — 그리고 제조 뿌리 노드에게 오인식은 가능한 한 최악의 오류입니다. 그것은 모든 derivedFrom 간선을 통해 모든 하류 배치로 완전한 확신을 가지고 전이적으로 전파되며, 어떤 하류 무결성 검사도 그것을 잡아낼 수 없기 때문입니다. 무균성/마이코플라스마(sterility/mycoplasma), 외래 인자/바이러스 안전성(adventitious-agent/viral safety), 유전적 안정성(genetic stability)은 각각 세포 기질에 관한 규제 지침이 닫기를 요구하는 서로 다른 구멍을 닫습니다. 한편 계대 수는 검증된 계대 한도로 한정되는데, 계대 수가 배양 지속 시간, 생산성 표류, 산물 품질 변화를 추적하기 때문입니다. 계대 60의 배양은 계대 5의 배양과 명백히 "같다"고 할 수 없으며, owl:sameAs는 살아 있고 돌연변이하는 집단이 N세대 뒤에도 여전히 자기 자신인지에 답할 수 없습니다. 분류학은 은행에 안정적인 IRI를 줍니다. 그것이 생물학을 멈춰 세울 수는 없으며, 그 한도를 정직하게 명명하는 것이 모델의 일부입니다.
단일 클래스 정의의 해부
명명을 목록이 아니라 장인의 작업으로 보기 위해, bp:Batch를 필드별로 분해해 봅니다 — 모든 줄이 실제 선언이고, 모든 줄이 무언가를 사 줍니다. rdfs:label("Bioreactor batch")은 기계가 쓰는 IRI와 구별되는 사람이 읽을 수 있는 이름입니다. rdfs:subClassOf bp:Material은 그것을 물질 통로에, 그리고 그것을 통해 IOF Core와 BFO 아래에 둡니다. skos:definition은 그 클래스가 왜 존재하고 무엇이 그것을 구별 짓는지를 기록합니다 — 여기서는 그것이 "그 런에 대해서만 존재한다"는 것, 바로 그것을 지속하는 용기와 떼어 놓는 문구입니다. Material로부터 물려받는 disjointness가 카테고리 오류를 막습니다. 그리고 로트가 지니는 출하 속성 — releaseStatus, monomerPct — 은 의도적으로 Batch가 아니라 Material로 범위가 정해집니다. 실제로 출하 판정과 단량체 결과를 지니는 것은 역시 물질인 출하된 원료의약품 및 완제의약품 로트이므로, 이것들을 Batch로 범위 지정했다면 모든 로트를 잘못 배치로 유형 지정했을 것입니다. 이것은 시리즈가 데이터 포인트에 적용하는 것과 같은 신원-카드 규율을, 이제 스키마에 적용한 것입니다. 클래스는 그 정렬, 카테고리, 정의와 함께 다니므로, 의미는 모델러의 기억이 아니라 모델 안에 있습니다.
하나의 클래스를 온전히 펼치다: 사람을 위한 라벨, 그것을 물질 통로에 두고 위로 정렬하는 하위 클래스 사슬, 카테고리 오류를 막는 disjointness, 그것이 지니는 속성, 그리고 왜 존재하는지를 기록하는 주석 — 클래스별로 포착된 개념화.
저자가 AI의 도움을 받아 직접 제작한 그림입니다.
앞으로의 갈래와 벌크-대-이산 전환
분류학은 또한 제품이 종류를 바꾸는 순간을 가로질러야 합니다. 원료의약품 DS-001은 하나의 물질이고, 그것으로부터 두 개의 구별되는 완제의약품 로트 DP-001과 DP-002가 충전됩니다 — 계보에서 앞으로의 갈래(forward fork)로, 상류의 뒤로 향하는 풀링 갈래의 거울상입니다. 두 로트 모두 Material로 유형이 정해지고 derivedFrom으로 DS-001에 이어지므로, 그 갈래는 횡단 가능한 구조입니다. 한 로트가 규격을 벗어나면, 질의가 공유 물질까지 올라갔다가 그 형제들로 내려와, 추측이 아니라 공유 운명 영향을 계산합니다. 캠페인의 의도적으로 규격 외인 형제가 이를 구체화합니다 — DP-004는 HMW 응집체에서 규격 외(출하 한도 초과)이면서 단량체에서는 여전히 규격 내인데 — 그것으로부터의 영향 추적은 derivedFrom을 타고 캠페인 전체가 공유하는 세포 은행까지 올라갑니다. 카테고리들이 뒷받침하는 출하 속성은 정확히 출하 판정을 좌우하는 실타래입니다. 단량체 순도, HMW 응집체, 충전량, 무균성, 외관 — 각각 로트 위의 Quality이고, 각각 바이알이 출하되거나 되지 않는 이유입니다.
충전 단계는 또한 모델링되는 종류가 벌크에서 이산으로 전환되는 곳입니다. 상류에서 물질은 농도와 역가로 측정되지만, 완제의약품은 결국 셀 수 있는 바이알 집단입니다. 용기-마개 시스템이 제품 동일성의 일부가 되고, 그 무결성은 무균성과 안정성이 의존하는 quality가 되며, 부형제는 ChEBI에 정렬된 성분으로 들어옵니다. 분류학은 로트-대-개별품목 개별화 긴장을 앞으로 운반합니다 — "로트"가 출하 단위이기를 멈추고 일련번호 부여된 바이알이 추적되는 것이 되는 때는 언제인가? — 그러나 그것을 일련번호 부여(serialization)로 미루며, 미래의 답이 재분류 없이 들어맞을 만큼 클래스를 넓게 설계합니다.
풀리지 않은 부분: 어디서 정제를 멈출 것인가, 그리고 당신이 떠안아야 할 이음매
개념화에는 자연스러운 바닥이 없습니다. Batch는 유가식(fed-batch) 대 관류(perfusion)를 위한 하위 클래스를 가져야 할까요? Disposition은 모든 개발성 특성을 열거해야 할까요, 아니면 넷에서 멈춰야 할까요? 추가 구별 하나하나는 추론기가 지녀야 하고 유지자가 참으로 유지해야 할 클래스이며, 규율 없이 정제하는 분류학은 ORSD가 막으려고 작성된 경계 없는 모델이 됩니다. 정직한 기준은 "분류학이 완전한가?"가 아니라 — 살아 있고 돌연변이하는 CHO 배양의 어떤 모델도 그렇지 않습니다 — "각 클래스가 역량 질문을 섬김으로써 제 자리를 얻는가, 그리고 모델은 거기서 멈추는가?"입니다.
두 번째 정직한 어려움은 이 장이 걸터앉은 이음매입니다. 표적과 분자를 가장 잘 기술하는 클래스 — 유전자 온톨로지, 단백질 온톨로지, OBI — 는 생물의학 세계인 OBO Foundry에서 자랐고, 항체를 만드는 것을 가장 잘 기술하는 클래스 — IOF Core, IOF 바이오제약 온톨로지 — 는 산업 온톨로지 파운드리(Industrial Ontologies Foundry)에서 자랐습니다. 둘 다 BFO에서 내려오며, 그것이 바로 Target(PRO 단백질)과 Batch(IOF 물질)가 하나의 분류학에 살 수 있는 이유입니다. 그러나 "만날 수 있다"는 "만났다"가 아닙니다. OBI 분석법이 IOF 측정 프로세스와 어떻게 관계되는지를 말하는 단일한 정착된 다리는 없으며, 그래서 러닝 예제는 ProductConcept을 정보 산물로 유지하고 OBO–IOF 경계를 개념 자체를 관통하는 대신 연구 용어와 제조 용어 사이에 주차합니다. 그 이음매는 프로그램이 저작하고 검토하고 유지해야 하는 것이지 — 임포트하는 기능이 아니며 — 이 책의 두 온톨로지 세계가 악수하는 곳입니다. 두 판단 모두 사람이, 브리프에 비추어 내리며, 그래서 개념화는 생성된 산물이 아니라 검토되고 통제되는 활동으로 남습니다.
왜 중요한가
존재에 배정하는 카테고리는 모델 전체에서 가장 지렛대가 큰 결정입니다. 이후의 모든 공리, 모든 관계의 정의역과 치역, 모든 disjointness 가드가 이 여섯 최상위 클래스로 진술되기 때문입니다. 배치와 용기와 런을 세 통로에 두면 그래프는 장비 재사용, 런 계보, 배치별 품질을 한꺼번에 추론할 수 있습니다. 그것들을 하나의 노드로 융합하면 제조에서 가장 데이터가 풍부한 단계가 그래프에서 가장 신뢰할 수 없는 노드가 됩니다. 분자를 서열, 물질, 모달리티, 그리고 증거가 뒷받침된 disposition으로 모델링하면 발견의 응집 위험이 통제된 CQA로 앞으로 운반되고, 그것을 기술 이전 벽에서 하나의 이름으로 평탄화하면 제조 팀이 발견이 이미 알았던 것을 다시 도출합니다. 개념화는 첫날에 잘하기는 값싸고 나중에 개조하기는 파멸적입니다. 인스턴스와 공리가 그것에 의존한 뒤에 클래스를 재분류하는 일은 하류의 모든 것을 건드리기 때문입니다.
실제 현장에서는
공유 상위 온톨로지 아래에서 존재를 명명하는 것은 연구 정보학에서 확립된 관행이고 제조에서는 무르익어 가는 관행입니다. BFO 등뼈와 OBO Foundry의 조율된 온톨로지들은 생물학적 존재에 대해 프로그램에 기성 카테고리를 줍니다 [3]. 그리고 후보 분자의 개발성 인식 모델링은 항체 발견이 실제로 제조성 위험을 추론하는 방식을 반영합니다 [4]. RCB/MCB/WCB 위계와 그 특성 규명 부담은 모든 상업적 CHO 항체 세포주가 실제로 은행화되는 방식이며, 온톨로지 취향이 아니라 세포 기질에 관한 규제 기대가 그것을 이끕니다. 여전히 고르지 못한 것은 제조 분류학 — 용기, 배치, 런, 풀, 로트 — 을 연구 존재와 같은 등뼈 아래에 그리는 규율입니다. 그래야 이 장이 긋는 카테고리 구분이 한 플랜트의 수많은 소스 시스템에 걸쳐 존중되고, 모든 통합에서 다시 깨지지 않습니다. 용기-배치-프로세스 구분은 모든 제어 시스템이 따르는 ISA-88 모델에 암묵적이며 [2], 그것을 명시적이고 검사 가능한 분류학으로 만드는 것이 온톨로지가 더하는 가치입니다.
핵심 용어
- Continuant / occurrent — 하중을 지는 구분: continuant는 시간을 통해 온전하게 지속하고(용기, 배치, quality, 서열), occurrent는 일어나며 시간적 부분을 가집니다(세포 배양 런, 스크리닝 캠페인, 형질주입). 분류학의 꼭대기이며, 배치 추적성을 사 주는 것입니다.
- 최상위 카테고리(Top category) — 여섯 로컬 등뼈 클래스 중 하나:
Material,Equipment,Quality,RealizableEntity,InformationArtifact(continuant)와Process(occurrent). 모든 클래스는 정확히 하나의 하위 클래스입니다. - 서열 / 물질 / 모달리티(Sequence / substance / modality) — 한꺼번에 세 가지인 항체: 그 아미노산 서열(정보), 그것으로 만든 각 단백질 배치(물질), 그리고 그 종류(어떤 제조 템플릿이 적용되는지를 결정하는 클래스).
- 용기 / 배치 / 런(Vessel / batch / run) — 하나로 모델링하고 싶은 유혹이 드는 세 존재:
Bioreactor(Equipment, 지속),Batch(Material, 런에 대해서만 존재),CellCultureProcess(occurrent).occursIn과hasOutput으로 이어지며, 결코 공유된rdf:type으로 이어지지 않습니다. - 세포 은행 계층(RCB/MCB/WCB) — 캠페인이 보유하는 3계층
CellBank위계. 워킹 은행은 계보의 뿌리이며, 계대 수와 네 가지 특성 규명(동일성, 무균성, 바이러스 안전성, 유전적 안정성)을 지니도록 제약됩니다. - Disposition —
RealizableEntity: 물질이 지니는 실제 경향(분자의 개발성)으로, 프로세스에서 실현되고 분석법으로 측정되며, 그것의 증거인 값과 구별됩니다 — 제조성 위험을 앞으로 운반하는 실타래입니다. - 정보 산물(Information artifact) — 일반 의존적 continuant(제품 개념, 서열, 레시피, 결과); 아직 존재하지 않는 물질보다 먼저 — 또는 그것에 관해 — 존재할 수 있는 복사 가능한 정보입니다.
다음 이야기
존재들이 명명되어 각자의 통로에 놓였고, 가지들이 disjoint하게 그려졌습니다. 그러나 잘 분류된 클래스의 분류학도 그것들 사이의 실타래가 선언되기 전까지는 아무것도 할 수 없습니다. 다음 장, 개념화: 관계와 계보 등뼈는 클래스들을 함께 배선합니다 — 원료의약품을 워킹 세포 은행까지 거슬러 걸을 수 있게 만드는 전이적 derivedFrom 계보, 런을 다시 융합하지 않으면서 그 용기에 묶어 두는 occursIn 간선, 그리고 여섯 개의 단절된 통로를 하나의 항행 가능한 그래프로 바꾸는 참여 및 quality 관계입니다.