同义突变是指DNA / RNA序列的突变的原因没有修改翻译的氨基酸序列。大部分的同义突变也沉默突变,因为他们没有可观察到的对生物体的表型的影响。设计与同义突变序列突变通常是应用于许多生物研究方法来控制一些不必要的翻译的氨基酸序列的变化。
密码子使用偏差和二核苷酸使用偏差是DNA / RNA序列的两个基因签名,即使是同义的序列。描述的功能的序列不同的密码子使用偏差或二核苷酸使用偏差有助于研究他们对各种生物功能的影响。事实上,这种方法已经应用于许多在病毒学研究。
SynMut
提供了一些工具来生成多个不同基因组的DNA序列的特性(尤其是密码子/二核苷酸使用模式)。用户还可以指定可变区域的序列(这是特别有用,因为有一些保守的基因组区域,我们不希望修改)。这个工具最初设计用于生成重组病毒序列在甲型流感病毒研究使用不同的二核苷酸和密码子使用的影响,然而,这些函数可以通用这个包中提供各种其他生物研究。
下面是一个流程图说明组件工作togaether如何在这个包中。
我们使用以下包中的数据为例。
example.fasta
:fasta文件包含段7和8的DNA序列甲型流感/布里斯班/ 59/2007 (H1N1) (BR59)。target_regions.csv
:该地区在csv格式读取的文件data.frame
指定用户定义的可变位置(在氨基酸位置)对应的DNA序列。图书馆(“SynMut”)filepath。fasta < -执行(“extdata”,“example.fasta”,包=“SynMut”)filepath。csv < -执行(“extdata”,“target_regions.csv”,包=“SynMut”)地区< -read.csv(filepath.csv)
的input_seq
函数接受系统fasta文件或DNAStringSet对象作为输入,构建一个regioned_dna
中使用的对象SynMut
包中。
重要的笔记:如果地区
参数中指定了regioned_dna对象时,它将自动适用于所有下游功能突变。突变只会执行指定的可变区域。
各种各样的get_
函数是用来得到一些有用的信息:
get_dna
:访问的DNA序列。这将返回一个DNAStringSet对象(从Biostrings
包)。get_dna(rgd.seq)# > DNAStringSet对象长度2:# >宽度seq的名字# > [1]759 ATGAGTCTTCTAACCGAGGTCGA…TGCAGATGCAACGATTCAAGTGA /布里斯班/ 59/200……# > [2]693 ATGGATTCCCACACTGTGTCAAG…GAACAACTAGGTCAGAAGTTTGA /布里斯班/ 59/200……
get_region
:访问用户定义的可变区域。如果没有指定区域,这个函数将返回一个列表
长度为0。str(get_region(rgd.seq))# > 2的列表# > $ M:罗技(1:253)假假假假假假…# > $ NS:罗技(1:231)假假假假假假…get_region(input_seq(filepath.fasta))# >列表()
get_cu
:密码子的使用get_du
:二核苷酸的使用get_nu
:核苷酸的使用get_cu(rgd.seq)# > AAA AAC亚美大陆煤层气有限公司AAT ACA ACC ACG行动AGA AGC gg AGT ATA ATC ATG ATT CAA CAC# > [1]5 2 8 9 5 7 2 4 7 4 4 5 5 4 14 3 5 1# > [2]8 3 5 6 6 2 0 10 4 3 2 3 3 10 5 4 1# > CAG猫CCA CCC 20有条件现金转移支付注册会计师公司治理文化CGG CGT CTA CTC CTG CTT棉酚广汽GAG手枪# > [1]10 4 3 2 1 2 4 1 0 1 2 7 5 9 7 2 10 4# > [2]5 2 3 2 0 3 2 2 4 0 5 3 4 7 10 5 6 10# > GCA GCC GCG GCT GGA GGC GGG GGT GTA GTC GTG GTT TAA TAC标记答柠檬酸移行细胞癌# > [1]8 10 0 9 5 2 7 2 2 3 5 0 2 0 3 3 1# > [2]5 6 2 2 6 7 4 3 1 2 3 4 5 0 1 0 0 3# > TCG TCT TGA TGC TGG TGT TTA TTC TTG到达目标时间# > [1]1 4 1 0 1 3 3 3 0 41 # > [2]3 1 1 4 2 1 7 2 3get_du(rgd.seq)# > AA AC AG)在CA CC CG CT GA GC GG GT TA TC TG TT# > [1]65 41 62 56 64 38 20 48 61 48 54 31 34 43 58 35# >[2]69 40 51 45 51 29日20 47 64 34 49 27 21 44 54 47岁get_nu(rgd.seq)# > C G T# > [1]225 170 194 170# > [2]206 147 174 166
get_freq
get_rscu
生成随机的突变(如果提供的特定区域input_seq
),可选让或不让原来的密码子使用的偏见。
#随机同义突变无足轻重的人。seq < -codon_random(rgd.seq)#比较密码子使用get_cu(mut.seq)- - - - - -get_cu(rgd.seq)# > AAA AAC亚美大陆煤层气有限公司AAT ACA ACC ACG行动AGA AGC gg AGT ATA ATC ATG ATT CAA CAC# > [1]4 3 4 3 2 5 0 3 1 2 4 2 0 1 0 1 0 2# > [2]0 1 0 1 4 0 6 2 2 0 1 1 2 2 0 0 1 0# > CAG猫CCA CCC 20有条件现金转移支付注册会计师公司治理文化CGG CGT CTA CTC CTG CTT棉酚广汽GAG手枪# > [1]0 2 3 0 2 1 1 5 2 1 2 4 5 3 2 3 2# > [2]1 0 1 0 0 1 2 1 2 2 2 1 0 1 1 1 3# > GCA GCC GCG GCT GGA GGC GGG GGT GTA GTC GTG GTT TAA TAC标记答柠檬酸移行细胞癌# > [1]3 3 4 2 3 4 1 2 2 2 2 2 0 1 0 1 2 0# > [2]1 2 0 1 2 1 2 5 4 3 2 0 1 0 0 0 0 1# > TCG TCT TGA TGC TGG TGT TTA TTC TTG到达目标时间# > [1]2 0 0 1 0 1 0 1 6 1# > [2]1 1 0 1 0 1 5 1 1 1#保持原来的密码子使用模式无足轻重的人。seq < -codon_random(rgd.seq保持=真正的)#比较密码子使用get_cu(mut.seq)- - - - - -get_cu(rgd.seq)# > AAA AAC亚美大陆煤层气有限公司AAT ACA ACC ACG行动AGA AGC gg AGT ATA ATC ATG ATT CAA CAC# > [1]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > CAG猫CCA CCC 20有条件现金转移支付注册会计师公司治理文化CGG CGT CTA CTC CTG CTT棉酚广汽GAG手枪# > [1]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > GCA GCC GCG GCT GGA GGC GGG GGT GTA GTC GTG GTT TAA TAC标记答柠檬酸移行细胞癌# > [1]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > TCG TCT TGA TGC TGG TGT TTA TTC TTG到达目标时间# > [1]0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0
我们也可以指定n
参数控制的密码子突变的比例。
#允许百分之五十的密码子突变无足轻重的人。seq < -codon_random(rgd.seqn =0.5)#比较密码子使用get_cu(mut.seq)- - - - - -get_cu(rgd.seq)# > AAA AAC亚美大陆煤层气有限公司AAT ACA ACC ACG行动AGA AGC gg AGT ATA ATC ATG ATT CAA CAC# > [1]1 1 3 0 2 4 2 2 1 2 1 0 1 0 1 1 1# > [2]0 0 0 0 3 1 2 0 2 0 2 0 1 0 0 1 2 0# > CAG猫CCA CCC 20有条件现金转移支付注册会计师公司治理文化CGG CGT CTA CTC CTG CTT棉酚广汽GAG手枪# > [1]1 1 1 0 2 1 1 1 2 0 2 1 3 0 1 1 1 1# > [2]2 0 1 0 2 1 1 2 2 1 3 1 0 2 3 2 3 2# > GCA GCC GCG GCT GGA GGC GGG GGT GTA GTC GTG GTT TAA TAC标记答柠檬酸移行细胞癌# > [1]3 2 2 3 0 0 1 1 0 0 2 2 0 2 0 2 3 2# > [2]2 2 0 0 1 1 0 2 0 1 0 1 0 0 0 0 2 0# > TCG TCT TGA TGC TGG TGT TTA TTC TTG到达目标时间# > [1]0 3 0 1 0 1 0 1 2 1# > [2]2 0 0 0 0 0 3 1 1 1
当研究一个特定的密码子的作用,它会有用的突变体最大/最小密码子的使用。的codon_to
函数将为你做这项工作。通过一连串的密码子的max.codon
或min.codon
参数最大化或最小化序列中的某些密码子的使用。
#生成AAC-maximized突变无足轻重的人。seq < -codon_to(rgd.seqmax.codon=“AAC格式”)#比较密码子使用get_cu(mut.seq)- - - - - -get_cu(rgd.seq)# > AAA AAC亚美大陆煤层气有限公司AAT ACA ACC ACG行动AGA AGC gg AGT ATA ATC ATG ATT CAA CAC# > [1]0 8 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]0 6 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > CAG猫CCA CCC 20有条件现金转移支付注册会计师公司治理文化CGG CGT CTA CTC CTG CTT棉酚广汽GAG手枪# > [1]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > GCA GCC GCG GCT GGA GGC GGG GGT GTA GTC GTG GTT TAA TAC标记答柠檬酸移行细胞癌# > [1]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > TCG TCT TGA TGC TGG TGT TTA TTC TTG到达目标时间# > [1]0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0#生成AAC-minimized突变无足轻重的人。seq < -codon_to(rgd.seqmin.codon =“AAC格式”)#比较密码子使用get_cu(mut.seq)- - - - - -get_cu(rgd.seq)# > AAA AAC亚美大陆煤层气有限公司AAT ACA ACC ACG行动AGA AGC gg AGT ATA ATC ATG ATT CAA CAC# > [1]0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]0 3 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > CAG猫CCA CCC 20有条件现金转移支付注册会计师公司治理文化CGG CGT CTA CTC CTG CTT棉酚广汽GAG手枪# > [1]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > GCA GCC GCG GCT GGA GGC GGG GGT GTA GTC GTG GTT TAA TAC标记答柠檬酸移行细胞癌# > [1]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > TCG TCT TGA TGC TGG TGT TTA TTC TTG到达目标时间# > [1]0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0
使用dinu_to
生成与最大/最小使用特定的二核苷酸突变。这是通过一个两步启发式贪婪算法,可以在这找到详细信息链接。
另一种选择保持= TRUE
参数允许保留原来的密码子使用的偏见。这可以结合时有用codon_mimic
在下一节设计突变序列与类似的密码子使用偏差但截然不同的特定的二核苷酸使用。
# Maximaize使用“CG”二核苷酸在预定义的地区无足轻重的人。seq < -dinu_to(rgd.seqmax。dinu =“重心”)#检查dinucelotide突变和原来的用法区别get_du(mut.seq)- - - - - -get_du(rgd.seq)# > AA AC AG)在CA CC CG CT GA GC GG GT TA TC TG TT# > [1]-14 9 -29 -25 -12 8 96 8 7 37 1 0 -26 -37 -23# > [2]-22 5 -20 -19 7 86 9 -30 -32 4 -19 25#最小化“CA”的用法,比较二核苷酸使用。无足轻重的人。seq < -dinu_to(rgd.seqmin.dinu =“CA”)get_du(mut.seq)- - - - - -get_du(rgd.seq)# > AA AC AG)在CA CC CG CT GA GC GG GT TA TC TG TT# > [1]21 -22 -39 7 -40 34 8 2 -14 9 19 4 2 12 33# >[2]10 -12 -23 -13 -35 -17 19 1 6 -14 -11年22日13日21日31日#最大化“重心”的使用,同时保持原来的密码子使用无足轻重的人。seq < -dinu_to(rgd.seqmax。dinu =“重心”,保持=真正的)#比较二核苷酸的使用get_du(mut.seq)- - - - - -get_du(rgd.seq)# > AA AC AG)在CA CC CG CT GA GC GG GT TA TC TG TT# > [1]4 0 5 1 -20 4 26 2 1 0 1 0 4 -20 1# > [2]0 2 4 2 4 -14 5 23 3 1 4 0 11 2 -15 2#比较密码子使用get_cu(mut.seq)- - - - - -get_cu(rgd.seq)# > AAA AAC亚美大陆煤层气有限公司AAT ACA ACC ACG行动AGA AGC gg AGT ATA ATC ATG ATT CAA CAC# > [1]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > CAG猫CCA CCC 20有条件现金转移支付注册会计师公司治理文化CGG CGT CTA CTC CTG CTT棉酚广汽GAG手枪# > [1]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > GCA GCC GCG GCT GGA GGC GGG GGT GTA GTC GTG GTT TAA TAC标记答柠檬酸移行细胞癌# > [1]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > TCG TCT TGA TGC TGG TGT TTA TTC TTG到达目标时间# > [1]0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0
这个函数codon_mimic
变异序列来模拟目标密码子使用模式。详细的算法提供了链接。
的alt
参数指定目标密码子的使用在一个密码子使用向量(结果get_cu
)或DNAStringSet长度1代表所需的密码子使用。
#使用一个密码子用法向量作为目标目标< -get_cu(rgd.seq) [2,)无足轻重的人。seq < -codon_mimic(rgd.seqalt =目标)#比较密码子使用get_cu(mut.seq)- - - - - -get_cu(rgd.seq)# > AAA AAC亚美大陆煤层气有限公司AAT ACA ACC ACG行动AGA AGC gg AGT ATA ATC ATG ATT CAA CAC# > [1]3 2 3 2 1 1 5 2 0 0 3 1 1 0 2 2 1# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > CAG猫CCA CCC 20有条件现金转移支付注册会计师公司治理文化CGG CGT CTA CTC CTG CTT棉酚广汽GAG手枪# > [1]2 1 0 0 0 0 2 1 4 1 3 0 1 4 0 4 0# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > GCA GCC GCG GCT GGA GGC GGG GGT GTA GTC GTG GTT TAA TAC标记答柠檬酸移行细胞癌# > [1]3 7 3 1 2 4 1 0 1 2 1 0 2 0 2 2 2# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > TCG TCT TGA TGC TGG TGT TTA TTC TTG到达目标时间# > [1]0 1 0 1 0 1 2 2 2 2# > [2]0 0 0 0 0 0 0 0 0 0#使用序列作为目标目标< -Biostrings::DNAStringSet(“TTGAAAA-CTC-N——亚美大陆煤层气有限公司”)无足轻重的人。seq < -codon_mimic(rgd.seqalt =目标)#比较密码子使用get_cu(mut.seq)- - - - - -get_cu(rgd.seq)# > AAA AAC亚美大陆煤层气有限公司AAT ACA ACC ACG行动AGA AGC gg AGT ATA ATC ATG ATT CAA CAC# > [1]1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > CAG猫CCA CCC 20有条件现金转移支付注册会计师公司治理文化CGG CGT CTA CTC CTG CTT棉酚广汽GAG手枪# > [1]0 0 0 0 0 0 0 0 0 0 1 4 5 7 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0 5 3 4 6 0 0 0 0# > GCA GCC GCG GCT GGA GGC GGG GGT GTA GTC GTG GTT TAA TAC标记答柠檬酸移行细胞癌# > [1]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > TCG TCT TGA TGC TGG TGT TTA TTC TTG到达目标时间# > [1]19 0 0 0 0 0 0 2 0 0# > [2]19 0 0 0 0 0 0 1 0 0#比较同义密码子的使用频率get_freq(mut.seq)- - - - - -get_freq(rgd.seq)# > AAA AAC亚美大陆煤层气有限公司AAT ACA ACC ACG AGA AGC gg AGT ATA ATC行动-0.07692308 # > [1]0.07692308 0 0 0 0 0 0 0 0 0 0 0 00.07692308 # > [2]-0.07692308 0 0 0 0 0 0 0 0 0 0 0 0# > ATG ATT CAA CAC CAG猫CCA CCC 20有条件现金转移支付注册会计师公司治理文化CGG CGT CTA# > [1]0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.03846154# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.22727273# > CTC CTG CTT棉酚广汽GCC GCG GCT GGA GGC甘氨胆酸呕吐手枪# > [1]-0.1538462 -0.1923077 -0.2692308 0 0 0 0 0 0 0 0 0 0# > [2]-0.1363636 -0.1818182 -0.2727273 0 0 0 0 0 0 0 0 0 0# > GGG GGT GTA GTC GTG GTT TAA TAC标签答柠檬酸太极拳TCG TCT TGA TGC TGG TGT# > [1]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0# > TTA TTC TTG到达目标时间# > [1]-0.07692308 0 0.7307692 0# > [2]-0.04545455 0 0.8636364 0#比较相对同义密码子的使用(RSCU)get_rscu(mut.seq)- - - - - -get_rscu(rgd.seq)# > AAA AAC亚美大陆煤层气有限公司AAT ACA ACC ACG AGA AGC gg AGT ATA ATC ATG行动-0.1538462 # > [1]0.1538462 0 0 0 0 0 0 0 0 0 0 0 0 00.1538462 # > [2]-0.1538462 0 0 0 0 0 0 0 0 0 0 0 0 0# > ATT CAA CAC CAG猫CCA CCC 20有条件现金转移支付注册会计师公司治理文化CGG CGT CTA CTC# > [1]0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2307692 - -0.9230769# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 -1.3636364 - -0.8181818# > CTG CTT棉酚广汽GAG手枪GCA GCC GCG GCT GGA GGC GGG GGT侠盗猎车手# > [1]-1.153846 - -1.615385 0 0 0 0 0 0 0 0 0 0 0 0 0# > [2]-1.090909 - -1.636364 0 0 0 0 0 0 0 0 0 0 0 0 0# > GTC GTG GTT TAA TAC标签答柠檬酸太极拳TCG TCT TGA TGC TGG TGT TTA TTC# > [1]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4615385 0# > [2]0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2727273 0# > TTG到达目标时间# > [1]4.384615 0# > [2]5.181818 0
sessionInfo()# > R版本以下4.4.1 (2021-08-10)# >平台:x86_64-pc-linux-gnu(64位)# >下运行:Ubuntu 20.04.3 LTS# ># >矩阵产品:违约# >布拉斯特区:/home/biocbuild/bbs - 3.14 - bioc / R / lib / libRblas.so# > LAPACK: /home/biocbuild/bbs - 3.14 - bioc / R / lib / libRlapack.so# ># >语言环境:# > [1]LC_CTYPE = en_US。utf - 8 LC_NUMERIC = C# >[3]而= en_GB LC_COLLATE = C# > [5]LC_MONETARY = en_US。utf - 8 LC_MESSAGES = en_US.UTF-8# > [7]LC_PAPER = en_US。utf - 8 LC_NAME = C# > [9]LC_ADDRESS C = C LC_TELEPHONE =# > [11]LC_MEASUREMENT = en_US。utf - 8 LC_IDENTIFICATION = C# ># >附加基本包:# >[1]统计图形grDevices跑龙套基础数据集的方法# ># >其他附加包:# > [1]SynMut_1.10.0# ># >加载通过名称空间(而不是附加):# > [1]XVector_0.34.0 knitr_1.36 magrittr_2.0.1# > [4]MASS_7.3-54 zlibbioc_1.40.0 IRanges_2.28.0# > [7]BiocGenerics_0.40.0 R6_2.5.1 rlang_0.4.12# > [10]fastmap_1.1.0 stringr_1.4.0 GenomeInfoDb_1.30.0# > [13]tools_4.1.1 xfun_0.27 seqinr_4.2-8# > [16]jquerylib_0.1.4 htmltools_0.5.2 ade4_1.7-18# > [19]yaml_2.2.1 digest_0.6.28 crayon_1.4.1# > [22]GenomeInfoDbData_1.2.7 S4Vectors_0.32.0 sass_0.4.0# > [25]prettydoc_0.4.1 bitops_1.0-7 rcurl_1.98 - 1.5# > [28]evaluate_0.14 rmarkdown_2.11 stringi_1.7.5# > [31]compiler_4.1.1 bslib_0.3.1 Biostrings_2.62.0# > [34]stats4_4.1.1 jsonlite_1.7.2