CCKS 2021:表型-药物-分子多层次知识图谱的链接预测
任务描述
过去的三十多年里,基于靶点的药物发现(Target-based Drug Discovery, TDD)是药物发现的主要方法。由于靶点明确,使用TDD很容易设计药物筛选试验,因此在过去有大量的成功案例。使用TDD方法来开发药物,药物发现的时间、过程和所需资源都是可预测的。近年来,随着细胞表型筛选技术,如诱导多能干细胞(iPS)技术、CRISPR-Cas技术、类器官和成像分析技术的飞速发展,表型药物发现(Phenotypic Drug Discovery, PDD)重新回到了人们的视线。在药物发现的研发中,研究者需要对各种药物做大量生物实验,从而确定药物治疗效果,但是此步骤需花费大量时间。机器学习是AI领域的一个强大的分支,它通过复杂的数据决策方案加速研究。在过去的10年里,AI方法学和机器学习算法已经成功地应用于药物发现的各个阶段,并逐步融入到大型制药公司的药物发现策略中。在大数据和人工智能时代,我们可以收集大量的临床和实验数据,利用AI算法对药物和基因的靶向作用、药物和表型的治疗作用等进行预测。其中,基于知识图谱是解决该问题的一种途径,通过构建表型-药物-分子多层次知识图谱,利用大规模图算法以及知识推理来预测疾病、症状、药物、基因、副作用等之间关系。表型-药物-分子多层次知识图谱依据表型(疾病、症状)、药物、基因等及其之间的关系来构建的知识图谱,其包含了大量实体及其关系数据,可以为致病机理和药理作用机制的研究提供一定支持。这些问题对于进一步了解疾病的分子机制、发掘潜在的药物治疗机理具有重大的实际意义和学术价值。
本任务基于表型-药物-分子多层次知识图谱进行关系预测,如药物和基因/蛋白的靶向作用、药物和表型的治疗作用、蛋白间的交互作用等。
评测依据知识图谱模式(Schema)和知识图谱的实体、实体之间的关系,预测新的两个实体的关系。评测本身不限制各参赛队伍使用的模型、算法和技术。可以利用各种图算法模型,预训练等手段进行图谱上的关系预测,共同促进知识图谱技术的发展。
图谱描述
知识图谱是依据表型(疾病、症状)、药物、基因等及其之间的关系来构建的知识图谱,其包含了大量实体及其关系数据,可以为致病机理和药理作用机制的研究提供一定支持。对疾病、症状、药物、基因、副作用等之间关系的预测是医学研究的重要问题,这些问题对于进一步了解疾病的分子机制、发掘潜在的药物治疗机理具有重大的实际意义和学术价值。
知识图谱共包含如下7种关系类型:
- associated_with关系可用来表示疾病与症状之间的联系,通过已有的大量疾病和症状间的关系,可以发掘潜在的疾病与症状间的某种联系,有助于完善我们对疾病症状的了解。
- disease_mapped_to_gene表示疾病与基因的关系。通过分析大量有关联的疾病与基因的关系,可以发现潜在存在联系的疾病与基因,这对于疾病预防和治疗有着重要意义。
- treats关系是药物和疾病的对应关系。作为治疗疾病的重要方法,有效的药物一直是人们不断追求的。很多药物的潜在作用并没有被发现,而通过分析我们提供的数据将有助于解决这一问题。
- targets关系表示的是药物与基因的关系。研究药物与基因的关系,是为了更加精准地找到治疗之策,通过研发针对某种基因的特效药物对治疗疾病有着重大帮助。
- interacts_with是基因与基因之间的关系。很多情况下,疾病不仅仅与一种基因有关,通常情况下都是多个基因共同对某种疾病产生影响。所以,深入发掘基因之间的关系有助于发现更多的致病基因,进而为治疗疾病提供更充分的依据。
- annotates和pathway_has_gene_element分别表示的是基因通路、go本体与基因的关系。通路富集分析和go分析是两种重要的基因富集方法,可以找到具有某种共同特性的基因,从而进一步发掘这些基因表示的信息。
数据结构
schema.json:知识图谱的图谱模式(Schema),即定义了知识图谱的实体类型(Entity)、和实体间的关系(Relationship)。
{
"entity_type": ["disease", "drug", "gene/protein", ……],
"relationships": [["disease", "associated_with", "symptom"], ["disease", "disease_mapped_to_gene", "gene/protein"], ["drug", "treats", "disease"], ……],
}
entities.json:实体列表,即药物、基因、表型(疾病和症状)、基因通路等实体。
{
"disease": ["C0008626", "C3805375", "C1561850", "C0733682", ...],
"gene/protein": ["SEPT4", "MARCH2", "SEPT8", …],
…
}
relationships.json:实体与实体之间的关系列表,即药物-基因,药物-疾病,药物-症状、疾病-症状、疾病-基因、症状-基因、蛋白-蛋白的关系等。
{
"relationships": [["DB01623","treats","?"], ["PSMC3","interacts_with","?"],
…
]
}
输出样例
{
"results":
[
[A1, B1, C1, D1, …],
[A2, B2, C2, D2, …],
……
]
}
评价指标
MRR (Mean reciprocal rank,平均倒数排名) 来评估构建效果,我们考虑多种关系预测:药物-基因关系预测、蛋白-蛋白交互预测,疾病-蛋白关系预测等,这些共同构成全局的关系预测。相关的定义如下:
MRR(Mean reciprocal rank, 评平均倒数排名):对于一个query,若第一个正确答案排在第n位,则MRR得分就是1/n.
M M R = 1 ∣ Q ∣ ∑ i = 1 ∣ Q ∣ 1 r a n k i MMR = \frac{1}{|Q|}\sum_{i=1}^{|Q|}{\frac{1}{rank_i}} MMR=∣Q∣1i=1∑∣Q∣ranki1
其中,Q为样本query的集合(Link prediction.json), |Q|表示query的个数。
1 r a n k i { 1 i 0 \frac{1}{rank_i}\left\{ \begin{aligned} \frac{1}{i} \\ 0 \end{aligned} \right. ranki1⎩⎨⎧i10
1 i \frac{1}{i} i1:表示目标实体在第i个结果中命中
0 0 0:表示目标实体所有结果中未命中