生物笔记——暑期学习笔记(三)
文章目录
- 前言
- 一、R篇
- 1. 数据筛选
- 2. 字符串处理
- 3. 练习
- 二、生信篇
- 1. blast 基因家族鉴定
- 2. hmm鉴定
- 3. 理化性质与亚细胞定位
- 4. 基因重复类型分析
- 5. 家族成员染色体位置分析
- 6. 基因组共线性分析
- 7. 多序列比对,构树
- 8. Ka/Ks分析
- 9. GO、KEGG富集分析
- 10. 基因家族Motif 分析
- 总结
前言
这一系列文章主要是对于在暑期,老师每周教导的生信方面的课程的课后学习笔记的总结,希望用此方法来巩固我的所学。
一、R篇
1. 数据筛选
情景:
假设有一个基因表达矩阵x
目标:
- 筛选出在样本A中基因表达值大于10、在样本B中小于8、在样本C中与样本D中表达值相差超过或等于2的基因,并返回基因ID。
- 筛选出所有基因表达量都为0的基因
x <- data.frame(A =c(7:15,0),B = c(2:10,0), C = c(3:11,0),D = c(0:8,0),row.names = paste("gene",seq(1,10),sep = "_"))
> xA B C D
gene_1 7 2 3 0
gene_2 8 3 4 1
gene_3 9 4 5 2
gene_4 10 5 6 3
gene_5 11 6 7 4
gene_6 12 7 8 5
gene_7 13 8 9 6
gene_8 14 9 10 7
gene_9 15 10 11 8
gene_10 0 0 0 0#str(x)tiaojian <- x["A"]>10 & x["B"]<8 & abs((x["C"]-x["D"]))>=2
x1 <- x[tiaojian,]> x1A B C D
gene_5 11 6 7 4
gene_6 12 7 8 5#返回满足条件的基因ID
> row.names(x1)
[1] "gene_5" "gene_6"#或者直接用which返回索引,再根据索引返回满足条件的基因
> which(tiaojian)
[1] 5 6
> x[which(tiaojian),]A B C D
gene_5 11 6 7 4
gene_6 12 7 8 5#筛选出所有基因表达量都为0的基因
tiaojian <- rowSums(x==0) == ncol(x)
x2 <- x[tiaojian,]
> row.names(x2)
[1] "gene_10"
#或者
tiaojian <- x$A ==0 & x$B == 0 & x$C==0 & x$D ==0
x2 <- x[which(tiaojian),]
rownames(x2)
2. 字符串处理
#paste函数
> paste("x",c(1:3),sep="*")
[1] "x*1" "x*2" "x*3#nchar函数
> nchar("星石传说")
[1] 4
> nchar("sjfakjfa")
[1] 8
> paste(c("星", "石","传","说"), collapse = "")
[1] "星石传说"#字符串替换
x <- "1,3;5,6,7;8,9"
> gsub(";",",",x,fixed = TRUE)
[1] "1,3,5,6,7,8,9"
> sub(";",",",x,fixed = TRUE)
[1] "1,3,5,6,7;8,9"
> chartr("asx","xwb","xingshichuangshuo")
[1] "bingwhichuxngwhuo"#正则表达式
> gsub("[[:space:]]+"," ", "a cat in a box",perl = TRUE)
[1] "a cat in a box"
text <- "hello world"
is_match <- grepl("[A-Z]", text) #匹配text中是否包含大写字母
> is_match
[1] FALSE
3. 练习
情景:
假设有一个包含DNA序列的字符向量dan_seq
目标:
将序列转为大写字母,且进行碱基互补,再将所有序列按字典顺序排列,最后合并为一段长序列。
dan_seq <- c("atgcgta","cgtacg","ttgga","gcat")
dan_seq <- toupper(dan_seq)
> dan_seq
[1] "ATGCGTA" "CGTACG" "TTGGA" "GCAT" chartr("TAGC", "ATCG", dan_seq)
> dan_seq
[1] "TACGCAT" "GCATGC" "AACCT" "CGTA" dan_seq <- sort(dan_seq)
> dan_seq
[1] "AACCT" "CGTA" "GCATGC" "TACGCAT"new_seq<- paste(dan_seq,collapse = "")
> new_seq
[1] "AACCTCGTAGCATGCTACGCAT"
二、生信篇
1. blast 基因家族鉴定
基因家族成员鉴定(一)
2. hmm鉴定
生物笔记——暑期学习笔记(四)
3. 理化性质与亚细胞定位
理化性质与亚细胞定位
亚细胞定位
pyhton爬虫学习一
4. 基因重复类型分析
鉴定不同基因的重复模式
5. 家族成员染色体位置分析
家族成员染色体位置分析
6. 基因组共线性分析
基因组共线性分析
7. 多序列比对,构树
多序列比对,构树
8. Ka/Ks分析
Ka/Ks分析
9. GO、KEGG富集分析
10. 基因家族Motif 分析
基因家族Motif分析
总结
本文的R篇主要讲述了使用which()返回索引来进行数据筛选,以及一些字符串处理函数: paste() 、nchar() 、gsub() 、chartr() 等 。 而生信篇则主要讲述了在基因家族分析中的一些分析。
山一程,水一程,身向榆关那畔行,夜深千帐灯。
–2023-8-28 笔记篇