生物笔记——暑期学习笔记(三)

生物笔记——暑期学习笔记(三)

文章目录

  • 前言
  • 一、R篇
    • 1. 数据筛选
    • 2. 字符串处理
    • 3. 练习
  • 二、生信篇
    • 1. blast 基因家族鉴定
    • 2. hmm鉴定
    • 3. 理化性质与亚细胞定位
    • 4. 基因重复类型分析
    • 5. 家族成员染色体位置分析
    • 6. 基因组共线性分析
    • 7. 多序列比对,构树
    • 8. Ka/Ks分析
    • 9. GO、KEGG富集分析
    • 10. 基因家族Motif 分析
  • 总结


前言

这一系列文章主要是对于在暑期,老师每周教导的生信方面的课程的课后学习笔记的总结,希望用此方法来巩固我的所学。

一、R篇

1. 数据筛选

情景:
假设有一个基因表达矩阵x
目标:

  1. 筛选出在样本A中基因表达值大于10、在样本B中小于8、在样本C中与样本D中表达值相差超过或等于2的基因,并返回基因ID。
  2. 筛选出所有基因表达量都为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 = "_"))
> x
         A  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,]

> x1
        A 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 笔记篇

你可能感兴趣的:(生物技术笔记,笔记,学习)