Modstrings 1.13.0
大多数核酸,不管他们的DNA或RNA,包含修改后的核苷酸,它提高了编码遗传信息的正常功能。他们通常监管功能和/或修改折叠行为和分子相互作用。
RNA转录修改几乎总是。最突出的例子当然是ribsomal RNA (rRNA)和转移核糖核酸(tRNA),但近年来还发现信使RNA是转录修改。此外,许多小型和长非编码rna也修改。
在许多资源,像tRNAdb(朱尔et al . 2009年)或modomics数据库(Boccaletto et al . 2018年)、修改核苷酸剧目。然而Bioconductor上下文中的这些信息并不容易,因为他们过分依赖RNA的特殊字符修改字母。
因此,ModRNAString
类实现扩展型
类的Biostrings
(h .页,p . Aboyoun r .绅士,和美国DebRoy 2017)包中。它可以存储RNA的RNA序列包含特殊字符修改字母,因此可以存储位置和标识的修改。实现功能转换为表格格式。
实现的类继承父母的大部分功能型
类和衍生品,这让他们像正常的XString
类在Bioconductor上下文。大部分的功能是直接继承和派生的Biostrings
包中。
由于DNA修改字母也存在,ModDNAString
类实现。有关可用的字母看一看RNA修改和(DNA修改)(ModDNAString-alphabet。html字母小插曲。
ModRNAString
对象原则上ModRNAString
和ModDNAString
可以创建其他对象XString
对象。然而编码问题肯定会发挥作用,根据修改,操作系统和可能R版本。这不是一个问题,如何将数据在内部使用,但这封信是如何转移从控制台R和回来。
库(Modstrings)库(GenomicRanges)
#这作品<先生- ModRNAString (ACGU7) #这可能工作在Linux上,但并不在Windows ModRNAString (“ACGU≈”)
# # # # 5信ModRNAString对象seq: ACGU≈
#这导致Windows上的误解。ωo .添加从yw - 72 #这修改信息(7-aminocarboxypropylwyosine) # m1I (1-methylinosine) ModRNAString (“ACGUΩ”)
# # # # 5信ModRNAString对象seq: ACGUΩ
消除这个问题的函数modifyNucleotide ()
实现,可以使用短名称或命名法的修改将它添加在所需的位置。
(缩写名(ModRNAString ()))
# # [1]“m1Am”“m1Gm”“m1Im”“m1acp3Y”“m1A”“m1G”
(命名(ModRNAString ()))
# # [1]“01”“01 g”“019”“1309 u”“1”“1 g”
r < - RNAString (ACGUG) mr2 < - modifyNucleotides (r, 5 l, m7G) mr2
# # # # 5信ModRNAString对象seq: ACGU7
5 l mr3 < - modifyNucleotides (r, g“7”,数控。类型=“数控”)mr3
# # # # 5信ModRNAString对象seq: ACGU7
此外,还可以使用字母()
功能和子集到所需的修改。
mr4 < - ModRNAString (paste0 (“ACGU字母表(ModRNAString ()) [33 l])) mr4
# # # # 5信ModRNAString对象seq: ACGUB
提供一个更精简的功能,可以将更多的信息作为输入,这个函数combineIntoModstrings ()
是如何实现的。需要一个XString
对象和一个农庄
对象与一个国防部
列,并返回一个ModString
对象。中的信息国防部
列必须匹配的短名称或命名法感兴趣的特定修改为返回的缩写名()
或命名法()
如上图所示的函数。
gr < -农庄(1:5,mod =“m7G”) mr5 < - combineIntoModstrings mr5 (r, gr)
# # # # 5信ModRNAString对象seq: ACGU7
combineIntoModstrings ()
也实现了ModStringSet
对象。
rs < - RNAStringSet(列表(r, r, r, r, r))的名字(rs) < - paste0(“序列”,seq_along (rs)) gr2 < -农庄(seqnames =名字(rs) [c (1 l, l 2 l 3 l, 3 l, 4 l, 5 l, 5 l)],范围= IRanges(开始= c (4 l, 5 l 5 l 4 l, 5 l, 5 l, 4 l, 5 l),宽度= 1 l), mod = c (“D”、“m7G”、“m7G”、“D”,“m7G”、“m7G”、“D”、“m7G”)) gr2
与8 # #农庄对象范围和1元数据列:# # seqnames范围链| mod # # < Rle > < IRanges > < Rle > | <人物> # # [1]Sequence1 4 D * | # # [2] Sequence1 5 * | m7G # # [3] Sequence2 5 * | m7G # # [4] Sequence3 4 D * | # # [5] Sequence3 5 * | m7G # # [6] Sequence4 5 * | m7G # # [7] Sequence5 4 D * | # # [8] Sequence5 5 * | m7G # # - - - - - - - # # seqinfo: 5因基因组序列;没有seqlengths
< - combineIntoModstrings夫人(rs, gr2)夫人
# # 5 # #长度宽度seq的ModRNAStringSet实例名称# # [1]5 ACGD7 Sequence1 # # [2] 5 ACGU7 Sequence2 # # [3] 5 ACGD7 Sequence3 # # [4] 5 ACGU7 Sequence4 # # [5] 5 ACGD7 Sequence5
反向操作也可以通过函数单独的()
,它允许修改的位置转移到一个表格格式。
gr3卢比< - < -分离(夫人)RNAStringSet gr3(夫人)
与8 # #农庄对象范围和1元数据列:# # seqnames范围链| mod # # < Rle > < IRanges > < Rle > | <人物> # # [1]Sequence1 4 + | D # # [2] Sequence1 5 + | m7G # # [3] Sequence2 5 + | m7G # # [4] Sequence3 4 + | D # # [5] Sequence3 5 + | m7G # # [6] Sequence4 5 + | m7G # # [7] Sequence5 4 + | D # # [8] Sequence5 5 + | m7G # # - - - - - - - # # seqinfo: 5因基因组序列;没有seqlengths
平日
# # RNAStringSet对象长度5:# #宽度seq名字# # [1]5 ACGUG Sequence1 # # [2] 5 ACGUG Sequence2 # # [3] 5 ACGUG Sequence3 # # [4] 5 ACGUG Sequence4 # # [5] 5 ACGUG Sequence5
modifyNucleotides ()
因此也combineIntoModstrings ()
要修改的要求,核苷酸匹配的原始基础修改。第二块失败,因为原始基地m7G当然是G。
modifyNucleotides (4 r, l,“m7G”)
# #错误:修改类型不匹配原始基础:# #你! m7G = G
要求两个函数检查的正常操作,所以下一位总是真正的
。
r < - RNAString (ACGUG) mr2 < - modifyNucleotides (r, 5 l, m7G) r = = RNAString (mr2)
# # [1]
ModString
对象ModString
对象可以直接比较RNAString
或DNAString
根据对象类型(ModRNA
来核糖核酸
和ModDNA
来DNA
)。
r = = ModRNAString(右)
# # [1]
r = =先生
# #[1]假
rs = = ModRNAStringSet (rs)
# #[1]真的真的真的真的真的
rs = = c ([1 l: 3 l],夫人rs [4 l: 5 l])
# #[1]假假假真真实的
ModString
对象ModString
对象可以转化为彼此。然而任何转换将删除任何信息修改和回复每个核苷酸回其原始核苷酸。
RNAString(先生)
# # # # 5信RNAString对象seq: ACGUG
ModString
信息可以编码与质量ModString
对象通过结合用XStringQuality
对象在一个QualityScaledModStringSet
对象。两个实现类:QualityScaledModRNAStringSet
和QualityScaledModDNAStringSet
。他们从一个像预期的那样是可用的QualityScaledXStringSet
对象。
qmrs < - QualityScaledModRNAStringSet(夫人、PhredQuality (c (“! ! ! ! h”,“h”! ! ! !,”! ! ! !h”、“! ! ! ! h”、“! ! ! ! qmrs h ")))
# # QualityScaledModRNAStringSet实例包含:# # # # 5 # #长度宽度的ModRNAStringSet实例seq名字# # [1]5 ACGD7 Sequence1 # # [2] 5 ACGU7 Sequence2 # # [3] 5 ACGD7 Sequence3 # # [4] 5 ACGU7 Sequence4 # # [5] 5 ACGD7 Sequence5 # # # # PhredQuality对象长度5:seq # # # #宽度[1]5 ! ! ! !h # # [2] 5 ! ! ! !h # # [3] 5 ! ! ! !h # # [4] 5 ! ! ! !h # # [5] 5 ! ! ! ! h
他们也可以构造/解构使用功能combineIntoModstrings ()
和单独的()
并使用一个额外的元数据列命名质量
。坚持施工的质量信息,设置参数与。品质= TRUE
。如果一个QualityScaledModStringSet
单独作为一个输入,返回的是质量信息质量列
。我们选择以避免冲突分数
列和不回收。
qgr < - (qmrs) qgr分开
与8范围和2 # #农庄对象元数据列:# # seqnames范围链| mod质量# # < Rle > < IRanges > < Rle > | <人物> <整数> # # [1]Sequence1 4 + | D 71 # # [2] Sequence1 5 + | m7G 0 # # [3] Sequence2 5 + | m7G 71 # # [4] Sequence3 4 D + | 0 # # [5] Sequence3 5 + | m7G 71 # # [6] Sequence4 5 + | m7G 0 # # [7] Sequence5 4 + | D 71 # # [8] Sequence5 5 + | m7G 71 # # - - - - - - - # # seqinfo: 5因基因组序列;没有seqlengths
combineIntoModstrings (qgr,夫人。质量= TRUE)
# # QualityScaledModRNAStringSet实例包含:# # # # 5 # #长度宽度的ModRNAStringSet实例seq名字# # [1]5 ACGD7 Sequence1 # # [2] 5 ACGU7 Sequence2 # # [3] 5 ACGD7 Sequence3 # # [4] 5 ACGU7 Sequence4 # # [5] 5 ACGD7 Sequence5 # # # # PhredQuality对象长度5:seq # # # #宽度[1]5 ! ! ! h !# # [2]5 ! ! ! !h # # [3] 5 ! ! ! !h # # [4] 5 ! ! ! !! ## [5] 5 !!!hh
ModString
对象/文件核苷酸序列可以保存到一个与修改fasta
或fastq
文件使用函数writeModStringSet ()
。阅读这些文件是通过使用readModRNAStringSet ()
或readModDNAStringSet ()
。在的情况下fastq
文件之后,可以自动解读为一个序列QualityScaledModRNAStringSet
使用readQualityScaledModRNAStringSet ()
函数。
writeModStringSet(夫人、文件=“test.fasta”) #注意不同的函数名。否则空品质将书面writeQualityScaledModStringSet (qmrs、文件=“test.fastq”) mrs2 < - readModRNAStringSet(“测试。fasta”,格式= " fasta mrs2”)
# # 5 # #长度宽度seq的ModRNAStringSet实例名称# # [1]5 ACGD7 Sequence1 # # [2] 5 ACGU7 Sequence2 # # [3] 5 ACGD7 Sequence3 # # [4] 5 ACGU7 Sequence4 # # [5] 5 ACGD7 Sequence5
qmrs2 < - readQualityScaledModRNAStringSet qmrs2 (“test.fastq”)
# # QualityScaledModRNAStringSet实例包含:# # # # 5 # #长度宽度的ModRNAStringSet实例seq名字# # [1]5 ACGD7 Sequence1 # # [2] 5 ACGU7 Sequence2 # # [3] 5 ACGD7 Sequence3 # # [4] 5 ACGU7 Sequence4 # # [5] 5 ACGD7 Sequence5 # # # # PhredQuality对象长度5:seq # # # #宽度[1]5 ! ! ! !h # # [2] 5 ! ! ! !h # # [3] 5 ! ! ! !h # # [4] 5 ! ! ! !h # # [5] 5 ! ! ! ! h
由于这些功能是专门设计使用修改后的内的核苷酸序列,它们从低于类似的功能Biostrings
包中。这是一个纯粹的基于R的实现的结果,而Biostrings
通过C端功能延伸了。这是一个潜在的改进未来的发展,但目前特殊的序列文件是有限的,所以它不是一个重要的事情。
模式匹配以及预期实现XString
对象。
matchPattern(先生,”得以“)
# #意见5信ModRNAString话题# #主题:ACGU7 # #视图:# # # #开始结束宽度[1]4 5 2(得以)
vmatchPattern (“D7”,夫人)
长度5 # # $ # # MIndex对象Sequence1 # # IRanges对象与范围1和0元数据列:# # # #开始结束宽度<整数> <整数> <整数> # # [1]4 5 2 # # # # $ Sequence2 # # IRanges对象与范围和0元数据列:# # # #开始结束宽度<整数> <整数> <整数> Sequence3美元# # # # # # IRanges对象与范围1和0元数据列:# # # #开始结束宽度<整数> <整数> <整数> # # [1]4 5 2 # # # # $ Sequence4 # # IRanges对象与范围和0元数据列:# # # #开始结束宽度<整数> <整数> <整数> Sequence5美元# # # # # # IRanges对象与范围1和0元数据列:# # # #开始结束宽度<整数> <整数> <整数> # # [1]4 5 2
推广< - unlist(夫人)matchLRPatterns (“7 acgu”、“U7ACG”、100 l,推广)
# #意见一个25-letter ModRNAString话题# #主题:ACGD7ACGU7ACGD7ACGU7ACGD7 # #视图:# # # #开始结束宽度[1]5 23 19 [7 acgu7acgd7acgu7acg]
原则上转录后修饰的蛋白质也可以实现。然而,必须开发一个字母的字母表转录后修饰。如果你已经意识到这样一个字母,想在Bioconductor上下文中使用它,让我们知道。
这是一个快速的例子显示如何导入包含修改核苷酸序列信息会话使用RModstrings
包中。文件需要utf - 8编码。
#读行测试< - readline(执行(“extdata”、“测试。fasta",package = "Modstrings"), encoding = "UTF-8") head(test,2L)
# # [1]" > tRNA Ala | | |自动发电控制(AGC)酿酒酵母|胞质”# # [2]“-GGGCGUGUKGCGUAGDC-GGD——AGCGCRCUCCCUUIGCOPGGGAGAG - - - - - - - - - - - - - - - - - - -GDCUCCGGTPCGAUUCCGGACUCGUCCACCA”
#保持每一二线序列,另一个作为指名道姓< -测试[seq.int (= 1 l, = 104 l, l = 2)) > < -测试[seq.int (l = 2, = 104 l, l = 2)) # sanitize输入。这需要适应个人的案子< - gsub (“”,“_”, gsub (“>”、“gsub(“\ \ |”、“-”名称)))> < - gsub (“-”、“gsub (“_”、“seq))的名字(seq) < -名字
# sanitize特殊字符Modstrings等效seq < - sanitizeFromModomics (seq) seq < - ModRNAStringSet seq (seq)
# # 52 # #长度宽度seq的ModRNAStringSet实例名称# # [1]76 GGGCGUGUKGCGUAGDCGGDAGC…PCGAUUCCGGACUCGUCCACCA tRNA-Ala-AGC-Saccha……# # [2]75 GCUCGCGUKLCGUAADGGCAACG…PCG”CCCCCAUCGUGAGUGCCA tRNA-Arg-UCU-Saccha……# # [3]76 PUCCUCGUKLCCCAADGGDCACG…PCA”GUCCUGGCGGGGAAGCCA tRNA-Arg-ICG-Saccha……# # [4]77 GACUCCAUGLCCAAGDDGGDDAA…PCA”CCCUCACUGGGGUCGCCA tRNA-Asn-GUU-Saccha……# # [5]75 UCCGUGAUAGUUPAADGGDCAGA…PCAAUUCCCCGUCGCGGAGCCA tRNA-Asp-GUC-Saccha……# #……… ## [48] 76 GCUCUCUUAGCUUAADGGDUAAA...PCAAAUCAUGGAGAGAGUACCA tRNA-Arg-NCU-Saccha... ## [49] 90 GGAUGGUUGACUGAGDGGDUUAA...PCAAAUCCUACAUCAUCCGCCA tRNA-Ser-UGA-Saccha... ## [50] 90 GGAUGGUUGACUGAGDGGDUUAA...PCAAAUCCUACAUCAUCCGCCA tRNA-Ser-UGA-Saccha... ## [51] 73 GUAAAUAUAAUUUAADGGDAAAA...PCAAAUCUUAGUAUUUACACCA tRNA-Thr-UAG-Saccha... ## [52] 74 AAGGAUAUAGUUUAADGGDAAAA...PCGAAUCUCUUUAUCCUUGCCA tRNA-Trp-!CA-Saccha...
#包含修改转换成表格格式单独(seq)
与567年# #农庄对象范围和1元数据列:# # seqnames范围链| mod # # < Rle > < IRanges > < Rle > | <人物> # # [1]tRNA-Ala-AGC-Sacchar . .9 + | m1G # # [2] tRNA-Ala-AGC-Sacchar . .16 + | D # # [3] tRNA-Ala-AGC-Sacchar . .20 + | D # # [4] tRNA-Ala-AGC-Sacchar . .26 + |平方米,2 g # # [5] tRNA-Ala-AGC-Sacchar . .34 + |我# #………………# # [563]tRNA-Trp——! CA-Sacchar . .33 + | cmnm5U # # [564] tRNA-Trp——! CA-Sacchar . .36 + | xA # # [565] tRNA-Trp——! CA-Sacchar . .38 + Y | # # [566] tRNA-Trp——! CA-Sacchar . . 52 + | m5U ## [567] tRNA-Trp-!CA-Sacchar.. 53 + | Y ## ------- ## seqinfo: 47 sequences from an unspecified genome; no seqlengths
sessionInfo ()
# # R版本4.2.0 RC (2022-04-21 r82226) # #平台:x86_64-pc-linux-gnu(64位)# #下运行:Ubuntu 20.04.4 LTS # # # #矩阵产品:默认# #布拉斯特区:/home/biocbuild/bbs - 3.16 - bioc / R / lib / libRblas。所以# # LAPACK: /home/biocbuild/bbs - 3.16 - bioc / R / lib / libRlapack。# # # #语言环境:# # [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]stats4统计图形grDevices跑龙套数据集方法# # # # # #[8]基地其他附加包:# # [1]GenomicRanges_1.49.0 Modstrings_1.13.0 Biostrings_2.65.0 # # [4] GenomeInfoDb_1.33.0 XVector_0.37.0 IRanges_2.31.0 # # [7] S4Vectors_0.35.0 BiocGenerics_0.43.0 BiocStyle_2.25.0 # # # #通过加载一个名称空间(而不是附加):# # [1]knitr_1.38 magrittr_2.0.3 zlibbioc_1.43.0 # # [4] R6_2.5.1 rlang_1.0.2 fastmap_1.1.0 # # [7] highr_0.9 stringr_1.4.0 tools_4.2.0 # # [10] xfun_0.30 cli_3.3.0 jquerylib_0.1.4 # # [13] htmltools_0.5.2 yaml_2.3.5 digest_0.6.29 # # [16] crayon_1.5.1 bookdown_0.26 GenomeInfoDbData_1.2.8 # # [19] BiocManager_1.30.17 bitops_1.0-7 sass_0.4.1 # # [22] rcurl_1.98 - 1.6 evaluate_0.15 rmarkdown_2.14 # # [25] stringi_1.7.6 compiler_4.2.0 bslib_0.3.1 # # [28] jsonlite_1.8.0
Boccaletto,皮特,马格达莱纳河a . Machnicka Elzbieta Purta, Pawel Piatkowski认为,Blazej Baginski,托马斯k . Wirecki瓦莱丽德Crecy-Lagard et al . 2018。“MODOMICS: Rna的数据库修改路径。2017更新。”核酸的研究46 (D1): D303-D307。https://doi.org/10.1093/nar/gkx1030。
h .页面、p . Aboyoun r .绅士,和美国DebRoy。2017年。“Biostrings。“Bioconductor。https://doi.org/10.18129/B9.bioc.Biostrings。
朱尔,弗兰克,马里奥•Morl罗兰•k•哈特曼Mathias Sprinzl,彼得·施,Joern磨蹭。2009年。“TRNAdb 2009:编译tRNA序列和tRNA基因。”核酸的研究37:D159-D162。https://doi.org/10.1093/nar/gkn772。