首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何创建具有3个或更多嵌套关系的突变?

在GraphQL中,突变(Mutation)是用来修改服务器端数据的操作。创建具有3个或更多嵌套关系的突变需要仔细设计你的GraphQL schema和解析器(resolvers),以确保数据的一致性和完整性。以下是一个详细的步骤指南,包括基础概念和相关示例。

基础概念

  1. GraphQL Schema:定义了API的数据类型、查询和突变。
  2. Mutation:用于修改数据的操作。
  3. Resolver:处理特定字段的逻辑,决定如何获取或修改数据。
  4. 嵌套关系:在GraphQL中,可以通过定义输入类型和使用字段嵌套来创建复杂的突变。

创建嵌套突变的步骤

1. 定义Schema

首先,定义你的GraphQL schema,包括输入类型和突变类型。假设我们有三个实体:UserPostComment,并且它们之间有嵌套关系。

代码语言:txt
复制
type User {
  id: ID!
  name: String!
  posts: [Post!]!
}

type Post {
  id: ID!
  title: String!
  content: String!
  author: User!
  comments: [Comment!]!
}

type Comment {
  id: ID!
  text: String!
  post: Post!
}

input CreateUserInput {
  name: String!
  posts: [CreatePostInput!]
}

input CreatePostInput {
  title: String!
  content: String!
  comments: [CreateCommentInput!]
}

input CreateCommentInput {
  text: String!
}

type Mutation {
  createUser(input: CreateUserInput!): User!
}

2. 实现Resolver

接下来,实现解析器来处理嵌套的突变。解析器需要递归地处理每个嵌套层级。

代码语言:txt
复制
const resolvers = {
  Mutation: {
    createUser: (_, { input }) => {
      const user = { id: generateUniqueId(), name: input.name, posts: [] };
      if (input.posts) {
        user.posts = input.posts.map(postInput => createPost(user, postInput));
      }
      return user;
    }
  },
  User: {
    posts: (user) => {
      // Fetch posts from the database for the user
    }
  },
  Post: {
    author: (post) => {
      // Fetch author from the database for the post
    },
    comments: (post) => {
      // Fetch comments from the database for the post
    }
  },
  Comment: {
    post: (comment) => {
      // Fetch post from the database for the comment
    }
  }
};

function createPost(user, postInput) {
  const post = { id: generateUniqueId(), title: postInput.title, content: postInput.content, author: user, comments: [] };
  if (postInput.comments) {
    post.comments = postInput.comments.map(commentInput => createComment(post, commentInput));
  }
  return post;
}

function createComment(post, commentInput) {
  const comment = { id: generateUniqueId(), text: commentInput.text, post: post };
  return comment;
}

function generateUniqueId() {
  // Implement a unique ID generator
}

应用场景

这种嵌套突变在以下场景中非常有用:

  • 社交网络应用:创建用户时同时创建他们的帖子和评论。
  • 内容管理系统:创建文章时同时创建相关的分类和标签。
  • 电子商务平台:创建订单时同时创建相关的支付记录和物流信息。

可能遇到的问题及解决方法

1. 性能问题

问题:嵌套层级过深可能导致性能下降。

解决方法:限制嵌套层级,或者使用批量操作和缓存来优化性能。

2. 数据一致性

问题:在嵌套操作中,如果某个步骤失败,可能导致数据不一致。

解决方法:使用事务管理,确保所有步骤要么全部成功,要么全部失败。

3. 复杂性增加

问题:嵌套突变增加了代码的复杂性。

解决方法:保持代码模块化,使用辅助函数来处理重复逻辑。

通过以上步骤和方法,你可以有效地创建和管理具有复杂嵌套关系的GraphQL突变。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Nat. Methods | 压缩比高达10^48!清华药学院张数一团队仅用82个“锚点”即可表示高适应度序列空间

DRUGAI 今天为大家介绍的是来自清华大学药学院张数一团队的一篇论文。设计功能更强大的蛋白质需要深入了解序列与功能之间的关系,但这个关系空间范围庞大,难以探索。...这个系统被整合到一个中等拷贝数的ColE1质粒中,创建了靶向突变质粒,取代了传统PACE中使用的突变质粒。进化靶标被插入到M13基因组中gIII(M13的主要外壳蛋白)的位置,形成选择性噬菌体。...训练集和测试集的斯皮尔曼相关系数分别达到0.91和0.84,显示出较高的一致性和训练效果(图2b)。这些结果表明,作者的深度学习模型能够精确预测高维空间中突变的多重相互作用以及复杂的表观效应。...作者的方法相较于现有方法有几个重要优势。首先,它在现实的适应性优化与均匀采样序列空间之间取得平衡,能够快速探索高维空间,生成更多样化且功能更强的变体,并提供有关序列与功能关系的更丰富信息。...未来的可解释深度学习进展可能揭示潜在规则或模式,并提供蛋白质如何适应、克服进化限制或权衡的洞见。第三,该方法可以进化和研究缺乏结构信息或涉及复杂相互作用的蛋白质。

11810

Swift基础 嵌套

关闭采取三种形式之一: 全局函数是具有名称且不捕获任何值的闭包。 嵌套函数是具有名称的闭包,可以从其封闭函数中捕获值。 闭包表达式是用轻量级语法编写的未命名闭包,可以从其周围上下文中捕获值。...嵌套表达式语法 嵌套表达式语法具有以下一般形式: { (parameters) -> return type in statements } 嵌套表达式语法中的参数可以是输入输出参数,但它们不能有默认值...注意 作为优化,如果值没有被闭包突变,并且值在闭包创建后没有突变,则可以捕获和存储该值的副本。 Swift 还负责处理不再需要的变量时涉及的所有内存管理。...,因为它位于突变方法中,因此self是可变的。...延迟评估对于具有副作用或计算成本的代码非常有用,因为它允许您控制代码何时进行评估。以下代码显示了关闭如何延迟评估。

13500
  • Nat Methods|清华大学药学院张数一团队提出蛋白质序列-功能空间压缩概念

    目前人们只能对于蛋白质序列-功能关系进行少量低纬度的点采样,例如深度突变搜索(DMS),单位点饱和突变等,或是利用随机建库等方式以极低概率捕获序列与功能耦连的关键信息。...一些计算方法成功构建起序列-结构之间的精确关联,例如2024年诺贝尔化学奖获奖者开发的AlphaFold, RoseTTAFold等结构预测或设计算法,并进一步试图利用深度学习构建序列和功能的映射关系,...该系统改造了噬菌体辅助的连续定向进化系统(PACE)。其中,突变体系来源EvolvR系统中enCas9-PolIM5复合蛋白,通过构建其诱导表达体系来创建靶向分区域突变质粒(TP)。...首先,它实现了序列空间的广泛,均匀且精确的采样,这可以快速探索高维并生成更多样化和功能性的突变体,并提供有关序列-功能映射的更丰富信息。...可解释性深度学习在未来的进一步发展可能会揭示潜在的进化规则,并为蛋白质如何适应和克服进化限制提供见解。第三,该方法可以进化和研究缺乏结构信息或涉及具有挑战性的相互作用的蛋白质。

    20410

    Swift基础 扩展

    ,或添加符合要求的类型可以利用的其他功能。...有关更多详细信息,请参阅协议扩展。 注意 扩展可以为类型添加新功能,但它们不能覆盖现有功能。...注意 如果您定义了一个扩展来向现有类型添加新功能,则该新功能将在该类型的所有现有实例上可用,即使它们是在定义扩展之前创建的。 计算属性 扩展可以将计算实例属性和计算类型属性添加到现有类型中。..., size: Size(width: 5.0, height: 5.0)) 您可以扩展Rect结构,以提供具有特定中心点和大小的额外初始化器: extension Rect { ​ init(center...突变实例方法 使用扩展添加的实例方法也可以修改(或突变)实例本身。修改self或其属性的结构和枚举方法必须将实例方法标记为mutating,就像原始实现的突变方法一样。

    11700

    Vue.js 状态管理:Pinia 与 Vuex

    Vuex虽然是维护你store的状态管理库,但建议你熟悉或搭建过大型SPA。如果你没有经验,Vuex 可能会冗长且令人生畏。...如果你的应用程序很广泛,你需要管理复杂的数据流,并且你有嵌套的组件,你可以使用 Vuex。查看官方文档以获取有关何时使用 Vuex 的更多信息。...Pinia 是可扩展的 Pinia 还提供了一个完整的插件系统,具有交易和本地存储同步等功能,适用于 Pinia 默认行为不足的情况。...开发工具支持 Vue devtools 中的 Vuex 选项卡允许我们查看状态并跟踪我们的变化。这使我们能够快速评估我们的程序如何执行和调试错误。...状态返回当前的todoListItems,动作提交一个突变来创建一个新项目,最后,突变创建新项目并将其添加到列表中。

    2.7K20

    这篇发在Nature上的泛癌RNA alterations能给我们带来哪些思考?

    图S3:基因表达与突变特征之间关联研究的质量控制 接着还对18个(带有20个或更多特征)的相关基因进一步注释并使用GO类别和反应体通路评估富集,发现11个特征至少在一个类别中得到富集。...图S4.突变特征与基因表达模式之间的关系 4.等位基因表达的基因组基础 为了分析单个单倍型水平的表达,研究者们研究测试了等位基因表达失衡(AEI)。...并检查了它们的突变率。 观察到与次要启动子或无活性启动子相比,主要启动子的TSS附近的突变数量增加了(图S6)。这种模式在皮肤黑色素瘤中最为突出。 ?...图S7.启动子活性和非编码启动子突变的关联和模式的估算概述 6.与剪接相关的突变 选择性剪接被认为与癌症异质性有极大的关联。研究者们明确了解剪接变化与内含子内体细胞突变之间的关系。...为了能够联合分析RNA和DNA的变化,研究者们创建了一个基因水平表,该表指示了每个基因和供体对RNA或DNA可能存在的功能性变化。

    1.3K20

    想在老牌病理期刊上发生信,你得学这篇!

    ,解释了PLCIS/FLCIS与并发CLCIS和ILC之间的克隆关系,描绘了小叶瘤形成过程中的遗传进展,并揭示了ERBB2和ERBB3激活突变或扩增与PLCIS,FLCIS和相关的ILC更具侵略性的行为的关系...在其中一个(案例F3)中,对CLCIS的第二个焦点进行了测序,发现与配对的FLCIS / ILC具有克隆关系。...PLCIS与并发ILC具有相似或相同的CNA(图4),其中包括两个PLCIS,其CNA比关联的ILC多。...配对分析显示,与CLCIS(平均4.4±2.6)相比,PLCIS中每例UCSF500面板基因的检测中,存在更多同义编码突变(平均6.6±3.3)(p = 0.03,n = 6)。...与TCGA队列中的ILC相比,PLCIS,FLCIS和LCIS变体相关的ILC比TCGA队列中ILC更有可能带有ERBB2突变或具有ERBB2或ERBB3改变。

    59630

    Nat. Comput. Sci. | 可扩展!更快!更便宜!大规模基因组数据存储新结构

    节点包含突变:任何节点(包括样本节点)可以包含零个或多个突变。包含至少一个突变的节点称为突变节点,包含零个突变的节点称为空节点。 内部节点:具有至少一个后继节点和一个前驱节点的节点称为内部节点。...最坏情况下,GRG等同于将数据集表示为突变列表:每个突变节点直接连接到包含该突变的所有样本。然而,紧凑的GRG利用内部节点覆盖许多突变共享的样本子集,从而压缩了突变与样本之间的关系。...GRG构建的可扩展算法概述 构建GRG的目标是创建一个表示样本间关系的图结构,确保每个突变被正确包含在一个节点中,同时最小化图中的边数。...遗传关联效应是衡量基因型与表型关系的重要统计量。作者开发了一种通过图遍历计算该效应的算法,而不是通过向量或矩阵的点积计算。...实验表明GRG在大规模数据分析中具有显著的计算优势。未来的研究方向包括进一步减少GRG大小,拓展其在关联分析、统计分型和祖先推断等方面的应用,并探索GRG与遗传数据生成过程的关系。

    6410

    2023年献别礼------科服vs临检(肿瘤报告的解读)

    两者由于其来源的差异,在解读时的侧重点也会有所区别。胚系变异的解读侧重于对特定疾病变异的致病性或疾病的因果关系,而体细胞变异的解读则侧重于它们对临床治疗的影响,包括靶向治疗、耐药监测、预后判断等。...临床意义分级根据上述证据等级的分类,按其临床意义的重要性可以进一步将肿瘤体细胞突变的划分为4个等级:I级,具有强烈临床意义的变异(A级或B级证据);II级,具有潜在临床意义的变异(C级或D级证据);III...基因变异级别对于多基因变异、特别是多个潜在驱动变异共存的情况,要结合肿瘤类型、既往治疗史、相对突变丰度、既往分子检测结果等信息综合判读,以推测不同变异之间的逻辑关系(原发性VS获得性、主克隆vs亚克隆、...肿瘤负荷突变肿瘤突变负荷(tumor mutation burden,TMB)即肿瘤基因组编码区包含的非同义突变的数量或密度(突变数/Mb),是肿瘤新抗原负荷的替代指标,简单理解为患者肿瘤组织中具有多少个基因变异...,突变的基因越多,越有可能产生更多异常的蛋白,越有可能被免疫系统识破。

    24020

    PCAWG01 | 人类癌症基因组中体细胞结构变异的模式

    补充说明,大多数模板化插入事件仅涉及两个断点连接,但是这也可以扩展到3个,4个或更多链接的重排(图3a);最长的此类事件-来自宫颈鳞状细胞癌-在第八条宿主染色体上串在一起有七个模板化插入(图3c)。...在包含两个局部重排的那些簇中,有些簇具有简单的解释,例如嵌套或相邻的串联重复。但是,许多没有被简单的解释(图4a),局部2-jumps,由两个局部重排创建的结构,无法通过简单的结构变量类。...每个组织学组模板化插入片段的大小分布 许多基因组特性(例如复制时机,转录活性和染色质状态)会影响点突变的密度和拷贝数变化,但尚不清楚其与各个结构变体类别之间的关系。...重排计数 然而,相当一部分结构变异具有比偶然预期更多的微同源性,并且具有明显的微同源长度的双峰分布。...结构变化的特征 可以通过相对有限的突变过程库中的差异作用来重建跨越癌症的点突变的异质谱,每个突变过程都具有特征性标记,作者将每个患者的结构变异集分为多个互斥类别,根据大小,复制时机和易碎站点的发生情况

    1.7K20

    Nature: 泛癌突变特征,错过了TCGA但别错过它!

    .内外因素一直驱动着肿瘤基因组发生体细胞突变,在这一过程中形成了具有特征性的突变标签集。...癌症基因组中体细胞突变的突变过程都可能涉及DNA损伤或修饰,DNA修复和DNA复制(可能是正常的或异常的),并产生特征性的突变特征,可能包括碱基取代,小的插入和缺失,基因组重排和染色体拷贝数改变。...签名分裂可能反映了由同一诱因下,突变过程的不同阶段,这些过程具有紧密但不完全相关的活动。...总体而言,缺失和插入的数目相似,但是癌症类型之间存在差异:一些癌症显示出更多的缺失,而其他癌症则显示出更多的各种亚型插入。 本研究中作者提取了17个indels的突变特征。...图S7:从COMPOSITE功能集中提取的突变签名,由五核苷酸范围内的SBSs,DBSs和indels组成 5.与年龄的关系 癌症诊断年龄大致与突变签名的数量之间呈正相关关系,表明从受精卵到癌细胞的整个细胞谱系中

    90320

    Nature: 泛癌突变特征,错过了TCGA但别错过它!

    .内外因素一直驱动着肿瘤基因组发生体细胞突变,在这一过程中形成了具有特征性的突变标签集。...癌症基因组中体细胞突变的突变过程都可能涉及DNA损伤或修饰,DNA修复和DNA复制(可能是正常的或异常的),并产生特征性的突变特征,可能包括碱基取代,小的插入和缺失,基因组重排和染色体拷贝数改变。...签名分裂可能反映了由同一诱因下,突变过程的不同阶段,这些过程具有紧密但不完全相关的活动。...总体而言,缺失和插入的数目相似,但是癌症类型之间存在差异:一些癌症显示出更多的缺失,而其他癌症则显示出更多的各种亚型插入。 本研究中作者提取了17个indels的突变特征。...图S7:从COMPOSITE功能集中提取的突变签名,由五核苷酸范围内的SBSs,DBSs和indels组成 5.与年龄的关系 癌症诊断年龄大致与突变签名的数量之间呈正相关关系,表明从受精卵到癌细胞的整个细胞谱系中

    2.7K30

    无实验数据指导蛋白质定向进化,上海交大洪亮课题组发表微环境感知图神经网络 ProtLGN

    编辑:李宝珠,三羊 上海交通大学洪亮课题组研发了一种名为 PROTLGN 的微环境感知图神经网络,能够从蛋白质三维结构中学习并预测有益的氨基酸突变位点,指导具有不同功能白质单位点突变和多位点突变设计。...为此,上海交通大学洪亮课题组研发了一种名为 PROTLGN 的微环境感知图神经网络,能够从蛋白质三维结构中学习并预测有益的氨基酸突变位点,指导具有不同功能白质单位点突变和多位点突变设计,超过 40% 的...在自监督学习过程中,EGC 层接收具有噪声的野生型蛋白质图作为输入,并输出节点的嵌入表示,这些嵌入表示考虑了氨基酸残基之间的空间关系。...这可能表明随着突变位点的增加,活性如何变化 * 中下:KmAgo 及其多突变位点突变体的切割活性 实验结果显示: * 活性提升:与野生型 (WT) 相比,90% 的突变体显示出增强的 DNA 切割活性。...零数据跨入 AGI 时代后,下一代结构生物学家很可能不再主要是实验方法的专家,更多地是负责解释、设计和执行基于结构的实验,证明或否定生物学中的机制,或设计新的蛋白质功能与临床治疗方法。

    31210

    . | 理解RNA序列、结构与功能关系,IGI构建最新数据库进行分析

    通过利用GARNET中的高温菌RNA及这些RNA生成模型,作者识别出了核糖体RNA中的突变,这些突变使大肠杆菌核糖体具有更高的热稳定性。...利用GARNET,作者开发了结合序列和结构信息的RNA生成模型,并通过这些模型在大肠杆菌核糖体RNA中识别出提高热稳定性的突变。作者的研究为理解RNA的序列、结构与功能之间的关系提供了坚实的基础。...结果显示,采用三核苷酸为一个标记且每个标记滑动一个核苷酸的方式,模型性能显著优于单个或成对核苷酸的标记化方法(图4b)。...为解决这一问题,作者创建了GARNET数据库,涵盖更多细菌和古菌的RNA序列,并通过机器学习方法为每个基因组分配最适生长温度。...未来工作将包括探索多突变组合效应、扩展数据库以及结合更多数据类型,以进一步提升RNA功能工程的能力。

    14400

    Neuron:复杂神经精神疾病的进化观点

    在任何一个种群中对某一表型具有临床重要性的等位基因揭示了在所有种群中对该表型具有重要意义的基因。2. 突变复杂精神特征的遗传结构反映了进化和/或群体遗传学对生物学的影响。...突变发现的一个主要目标是揭示作为治疗目标的基因和途径,不仅适用于具有原始突变的患者,也适用于在相同或相关途径中具有类似破坏性影响的突变的任何患者。有时,突变和治疗之间的联系是立即明确的。...受影响个体组织中躯体事件的频率支持了体细胞突变与神经精神疾病之间的关系。...与对照组相比,精神分裂症和自闭症患者在死后脑组织中发现了更多的蛋白质改变和/或调节基序改变的体细胞突变。在血液中检测到的体细胞事件也是如此,无论是编码序列的点突变还是破坏关键基因的结构变异。...目标是测试候选遗传变异的因果关系,包括那些在非编码区,一旦建立,将个别因果事件转化为有效的治疗策略。了解导致神经精神疾病的突变是如何产生的。

    16710

    Nature | 蛋白质遗传结构很复杂?Ben Lehner使用加性能量模型得出相反结论!

    因此,即使在大多数蛋白质中采样数千万的随机组合基因型,也几乎无法提供有关遗传结构的信息——即突变如何组合以决定表型的规则。...总计获得了129,320个变体的三重复丰度测量数据,这占整个序列空间的0.0007%。这些测量具有高度的可重复性(Pearson相关系数r > 0.91;见图1d)。...如此大比例的表型方差由基于加性能量模型解释(无特定的表观效应或遗传相互作用),该模型仅在包含一到两个基因改变的基因型上训练,表明突变对蛋白质的能量效应在很大程度上与背景无关。...此外,从组合数据集和ddPCA数据集中推断的自由能变化(模型参数)之间的相关性也非常高(Pearson相关系数r = 0.87),但前者的估计值往往更极端,再次证明了在更多遗传背景中测量突变效应的价值,...这些测量具有高度的可重复性(结合和丰度的Pearson相关系数分别为r > 0.85和r > 0.94;见图4c)。

    6500

    【译】23andMe:大数据引发大责任

    在药物开发领域,一个很流行的实践是:通过DNA测序从一群具有相同疾病人群中寻找出共同的因子,以确定治疗的靶目标。大部分时候,基因突变通过增加、减少或改变特定蛋白的产物引发疾病。...明确影响某个蛋白表达的基因的突变给研究者提供一个靶点。然后他们能够尝试开发药物替代缺陷蛋白,或者阻止它的过分表达或错误表达。...接下来,他们能够采用模型生物测试药物的有效性,如通过改变老鼠的基因结构使其携带相同的基因突变。 听起来很科学是吧?这种药物开发有时候会成功,但是更多的时候是失败,导致药物开发非常昂贵。...我希望他们选择保持低调:越来越多的人会贡献和参与他们的项目,使更丰富的数据集成为可能。 自我报告数据集,会带来一些偏差。你能记住,你的姑妈是死于中风或动脉瘤?你究竟是否清楚你的大家庭的家族遗传关系?...一个突变的存在或不存在仅仅是预测疾病的第一步:一个小的突变的表现型效应,像导致镰状红细胞疾病的突变那样,可以是非常难预测的,因为它依赖于一系列在基因、细胞和环境等不同水平的相互作用的因素。

    70720

    您可能不需要使用Vue 3的Vuex

    这些情况包括: 使用相同数据的多个组件 具有数据访问权限的多个根 组件的深层嵌套 如果以上情况都不成立,那么不管您是否需要,答案都很简单。不用了 但是,如果您有以下一种情况呢?...最直接的答案是使用Vuex。这是经过考验的解决方案,并且做得不错。 但是,如果您不想添加其他依赖项或发现设置过于复杂怎么办?...您可以使用reactive函数创建反应变量(替代方法是ref函数)。...它在Proxy防止任何修改的对象中覆盖了传递的变量(尝试时会发出警告)。可以通过可访问可写存储的单独功能来处理突变。...Vuex具有更多功能,例如模块处理,但有时我们不需要。 如果您想了解Vue 3并尝试这种状态管理方法,请查看我的Vue 3游乐场。

    1.4K30

    React Query 指南,目前火热的状态管理库!

    你将在本系列中发现更多关于它的内容,学习如何使用它,并欣赏其在 React 应用程序中的简洁性。 useQuery 第一个核心概念是 useQuery。...突变 伙计们,是时候谈论 React Query 中的第二个核心概念了,即突变。 这是什么? 突变是用户可以在你的应用程序中执行的操作,你可以将突变想象成更改或创建某些东西的操作。...如果需要创建一个全局的加载器,在存在一个或多个请求进行时出现,它们就会很有用。 但是你如何使用它们呢? 我们先从 useIsFetching 开始。...useUser hook 必须具有用户数据,并且它必须将用户数据保存在本地存储中,并在以后刷新页面或返回时检索它们。...先从处理本地存储的代码开始,通常使用具有特定目标的小功能创建此代码,例如: import { User } from '.

    4.2K42

    肿瘤多区域取样的进化分析五:追踪非小细胞肺癌的进展

    与单样本分析或使用TCGA的NSCLC单样本相比,多区域全外显子组测序发现的突变明显更多。 鳞状细胞癌的克隆突变明显多于腺癌。这一发现可能反映了是由吸烟史的差异。...03 肺小细胞肺癌瘤内异质性的起因 (1)突变过程 了解突变过程是如何形成肿瘤的进化的,有助于在临床环境中限制肿瘤适应的策略。...在长期吸烟者的7/12例腺癌患者在晚期克隆突变中可检测到吸烟信号,该发现说明在具有临床表现之前,肺腺癌演变过程中的肿瘤潜伏期较长。...在具有多区域全基因组测序的拷贝数数据的92个肿瘤中,有62%观察到了这种现象。 染色体不稳定性也可能通过携带克隆突变的基因片段丢失而直接导致突变异质性。...这些数据与dN/dS突变选择分析一致,并表明随着肿瘤的发展,癌症进化中固有的约束条件也会发生变化,这可能会使更多的进化路径更容易发生进展。

    62120
    领券