管道情报

医药研发管线情报用于追踪竞争对手正在开发哪些药物、处于哪个阶段、针对哪些疾病以及靶向哪些生物机制。来自 ClinicalTrials.govFDA 数据库、新闻稿以及公司投资者演示文稿等公共来源,提供了大量关于竞争对手战略重点和研发投入的信息。然而,使用传统工具跨数百家公司、数千项临床试验以及药物、靶点、疾病之间错综复杂的关系来分析这些数据,几乎是不可能的。

了解竞争性的管线布局对于战略决策至关重要,例如:识别需要避开的竞争激烈的治疗领域、发现市场空白机会、评估对自身管线的竞争威胁、评估潜在的收购目标以及做出明智的合作决策。

场景

某制药公司的业务拓展团队正在评估是否将其针对阿尔茨海默病的 BACE1 抑制剂推进到临床 3 期试验。他们需要回答以下关键问题:

  • 有多少竞争对手正在开发 BACE1 抑制剂?

  • 它们处于什么阶段?

  • 竞争对手是否正在探索阿尔茨海默病的其他替代靶点?

  • 哪些公司拥有最先进的阿尔茨海默病研发项目?

  • 是否有公司拥有可能成为收购目标的早期潜力资产?

传统的电子表格分析需要手动连接多个数据源的信息,且随着试验的进展,这些信息在几周内就会过时。

解决方案

Neo4j 的图数据库能够自然地将医药研发管线建模为由公司、药物、靶点、疾病和包含阶段信息的临床试验组成的互联网络。图结构能够快速遍历复杂的关联,例如“找出所有开发靶向与我们先导化合物相同蛋白质的药物的公司,并揭示他们正在针对这些靶点研究哪些其他疾病”,或者“寻找所有来自市值低于 5 亿美元且可能成为收购目标的公司,并列出其阿尔茨海默病临床 2 期项目”。

这些原本需要跨多个表进行复杂 SQL 连接的多跳查询,在图数据库中变成了简单直观的模式。竞争情报团队可以快速分析竞争集群、识别战略机会,并随着新试验数据的出现实时追踪管线演变。

数据模型

Pipeline intelligence data model

演示数据

此演示数据包括:

  • 7 家公司,从大型制药企业(辉瑞、罗氏、诺华)到小型生物技术公司(Alector、Denali)

  • 10 多种处于不同阶段的药物,包括已批准、在研和已终止的项目(辉瑞的 BACE1 抑制剂、百健的 Lecanemab、罗氏的 Semorinemab 等)

  • 真实世界动态:罗氏已终止的 BACE1 项目(安全问题)、百健已获批的 Lecanemab

  • 多种靶点:BACE1、β-淀粉样蛋白 (Amyloid-beta)、Tau 蛋白、TREM2、LRRK2、GBA

  • 3 种疾病:阿尔茨海默病、帕金森病、多发性硬化症 (MS)

以上数据仅为演示目的的模拟数据,不反映真实世界的信息,但其灵感来源于真实的医药研发管线。

// ============================================
// MERGE COMPANIES
// ============================================

MERGE (pfizer:Company {
  name: 'Pfizer Inc.',
  country: 'US',
  market_cap: 280000000000,
  focus: 'Neuroscience, Oncology, Immunology'
})

MERGE (biogen:Company {
  name: 'Biogen Inc.',
  country: 'US',
  market_cap: 35000000000,
  focus: 'Neurology, Rare Disease'
})

MERGE (novartis:Company {
  name: 'Novartis AG',
  country: 'CH',
  market_cap: 220000000000,
  focus: 'Cardiovascular, Oncology, Immunology'
})

MERGE (roche:Company {
  name: 'Roche Holdings',
  country: 'CH',
  market_cap: 265000000000,
  focus: 'Oncology, Immunology, Neuroscience'
})

MERGE (eisai:Company {
  name: 'Eisai Co.',
  country: 'JP',
  market_cap: 12000000000,
  focus: 'Neurology, Oncology'
})

MERGE (alector:Company {
  name: 'Alector Inc.',
  country: 'US',
  market_cap: 850000000,
  focus: 'Neurodegeneration'
})

MERGE (denali:Company {
  name: 'Denali Therapeutics',
  country: 'US',
  market_cap: 2100000000,
  focus: 'Neurodegenerative diseases'
})

// ============================================
// MERGE PHASES
// ============================================

MERGE (phase1:Phase {name: 'Phase 1', number: 1})
MERGE (phase2:Phase {name: 'Phase 2', number: 2})
MERGE (phase3:Phase {name: 'Phase 3', number: 3})
MERGE (approved:Phase {name: 'Approved', number: 4})
MERGE (discontinued:Phase {name: 'Discontinued', number: -1})

// ============================================
// MERGE DISEASES
// ============================================

MERGE (alzheimers:Disease {
  name: "Alzheimer's Disease",
  icd10: 'G30',
  prevalence: '6.7M US patients',
  market_size: '13B USD'
})

MERGE (parkinsons:Disease {
  name: "Parkinson's Disease",
  icd10: 'G20',
  prevalence: '1M US patients',
  market_size: '5.2B USD'
})

MERGE (ms:Disease {
  name: 'Multiple Sclerosis',
  icd10: 'G35',
  prevalence: '1M US patients',
  market_size: '25B USD'
})

// ============================================
// MERGE GENES AND PROTEINS (TARGETS)
// ============================================

MERGE (bace1:Protein {
  name: 'BACE1',
  uniprot: 'P56817',
  function: 'Beta-secretase',
  type: 'Enzyme'
})

MERGE (trem2:Protein {
  name: 'TREM2',
  uniprot: 'Q9NZC2',
  function: 'Immune receptor',
  type: 'Receptor'
})

MERGE (amyloid:Protein {
  name: 'Amyloid-beta',
  uniprot: 'P05067',
  function: 'Peptide fragment',
  type: 'Peptide'
})

MERGE (tau:Protein {
  name: 'Tau protein',
  uniprot: 'P10636',
  function: 'Microtubule-associated',
  type: 'Structural protein'
})

MERGE (lrrk2:Gene {
  symbol: 'LRRK2',
  name: 'Leucine-rich repeat kinase 2',
  chromosome: '12',
  type: 'Kinase gene'
})

MERGE (gba:Gene {
  symbol: 'GBA',
  name: 'Glucocerebrosidase',
  chromosome: '1',
  type: 'Enzyme gene'
})

// Gene-Protein relationships
MERGE (lrrk2)-[:CODES_FOR]->(:Protein {name: 'LRRK2', uniprot: 'Q5S007'})
MERGE (gba)-[:CODES_FOR]->(:Protein {name: 'GCase', uniprot: 'P04062'})

// Target-Disease associations
MERGE (bace1)-[:ASSOCIATED_WITH]->(alzheimers)
MERGE (trem2)-[:ASSOCIATED_WITH]->(alzheimers)
MERGE (amyloid)-[:ASSOCIATED_WITH]->(alzheimers)
MERGE (tau)-[:ASSOCIATED_WITH]->(alzheimers)
MERGE (lrrk2)-[:ASSOCIATED_WITH]->(parkinsons)
MERGE (gba)-[:ASSOCIATED_WITH]->(parkinsons)

// ============================================
// PFIZER PIPELINE - BACE1 Focus
// ============================================

MERGE (pf_bace_drug:Drug {
  name: 'PF-06751979',
  compound_id: 'PF-06751979',
  mechanism: 'BACE1 Inhibitor',
  administration: 'Oral',
  status: 'Active'
})

MERGE (pf_trial1:ClinicalTrial {
  nct_id: 'NCT03131453',
  title: 'Safety and Efficacy of PF-06751979 in Early Alzheimers',
  status: 'Completed',
  start_date: '2021-06-15',
  completion_date: '2024-03-10',
  enrollment: 450
})

MERGE (pfizer)-[:IN_PIPELINE]->(pf_bace_drug)
MERGE (pf_bace_drug)-[:TARGETS]->(bace1)
MERGE (pf_bace_drug)-[:TREATS]->(alzheimers)
MERGE (pf_bace_drug)-[:INVESTIGATED_IN]->(pf_trial1)
MERGE (pf_trial1)-[:HAS_PHASE]->(phase2)
MERGE (pf_trial1)-[:FOR_DISEASE]->(alzheimers)

// ============================================
// BIOGEN PIPELINE - Anti-Amyloid Focus
// ============================================

MERGE (bg_amyloid:Drug {
  name: 'Lecanemab',
  compound_id: 'BAN2401',
  mechanism: 'Anti-amyloid antibody',
  administration: 'IV infusion',
  status: 'Approved'
})

MERGE (bg_trial1:ClinicalTrial {
  nct_id: 'NCT03887455',
  title: 'Lecanemab Phase 3 for Early Alzheimers',
  status: 'Completed',
  start_date: '2019-03-10',
  completion_date: '2023-01-05',
  enrollment: 1795
})

MERGE (biogen)-[:IN_PIPELINE]->(bg_amyloid)
MERGE (bg_amyloid)-[:TARGETS]->(amyloid)
MERGE (bg_amyloid)-[:TREATS]->(alzheimers)
MERGE (bg_amyloid)-[:INVESTIGATED_IN]->(bg_trial1)
MERGE (bg_trial1)-[:HAS_PHASE]->(approved)
MERGE (bg_trial1)-[:FOR_DISEASE]->(alzheimers)

// Biogen's second asset - early stage
MERGE (bg_trem2:Drug {
  name: 'AL002',
  compound_id: 'AL002',
  mechanism: 'TREM2 agonist antibody',
  administration: 'IV infusion',
  status: 'Active'
})

MERGE (bg_trial2:ClinicalTrial {
  nct_id: 'NCT04592874',
  title: 'AL002 in Frontotemporal Dementia',
  status: 'Recruiting',
  start_date: '2023-08-20',
  enrollment: 180
})

MERGE (biogen)-[:IN_PIPELINE]->(bg_trem2)
MERGE (bg_trem2)-[:TARGETS]->(trem2)
MERGE (bg_trem2)-[:TREATS]->(alzheimers)
MERGE (bg_trem2)-[:INVESTIGATED_IN]->(bg_trial2)
MERGE (bg_trial2)-[:HAS_PHASE]->(phase2)
MERGE (bg_trial2)-[:FOR_DISEASE]->(alzheimers)

// ============================================
// ROCHE PIPELINE - Multi-target approach
// ============================================

MERGE (roche_bace:Drug {
  name: 'RG7129',
  compound_id: 'RO7105705',
  mechanism: 'BACE1 Inhibitor',
  administration: 'Oral',
  status: 'Discontinued'
})

MERGE (roche_trial_disc:ClinicalTrial {
  nct_id: 'NCT03127657',
  title: 'RG7129 Phase 2/3 in Alzheimers',
  status: 'Terminated',
  start_date: '2020-01-15',
  completion_date: '2022-09-30',
  enrollment: 520,
  termination_reason: 'Safety concerns - cognitive worsening'
})

MERGE (roche)-[:IN_PIPELINE]->(roche_bace)
MERGE (roche_bace)-[:TARGETS]->(bace1)
MERGE (roche_bace)-[:TREATS]->(alzheimers)
MERGE (roche_bace)-[:INVESTIGATED_IN]->(roche_trial_disc)
MERGE (roche_trial_disc)-[:HAS_PHASE]->(discontinued)
MERGE (roche_trial_disc)-[:FOR_DISEASE]->(alzheimers)

// Roche's pivot to tau
MERGE (roche_tau:Drug {
  name: 'Semorinemab',
  compound_id: 'RO7105705',
  mechanism: 'Anti-tau antibody',
  administration: 'IV infusion',
  status: 'Active'
})

MERGE (roche_trial2:ClinicalTrial {
  nct_id: 'NCT04828747',
  title: 'Semorinemab in Mild-to-Moderate Alzheimers',
  status: 'Active',
  start_date: '2023-04-10',
  enrollment: 780
})

MERGE (roche)-[:IN_PIPELINE]->(roche_tau)
MERGE (roche_tau)-[:TARGETS]->(tau)
MERGE (roche_tau)-[:TREATS]->(alzheimers)
MERGE (roche_tau)-[:INVESTIGATED_IN]->(roche_trial2)
MERGE (roche_trial2)-[:HAS_PHASE]->(phase3)
MERGE (roche_trial2)-[:FOR_DISEASE]->(alzheimers)

// ============================================
// EISAI PIPELINE - Partnered with Biogen
// ============================================

MERGE (eisai)-[:IN_PIPELINE]->(bg_amyloid)  // Co-development

// ============================================
// ALECTOR - Small Biotech, TREM2 Specialist
// ============================================

MERGE (alector_trem2:Drug {
  name: 'AL001',
  compound_id: 'AL001',
  mechanism: 'TREM2 agonist antibody',
  administration: 'IV infusion',
  status: 'Active'
})

MERGE (alector_trial1:ClinicalTrial {
  nct_id: 'NCT04592315',
  title: 'AL001 Phase 2 in Early Alzheimers',
  status: 'Active',
  start_date: '2022-11-10',
  enrollment: 285
})

MERGE (alector)-[:IN_PIPELINE]->(alector_trem2)
MERGE (alector_trem2)-[:TARGETS]->(trem2)
MERGE (alector_trem2)-[:TREATS]->(alzheimers)
MERGE (alector_trem2)-[:INVESTIGATED_IN]->(alector_trial1)
MERGE (alector_trial1)-[:HAS_PHASE]->(phase2)
MERGE (alector_trial1)-[:FOR_DISEASE]->(alzheimers)

// Alector's Parkinson's program
MERGE (alector_gba:Drug {
  name: 'AL101',
  compound_id: 'AL101',
  mechanism: 'GBA gene therapy',
  administration: 'Gene therapy',
  status: 'Active'
})

MERGE (alector_trial2:ClinicalTrial {
  nct_id: 'NCT05277558',
  title: 'AL101 in Parkinsons with GBA mutations',
  status: 'Recruiting',
  start_date: '2024-01-15',
  enrollment: 45
})

MERGE (alector)-[:IN_PIPELINE]->(alector_gba)
MERGE (alector_gba)-[:TARGETS]->(gba)
MERGE (alector_gba)-[:TREATS]->(parkinsons)
MERGE (alector_gba)-[:INVESTIGATED_IN]->(alector_trial2)
MERGE (alector_trial2)-[:HAS_PHASE]->(phase1)
MERGE (alector_trial2)-[:FOR_DISEASE]->(parkinsons)

// ============================================
// DENALI THERAPEUTICS - BBB Platform
// ============================================

MERGE (denali_lrrk2:Drug {
  name: 'DNL151',
  compound_id: 'DNL151',
  mechanism: 'LRRK2 inhibitor',
  administration: 'Oral',
  status: 'Active'
})

MERGE (denali_trial1:ClinicalTrial {
  nct_id: 'NCT04551534',
  title: 'DNL151 in Parkinsons Disease',
  status: 'Active',
  start_date: '2023-06-20',
  enrollment: 600
})

MERGE (denali)-[:IN_PIPELINE]->(denali_lrrk2)
MERGE (denali_lrrk2)-[:TARGETS]->(lrrk2)
MERGE (denali_lrrk2)-[:TREATS]->(parkinsons)
MERGE (denali_lrrk2)-[:INVESTIGATED_IN]->(denali_trial1)
MERGE (denali_trial1)-[:HAS_PHASE]->(phase2)
MERGE (denali_trial1)-[:FOR_DISEASE]->(parkinsons)

// ============================================
// NOVARTIS - MS Focus but exploring neuro
// ============================================

MERGE (novartis_ms:Drug {
  name: 'Kesimpta',
  compound_id: 'Ofatumumab',
  mechanism: 'Anti-CD20 antibody',
  administration: 'Subcutaneous',
  status: 'Approved'
})

MERGE (novartis_trial_ms:ClinicalTrial {
  nct_id: 'NCT02792218',
  title: 'Ofatumumab vs Teriflunomide in MS',
  status: 'Completed',
  start_date: '2016-06-10',
  completion_date: '2020-08-15',
  enrollment: 946
})

MERGE (novartis)-[:IN_PIPELINE]->(novartis_ms)
MERGE (novartis_ms)-[:TREATS]->(ms)
MERGE (novartis_ms)-[:INVESTIGATED_IN]->(novartis_trial_ms)
MERGE (novartis_trial_ms)-[:HAS_PHASE]->(approved)
MERGE (novartis_trial_ms)-[:FOR_DISEASE]->(ms)

WITH true AS _

MATCH (drug:Drug)-[r:TARGETS]->(target:Protein)
SET
  r.mechanism = drug.mechanism,
  drug.mechanism = null

Cypher 查询

本节提供了一组示例 Cypher 查询,可用于从不同角度探索竞争情报知识图谱的潜在用途。

特定靶点的竞争格局

还有谁在针对特定的药物靶点?他们处于什么阶段?这可以揭示直接竞争,并基于竞争对手的活动验证或推翻某个药物靶点的可行性。

WITH 'BACE1' AS targetName
MATCH
  (drug:Drug)-[tg:TARGETS]->(target:Protein {name: targetName}),
  (drug)<-[:IN_PIPELINE]-(company:Company),
  (drug)-[:INVESTIGATED_IN]->(trial:ClinicalTrial)-[:HAS_PHASE]->(phase:Phase),
  (drug)-[:TREATS]->(disease:Disease)
RETURN
  company.name AS Company,
  drug.name AS Drug,
  tg.mechanism AS Mechanism,
  phase.name AS CurrentPhase,
  trial.status AS TrialStatus,
  disease.name AS Disease,
  trial.nct_id AS ClinicalTrialID
ORDER BY phase.number DESC;

疾病管线强度分析

特定疾病领域的竞争有多激烈?主要参与者是谁?这有助于评估竞争强度和市场饱和度。

针对某种疾病,找出哪些公司正在开发用于治疗该疾病的药物,以及它们在临床开发中已经进展到什么程度。

WITH "Alzheimer's Disease" AS targetDisease
MATCH
  (:Disease {name: targetDisease})<-[:TREATS]-(drug:Drug),
  (drug)<-[:IN_PIPELINE]-(company:Company),
  (drug)-[:INVESTIGATED_IN]->(:ClinicalTrial)-[:HAS_PHASE]->(phase:Phase)
WITH
  company,
  count(DISTINCT drug) AS PipelineAssets,
  collect(DISTINCT phase.name) AS Phases,
  max(phase.number) AS HighestPhase
MATCH (phase:Phase {number: HighestPhase})
RETURN
  company.name AS Company,
  PipelineAssets,
  Phases AS DevelopmentPhases,
  phase.name AS MostAdvancedPhase
ORDER BY HighestPhase DESC, PipelineAssets DESC;

靶点多元化战略

在竞争激烈的市场中成长的关键途径之一是寻求靶点组合的多元化。

公司如何实现靶点组合的多元化?

这揭示了一家公司的战略重心以及合作潜力。

针对某种疾病,找出哪些公司正在开发旨在治疗该疾病的药物,以及这些药物靶向哪些蛋白质。

WITH "Alzheimer's Disease" AS diseaseName
MATCH
  (company:Company)-[:IN_PIPELINE]->(drug:Drug)-[:TARGETS]->(target:Protein),
  (drug)-[:TREATS]->(disease:Disease {name: diseaseName})
WITH
  company.name AS Company,
  collect("'" + drug.name + "' targeting: '" + target.name + "'") AS DrugTargetting
RETURN
  Company, DrugTargetting, size(DrugTargetting) AS PipelineAssets
ORDER BY PipelineAssets DESC;

公司正在针对特定疾病研究哪些其他靶点?

揭示战略调整和替代方法。

在本查询中,我们寻找所有正在研究阿尔茨海默病药物且处于临床 2 期或更后期阶段的公司,以及这些药物所针对的靶点。

WITH "Alzheimer's Disease" AS targetDisease
MATCH
  (:Disease {name: targetDisease})<-[:TREATS]-(drug:Drug),
  (drug)-[:TARGETS]->(target:Protein),
  (drug)<-[:IN_PIPELINE]-(company:Company),
  (drug)-[:INVESTIGATED_IN]->(:ClinicalTrial)-[:HAS_PHASE]->(phase:Phase)
WHERE phase.number >= 2  // Phase 2 or later
RETURN
  target.name AS Target,
  target.function AS TargetFunction,
  count(DISTINCT company) AS CompaniesTargeting,
  collect(DISTINCT company.name) AS Companies,
  count(DISTINCT drug) AS Drugs,
  avg(phase.number) AS AvgPhase
ORDER BY CompaniesTargeting DESC, AvgPhase DESC;

收购目标分析

与其在内部开发新药,收购拥有早期潜力资产的小型公司通常是更具战略意义的选择。小型公司往往更灵活,更专注于创新方法,这使它们成为极具吸引力的收购目标。

哪些公司拥有极具前景的早期资产?

识别潜在的收购目标和早期机会。

在此查询中,我们查找市值低于 50 亿美元且拥有临床 1 期或 2 期药物的公司。

MATCH (company:Company)
WHERE company.market_cap < 5000000000  // Less than $5B market cap
MATCH
  (company)-[:IN_PIPELINE]->(drug:Drug),
  (drug)-[:INVESTIGATED_IN]->(trial:ClinicalTrial)-[:HAS_PHASE]->(phase:Phase),
  (drug)-[:TREATS]->(disease:Disease),
  (drug)-[:TARGETS]->(target)
WHERE 1 <= phase.number <= 2 // Phase 1 or 2
RETURN
  company.name AS PotentialTarget,
  company.market_cap / 1000000 AS MarketCapMillions,
  company.focus AS Focus,
  count(DISTINCT drug) AS PipelineSize,
  collect(DISTINCT drug.name) AS Drugs,
  collect(DISTINCT target.name) AS Targets,
  collect(DISTINCT disease.name) AS Diseases,
  max(phase.number) AS HighestPhase
ORDER BY MarketCapMillions ASC, PipelineSize DESC;

失败项目分析

从竞争对手的失败中吸取教训——哪些靶点/机制被终止了?了解竞争对手药物失败的原因,可以提供宝贵的见解以避免类似的陷阱,并可能识别出我们可能需要重新评估自身管线的情况。

WITH 'Discontinued' AS phaseName
MATCH
  (trial:ClinicalTrial)-[:HAS_PHASE]->(phase:Phase {name: phaseName}),
  (drug:Drug)-[:INVESTIGATED_IN]->(trial),
  (drug)-[tg:TARGETS]->(target),
  (drug)-[:TREATS]->(disease:Disease),
  (drug)<-[:IN_PIPELINE]-(company:Company)
RETURN
  company.name AS Company,
  drug.name AS FailedDrug,
  target.name AS Target,
  tg.mechanism AS Mechanism,
  disease.name AS Disease,
  trial.termination_reason AS ReasonForFailure,
  trial.completion_date AS DiscontinuedDate
ORDER BY trial.completion_date DESC;
© . This site is unofficial and not affiliated with Neo4j, Inc.