《生物信息学生R入门教程》读书笔记 Chapter 1

前言

最近在阅读欧剑虹老师《生物信息学生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","[email protected]","efg","[email protected]","[email protected]")

grepl(pattern,str)
##[1] FALSE  TRUE FALSE  TRUE  TRUE

sub()和gsub()用于正则替换,sub()只替换第一个满足条件的,gsub()则替换所有满足条件的

sub("\\w+@\\w+\\.[a-zA-Z]{2,4}","sub_function","[email protected],[email protected]")
## [1] "sub_function,[email protected]"

gsub("\\w+@\\w+\\.[a-zA-Z]{2,4}","gsub_function","[email protected],[email protected]") 
## [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")
  }

这样写就严格规范了输入的数据类型,便于后续的操作

你可能感兴趣的:(《生物信息学生R入门教程》读书笔记 Chapter 1)