前言
最近在阅读欧剑虹老师《生物信息学生R入门教程》非常适合于刚入手NGS的初学者使用,这里我仅做我个人的读书笔记使用
本书分为八个章节:
1.R/Bioconductor简介
2.基因芯片的数据分析
3.RNA-seq数据分析
4.Chip-seq数据分析
5.ATAC-seq数据分析
6.单细胞RNA-seq数据fenx
7.下游分析
8.上游分析
Chapter1
照例我们先介绍下R,基础的语法就不介绍了
1.将字符串替换
input = "ATTTCCACTAACCACT"
#替换
dna2rna<-function(inputStr){
if(!is.character(inputStr))
stop("need character input")
is = toupper(inputStr)
chartr("T", "U", is)
}
dna2rna(mychar)
output = "AUUUCCACUAACCACU"
2.正则表达
主要是grep(),grepl(),sub()和gsub()函数,其中grep()返回的是位置系数,grepl()返回的是布尔值
pattern="^[A-Za-z0-9\\._%+-]+@[A-Za-z0-9\\.-]+\\.[A-Za-z]{2,4}$"
str<-c("abc","someone@bioconductor.org","efg","anotherone@gmail.com","thirdone@yahoo.cn")
grepl(pattern,str)
##[1] FALSE TRUE FALSE TRUE TRUE
sub()和gsub()用于正则替换,sub()只替换第一个满足条件的,gsub()则替换所有满足条件的
sub("\\w+@\\w+\\.[a-zA-Z]{2,4}","sub_function","abc@bioconductor.org,efd@bioconductor.org")
## [1] "sub_function,efd@bioconductor.org"
gsub("\\w+@\\w+\\.[a-zA-Z]{2,4}","gsub_function","abc@bioconductor.org,efd@bioconductor.org")
## [1] "gsub_function,gsub_function"
(1)"." 除了换行以外的任意字符
(2)"^" 一行字符串的起始,它并不代表第一个字符,只代表这里开始新的一行字符串。
(3)"$" 一行字符串的结束,它并不代表最后一个字符(因为换行符并不会被包含进匹配当中),只代表一行字符串到这里结束。
(4)"*" 零个或者多个之前的字符
(5)"+" 一个或者多个之前的字符
(6)"?" 零个或者一个之前的字符
2.函数技巧
判断数据类型
fun <- function(param1, param2=c("SEL1", "SEL2", "SEL3"), ...){
if(missing(param1)){
stop("param1 is required.")
}
if(!inherits(param1, c("numeric", "integer", "double"))){
stop("param1 must be an object of numeric")
}
这样写就严格规范了输入的数据类型,便于后续的操作
网友评论