Doris232 发表于 2022-1-4 18:53

基于遗传算法的密码子优化

Abstract
在DNA序列设计考虑的各种参数中,单个密码子的使用(ICU)被认为是影响mRNA翻译效率的最关键因素之一。然而,以往的研究也报道了密码子对的使用,也称为密码子上下文(codon context, CC)对蛋白质表达水平的显著影响。
Method
为了探讨ICU和CC在设计高蛋白表达序列中的相对重要性,我们实施了三个计算步骤:ICO方法生成最优ICU值的序列,CCO方法生成最优CC值的序列,MOCO方法同时兼顾ICU和CC。 因此,当其ICU/CC分布最接近生物体的参考ICU/CC分布时,得到的序列是ICU/CC最优的。
密码子优化(codon optimization),简单来讲,就是在我们构建的载体内引入宿主系统tRNA更愿意读取的密码子,这样能够更容易将其翻译成氨基酸,这会提高翻译速度,提高蛋白质表达的效率。生物系统是具有密码子偏好性的,不论真核生物还是原核生物,每种生物都会表现出某种程度的密码子利用的差异和偏爱。这是因为不同生物系统对于特定的密码子具有不同数量的可利用的tRNAs,并且每一个系统内对于每一个密码子,都有特定数量的tRNAs。所以,如果tRNAs与密码子数量的比例不正确,就会阻碍蛋白质的表达。因此,在进行蛋白质表达前,需要根据表达系统,对目的基因进行密码子优化,使用宿主系统内存在的tRNAs更偏好的密码子。
在遗传算法中我们的适应度函数ICU fitness,与密码子序列可以翻译成目标蛋白的能力相关,这篇论文中的度量方式如下

https://www.zhihu.com/equation?tex=%5Cpsi_%7BICU%7D%3D-%5Cfrac%7B%5Csum_%7Bk%3D1%7D%5E%7B64%7D%7C%7Bp_0%5E%7Bk%7D-p_1%5E%7Bk%7D%7C%7D%7D%7B64%7D+%5C%5C
遗传算法通常实现方式为一种计算机模拟。对于一个最优化问题,一定数量的候选解(称为个体)可抽象表示为染色体,使种群向更好的解进化。传统上,解用二进制表示(即0和1的串),但也可以用其他表示方法。进化从完全随机个体的种群开始,之后一代一代发生。在每一代中评价整个种群的适应度,从当前种群中随机地选择多个个体(基于它们的适应度),通过自然选择和突变产生新的生命种群,该种群在算法的下一次迭代中成为当前种群。遗传算法子流程图如下所示:



遗传算法基本流程图

遗传算法的选择我们采用轮盘赌法,由于该算法只能适用于适应度值为正的情况,为此我们做ranking变换,将适应度值范围转换到特定区间,再使用该算子:

https://www.zhihu.com/equation?tex=fitness+%3D+%5Cfrac%7Bfitness+-+min_1%7D%7Bmax_1-min_1%7D+%2A+%28max_2+-+min_2%29+%2B+min_2%5C%5C
# 遗传算法的主函数如下:
def GA_main(organisms_seq, pcross, pmutation, protein_seq, sizepop, maxgen):
    # organisms_seq: The compared seq of organisms, Format: Seq
    # pcross: the probability of cross
    # pmutation: the probability of mutation
    # protein_seq: the seq of protein to optimize
    # sizepop: the size of population
    # maxgen: the maximan generation
    organism_ICU_table = cal_pk_of_DNA(organisms_seq)
   
    # individual initialization
    individuals = initialization(protein_seq, sizepop)
    # print("the initialized individuals are:")
    # print(individuals)
    avgfitness = -64
    bestfitness = -64
    bestchrom = ''
   
    fitness = fitness_fun(individuals, organism_ICU_table)
    bestfitness = max(fitness)
    bestindex = fitness.index(max(fitness))
    bestchrom = individuals
   
    avgfitness = np.sum(fitness)/sizepop
    trace = []
   
    for i in range(maxgen):
      individuals = select(individuals, fitness)
      avgfitness = np.sum(fitness)/sizepop
      individuals = population_Cross(individuals, pcross=pcross)#0.4
      individuals = population_Mutation(individuals, pmutation = pmutation) # 0.6
      fitness = fitness_fun(individuals, organism_ICU_table)
      newbestfitness = max(fitness)
      if newbestfitness > bestfitness:
            bestfitness = newbestfitness
            bestindex = fitness.index(max(fitness))
            bestchrom = individuals
      
      avgfitness = np.sum(fitness)/sizepop
      trace.append(avgfitness)
      trace.append(newbestfitness)
      print("avgfitness is: ")
      print(avgfitness)
      print("newbestfitness is: ")
      print(newbestfitness)
      
   
    print(bestchrom)
    print(bestfitness)
   
    return trace

generation_trace = GA_main(all_seq, 0.6, 0.1, HvMT4_protein, 500, 400)Simulation Results
我们以莱茵衣藻为例,选取其高表达蛋白基因制作密码子偏好性表,我们设置种群大小为500个个体,模拟400代,交叉概率pcross为0.6,变异概率pmutation为0.1,接下来为模拟了HvMT4蛋白质所对应的DNA序列优化过程,种群进化过程如下图所示:



种群平均适应度值随代数变化图



最佳适应度值随代数变化图

HvMT4_protein的原始序列为:ATGGGCTGCGACGACAAGTGCGGGTGCGCCGTGCCGTGCCCCGGCGGCACGGGCTGCAGGTGCACCTCGGCGAGGAGCGGCGCGGAGCACACCACGTGCGCGTGCGGCGAGCACTGTGGGTGCAACCCGTGCGCGTGCGGGCGCGAGGGGACGCCGTCCGGGCGGGAGAATAGGCGGTCCAACTGCTCCTGCGGCGCGGCCTGCAACTGCGCTTCATGCGGCTCGACCGCCTGA
HvMT4_protein的优化后序列为:
ATGGGTTGTGACGATAAATGTGGTTGTGCAGTACCATGTCCAGGTGGTACTGGTTGTCGTTGTACATCTGCTCGTTCAGGTGCTGAACACACTACATGTGCTTGTGGTGAACACTGTGGTTGTAATCCTTGTGCTTGTGGTCGTGAAGGTACTCCATCTGGTCGTGAAAACCGTCGTTCAAACTGCTCATGTGGTGCTGCATGTAACTGTGCTTCTTGTGGTAGTACAGCTTAA
Results
从以上模拟结果可以看出,优化效果明显。此外原文章还提出新算法来评估优化ICU和CC对于提高蛋白质表达的相对重要性, 通过建立适当的数学模型来量化编码序列的ICU和CC适应度,基于遗传算法来最大化ICU和CC的适应度。在本次模拟中,我们只选取ICU值进行分析。
Discussion
以上模型是单目标优化过程,即以序列ICU值作为优化目标,在未来我们还可以设置多个优化目标,提出新的度量指标,避免优化结果在实际意义上陷入局部最佳的情况。新的指标可以考虑序列密码子相对位置的混乱程度等。
参考文献
Chung, B. K. S., & Lee, D. Y. (2012). Computational codon optimization of synthetic gene for protein expression. BMC systems biology, 6(1), 134.

fwalker 发表于 2022-1-4 19:02

页: [1]
查看完整版本: 基于遗传算法的密码子优化