Structstrings 1.2.0
的Structstrings
包实现了广泛使用的点括号注释存储在结构化的RNA碱基配对信息。例如用于ViennaRNA包(洛伦兹et al . 2011年),tRNAscan-SE软件(劳和艾迪1997)和tRNAdb(朱尔et al . 2009年)。
Structstrings
使用提供的基础设施Biostrings包(h .页,p . Aboyoun r .绅士,和s DebRoy留言。)和派生类DotBracketString
和相关的类型
类。从这些碱基对表可以产生深度分析的DotBracketDataFrame
类是来自DataFrame
类。此外,循环指数碱基对可以检索的LoopIndexList
,如果的一个衍生物IntegerList
类。一般来说,所有类自动检查的有效性碱基配对信息。
的转换DotBracketString
碱基对表和循环指数是用C实现的效率。C的实现在很大程度上的启发ViennaRNA包中。
这个包已经开发了一个改进的tRNA
包中。然而,其他项目也可能受益,这是分裂和改进。
安装软件包Bioconductor和加载。
如果(!requireNamespace (“BiocManager”,悄悄地= TRUE)) install.packages (“BiocManager”) BiocManager::安装(“Structstrings”)库(Structstrings)
DotBracketString
可以从角色创建其他对象XString
。结构信息的有效性检查在创建或修改的对象。
与4 #发夹碱基对dbs < - DotBracketString(”((((....)))))星展
# # # # 12-letter“DotBracketString”实例seq: ((((....))))
# StringSet有四个发夹结构,这些都是等价的dbs < - DotBracketStringSet (c (((((....))))”、“< < < < ....> > > >”,“[[[[....]]]]”、“{{{{....}}}}”)星展
# # 4 # #长度宽度的DotBracketStringSet实例seq # # [1] 12 ((((....)))) # # 12 < < < < .... [2]> > > > # # [3]12 [[[[....12 # # [4]]]]]{{{{....}}}}
# StringSetList存储更多的结构注释dbsl < - DotBracketStringSetList(星展银行(dbs)牧师)dbsl
长度2 # # # # DotBracketStringSetList [[1]] ((((....)))) < < < < ....> > > > [[[[....]]]]{{{{....}}}}# # [[2]]{{{{....[[[[....}}}}]]]]< < < < ....> > > > ((((....))))
#无效结构DotBracketString (”((((....))))
# # validObject误差():无效类“DotBracketString”对象:# #结构是无效的:# #“1”。# #它们包含无与伦比的位置。
注释可以转换使用convertAnnotation
函数。
星展银行[[2]]< - convertAnnotation (dbs[[2]],从= 2 l, l = 1) dbs [[3]] < - convertAnnotation (dbs[[3]],从= 3 l, l = 1) dbs [[4]] <——convertAnnotation (dbs[[4]],从= 4 l, l = 1) #注:convertAnnotation检查注释和停止#如果有任何冲突。星展银行
# # 4 # #长度宽度的DotBracketStringSet实例seq # # [1] 12 ((((....)))) # # [2] 12 ((((....)))) # # [3] 12 ((((....)))) # # [4] 12 ((((....))))
点括号注释可以变成一个碱基配对表,使碱基配对信息更容易被查询。例如,tRNA
包使使用该识别转运rna的结构元素。
为了这个目的DotBracketDataFrame
来自DataFrame
。这个特殊的DataFrame
只能包含5列,pos
,向前
,反向
字符
,基地
。前三个是义务,而最后两个是可选的。
#碱基配对表dbdfl < - getBasePairing (dbs) dbdfl [[1]]
# # DotBracketDataFrame 12行4列# # pos正向反向字符# # <整数> <整数> <整数> <人物> 12 (# 1 # 1 # 1 # 2 2 2 11 (# # 3 3 3 10 (# # 4 4 4 9 (# # 5 5 0 0。# #……………# # 8 8 0 0。# # 9 9 9 4)# # 10 10 10 3)# # 11 11 11 2)# # 12 12 12 1)
每一列的类型也固定在上面的示例中所示。上面所示的第五纵队不是必须的XStringSet
对象。
此外,循环指数可以为个人生成注释类型。这些信息也可以用来区分结构元素。
loopids < - getLoopIndices (dbs,支架。类型= 1 l) loopids [[1]]
# # [1]1 2 3 4 4 4 4 4 4 3 2 1
#也可以由DotBracketDataFrame包含相同的#信息loopids2 < getLoopIndices (dbdfl托架。类型= 1 l)所有(loopids = = loopids2)
# # # #真的真的真的真的
从一个点括号注释可以被重塑DotBracketDataFrame
对象的函数getDotBracket ()
。如果字符
列,这个信息是连接和用于创建一个DotBracketString
。如果它不存在force.bracket
被设置为真正的
,点架字符串创建的碱基配对信息。
rec_dbs < - getDotBracket (dbdfl) dbdf < - unlist (dbdfl) dbdf $字符零dbdfl2 < < - - - - - - -重新刊登(dbdf dbdfl) #即使没有设置字符列,点支架可以创建字符串rec_dbs2 < - getDotBracket (dbdfl2) rec_dbs3 < - getDotBracket (dbdfl,力= TRUE) rec_dbs [[1]]
# # # # 12-letter“DotBracketString”实例seq: ((((....))))
rec_dbs2 [[1]]
# # # # 12-letter“DotBracketString”实例seq: ((((....))))
rec_dbs3 [[1]]
# # # # 12-letter“DotBracketString”实例seq: ((((....))))
请注意,getDotBracket ()
可能会返回一个不同的输出比原始输入,如果这些信息从一个转身DotBracketString
来DotBracketDataFrame
和回DotBracketString
。首先,()
注释是紧随其后的是使用< >
,[]
和{}
在这个秩序。
对于一个DotBracketString
只包含一种类型的注释这可能并不意味着什么,只是如果字符
字符串本身是评估。然而,如果pseudoloops存在,这可能会导致重新格式化和简化的注释。
db < - DotBracketString (((((.... [[[)))) .... ((((.... < < < <…))))]]] .... > > > > db……”)
# # # # 52-letter“DotBracketString”实例seq: ((((.... [[[)))) .... ((((.... < < < <…))))]]] .... > > > >……
getDotBracket (getBasePairing (db),部队= TRUE)
# # # # 52-letter“DotBracketString”实例seq: ((((.... < < <)))) .... < < < < .... [[[[…> > > > > > > ....]]]]…
核苷酸序列和结构存储在一个对象,类StructuredRNAStringSet
实现。
数据(“星展”,包=“Structstrings envir =环境())的数据(seq,包=“Structstrings envir =环境())深发展< - StructuredRNAStringSet (seq, dbs)深发展[1]
# # StructuredRNAStringSet实例包含:# # # #长度1 # #宽度seq的RNAStringSet实例名称# # [1]72 GGGCGUGUGGUCUAGUGGUAUG…GUUCAAUUCCCAGCUCGCCCC序列长度的1 # # # # DotBracketStringSet实例seq # # 1 # #宽度72 [1](((((。(. . (((.........)))(((((.....))..... (((((.......)))))))))))。
#构造子集元素返回序列深发展[[1]]
# # # # 72 -信“RNAString”实例seq: GGGCGUGUGGUCUAGUGGUAUGAUUCUCGCUUUGGGUGCGAGAGGCCCUGGGUUCAAUUCCCAGCUCGCCCC
# dotbracket()提供了访问DotBracketStringSet dotbracket (sdb) [[1]]
# # # # 72 -信“DotBracketString”实例seq: (((((。(. . (((.........))) (((((.......))))) ..... (((((.......)))))))))))。
碱基对表可以直接访问使用getBasePairing ()
。的基地
列是自动填充的核苷酸序列。这有点低于表创建一个碱基对。因此,这一步可以省略的设置return.sequence
来假
。
dbdfl < - getBasePairing (sdb) dbdfl [[1]]
# # DotBracketDataFrame 72行4列# # pos正向反向字符# # <整数> <整数> <整数> <人物> # # 1 1 1 71 (# # 2 2 2 70 (# # 3 3 3 69 (# # 4 4 4 68 (# # 5 5 5 67 (# #……………)# # # # 68 68 68 69 69 69 3)# # 70 70 70 2)# # # # 72 71 71 71 72 0 0。
#返回结果没有序列信息dbdfl < - getBasePairing(深发展,返回。序列= TRUE) dbdfl [[1]]
# # DotBracketDataFrame 72行5列# # pos前进反向字符基地# # <整数> <整数> <整数> <人物> < RNAStringSet > # # 1 1 1 71 (G # # 2 2 2 70 (G # # 3 3 3 69 (G # # 4 4 4 68 (C # # 5 5 5 67 (G # #………………# # # # 68 68 68 4)G) C # # 70 69 69 69 70 70 2) C # # 71 71 71 1) C # # 72 72 0 0。C
sessionInfo ()
# # R版本3.6.1(2019-07-05)# #平台:x86_64-pc-linux-gnu(64位)# #下运行:Ubuntu 18.04.3 LTS # # # #矩阵产品:默认# #布拉斯特区:/home/biocbuild/bbs - 3.10 - bioc / R / lib / libRblas。所以# # LAPACK: /home/biocbuild/bbs - 3.10 - bioc / R / lib / libRlapack。# # # #语言环境:# # [1]LC_CTYPE = en_US。utf - 8 LC_NUMERIC = C # #[3]而= en_US。utf - 8 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]Structstrings_1.2.0 Biostrings_2.54.0 XVector_0.26.0 # # [4] IRanges_2.20.0 S4Vectors_0.24.0 BiocGenerics_0.32.0 # # [7] BiocStyle_2.14.0 # # # #通过加载一个名称空间(而不是附加):# # [1]Rcpp_1.0.2 assertive.data_0.0-3 # # [3] compiler_3.6.1 BiocManager_1.30.9 # # [5] assertive.files_0.0-2 assertive.properties_0.0-4 # # [7] tools_3.6.1 zlibbioc_1.32.0 # # [9] assertive.data.us_0.0-2 digest_0.6.22 # # [11] assertive_0.3-5 evaluate_0.14 # # [13] assertive.base_0.0-7 rlang_0.4.1 # # [15] yaml_2.2.0 xfun_0.10 # # [17] stringr_1.4.0 knitr_1.25 # # [19] assertive.strings_0.0-3 assertive.types_0.0-3 # # [21] assertive.datetimes_0.0-2 assertive.sets_0.0-3 # # [23] assertive.matrices_0.0-2 assertive.code_0.0-3 # # [25] rmarkdown_1.16 bookdown_0.14 # # [27] magrittr_1.5 assertive.numbers_0.0-2 # # [29] codetools_0.2-16 htmltools_0.4.0 # # [31] assertive.models_0.0-2 stringi_1.4.3 # # [33] assertive.data.uk_0.0-2 assertive.reflection_0.0-4
h .页面、p . Aboyoun r .绅士,和美国DebRoy。无日期“Biostrings。“Bioconductor。https://doi.org/10.18129/B9.bioc.Biostrings。
朱尔,弗兰克,马里奥•Morl罗兰•k•哈特曼Mathias Sprinzl,彼得·施,Joern磨蹭。2009年。“TRNAdb 2009:编译tRNA序列和tRNA基因。”核酸的研究37(数据库问题):d159 - 62。https://doi.org/10.1093/nar/gkn772。
洛伦茨,罗尼,斯蒂芬·h·伯恩哈特,基督教搪磨机祖茂堂Siederdissen,哈基姆taf, Christoph Flamm彼得·施,Ivo l . Hofacker》2011。“2.0 ViennaRNA包。”分子生物学的算法:AMB第一。https://doi.org/10.1186/1748 - 7188 - 6 - 26所示。
劳,t . M。,和S. R. Eddy. 1997. “TRNAscan-Se: A Program for Improved Detection of Transfer Rna Genes in Genomic Sequence.”核酸的研究25 (5):955 - 64。