R语言实现DNA结构预测
时间:2022-07-26
本文章向大家介绍R语言实现DNA结构预测,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
大家对DNA应该都有一定的了解,那么DNA同样不仅仅是具有一级结构的碱基序列,而且还具有二级结构(双螺旋),三级结构(超螺旋)的特征。今天给大家介绍一个来预测DNA结构的R包DNAshapeR,其从基因组测序数据中以超高速、高通量的方式预测DNA形状特征。该软件包以核苷酸序列或基因组间隔作为输入,并生成各种图形表示,以供进一步分析。DNA预测使用滑动五聚体窗口,其中512个不同五聚体中的每一个都有独特的结构特征,从而在每个核苷酸位置(周向)定义了小沟宽(MGW),滚动,螺旋桨扭曲(ProT)和螺旋扭曲(HelT)的向量(周 等人,2013)。MGW和ProT定义碱基对参数,而Roll和HelT代表碱基对步长参数。首先我们看下需要安装的包:
BiocManager::install("DNAshapeR")
BiocManager::install("BSgenome.Scerevisiae.UCSC.sacCer3")#CpGmethylation此包需要外网
BiocManager::install("BSgenome.Hsapiens.UCSC.hg19")#referencegenome此包需要外网
BiocManager::install("AnnotationHub")
BiocManager::install("Biostrings")
接下来我们直接通过实例来看下包的操作:
1. 序列的结构预测
library(DNAshapeR)
fn <- system.file("extdata","CGRsample.fa", package = "DNAshapeR")
pred <- getShape(fn)
plotShape(pred$MGW)
plotShape(pred$ProT)
plotShape(pred$Roll)
plotShape(pred$HelT)
2. 对于参考基因组上的间隔进行预测
library(BSgenome.Scerevisiae.UCSC.sacCer3)
# Create a query GRanges object
gr <- GRanges(seqnames =c("chrI"),
strand = c("+", "-", "+"),
ranges = IRanges(start = c(100, 200, 300), width = 100))
getFasta(gr, Scerevisiae, width = 100,filename = "tmp.fa")
fn <- "tmp.fa"
pred <- getShape(fn)
heatShape(pred$ProT, 20)#其中20指的是色块的合并需要的大小即热图的单元格数量
3. 利用公共的平台去检索对应的基因序列做结构预测,当然,我们参考的这个平台的包需要连接外网。
library(BSgenome.Hsapiens.UCSC.hg19)
library(AnnotationHub)
ah <- AnnotationHub()
ah <- subset(ah, species=="Homosapiens")
ah <- query(ah, c("H3K4me3","Gm12878", "Roadmap"))
getFasta(ah[[1]], Hsapiens, width = 150,filename = "tmp.fa")
fn <- "tmp.fa"
pred <- getShape(fn)
4. 预测CpG甲基化背景下的DNA形态特征,可以制备一个FASTA序列文件,其中符号Mg: M表示前导链上甲基化CpG的胞嘧啶,符号g表示后随链上甲基化CpG的胞嘧啶。例如,
>seq1
GTGTCACMgCGTCTATACG
library(DNAshapeR)
fn_methy <- system.file("extdata","MethylSample.fa", package = "DNAshapeR")
pred_methy <- getShape(fn_methy,methylate = TRUE)
5. 基因组浏览器的类似功能,展示DNA形状的预测结构
fn2 <- system.file("extdata","SingleSeqsample.fa", package = "DNAshapeR")
pred2 <- getShape(fn2)
trackShape(fn2, pred2) # Only for singlesequence file
#如上图,横轴是序列中的每一个碱基的序列,纵轴是对每个点的预测值。
6. DNA序列的编码
library(Biostrings)
fn3 <- system.file("extdata","PBMsample_short.fa", package = "DNAshapeR")
pred3 <- getShape(fn3)
featureType <- c("1-mer","1-shape")
featureVector <- encodeSeqShape(fn3,pred3, featureType)
head(featureVector)
得到DNA序列的编码,后面具体如何应用那就很广了,在此不再赘述。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 详解Linux文件系统:ext4及更高版本
- Linux设置虚拟内存的教学与实战教程
- 详解Linux服务器状态、性能相关命令
- 【s3cmd】给s3cmd加点debug日志再编一个
- Linux获取当前脚本真实路径的方法
- 短视频商城源码,商城左侧菜单栏网页模板
- 谈一谈Linux系统重要的子目录问题
- Tensorflow 2.x Java api的maven包怎么找
- Linux上也有10个流行的Windows应用程序
- (译)SDL编程入门(14)动画精灵和VSync
- 在Ubuntu Linux上安装和使用Git和GitHub
- 10个好用的 HTML5 特性
- Linux下升级python和安装pip的详解
- Linux中使用top命令的技巧
- Linux中查找工具的友好替代方案