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

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

文章目录

  • 前言
  • 一、R篇
    • 1. unname()
    • 2. duplicated()
    • 3. 数据提取
    • 4. 分组
  • 二、生信篇
    • 1. 文本处理常用命令
    • 2. 命令输出
      • 1. 重定向
      • 2. 多命令执行
    • 3. 文本工具
    • 4. 本地hmm鉴定
      • 1. hmmer软件安装
      • 2. 文件准备
      • 3. 基于hmm的鉴定
  • 总结


前言

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


一、R篇

1. unname()

x <- c(1,4,6.25)
> x
[1] 1.00 4.00 6.25
x[] <- 7
> x
[1] 7 7 7
x <- c('星'=55,"石"=88,"苑"=99)
> x
星 石 苑 
55 88 99 
#去掉列名
y<- unname(x)
> y
[1] 55 88 99



age <- c(8:88)
name <- paste("wht",seq(8,88))

age[c(3,5,7)]
age[age>15]
df <- cbind(age,name)
x <- df[,]




df <- read.table("D:/class.csv",header = TRUE,sep =",")
head(df)
name <- df[,"name"]
age <- df[,"age"]
head(age)
age1 <- age[c(3,5,7)]
age2 <- age[age>=15]
df1 <- df[df$name%in%c("Mary","James"),]
age3 <- df1[,c("name","age")]
df2<- df[!df$name%in%c("Mary","James"),]
age34 <- df2$age



cut(1:9,breaks = c(0,3,6,9))  #分割
cut(1:88,breaks=3)

table(df$sex)
str(df)
df$sex <- factor(df$sex,levels = c("F", "M"), labels = c("Female", "Male"))
str(df)
tapply(df$age,df$sex,max)


2. duplicated()

duplicated,翻译过来是重复的意思,所以它的用处是判断是否是重复元素,并返回布尔值(方便记忆)

intersect(c(5,7),c(1,5,2,5))
union(c(5,7),c(1,5,2,5))
setdiff(c(5,7),c(1,5,2,5))  #求差集,前一向量中不属于后面向量元素组成的集合

x <- c(6,9,8,6)
> duplicated(x)
[1] FALSE FALSE FALSE  TRUE
> x[!duplicated(x)]
[1] 6 9 8
#或者直接使用unique()
> unique(x)
[1] 6 9 8

3. 数据提取

df <- read.table("D:/class.csv",header = TRUE,sep =",")
> head(df)
   name sex age height weight
1 Alice   F  13   56.5   84.0
2 Becka   F  13   65.3   98.0
3  Gail   F  14   64.3   90.0
4 Karen   F  12   56.3   77.0
5 Kathy   F  12   59.8   84.5
6  Mary   F  15   66.5  112.0
name <- df[,"name"]
age <- df[,"age"]
#head(age)

age1 <- age[c(3,5,7)]
age2 <- age[age>=15]

#取出“Mary"和"James"对应的age
df1 <- df[df$name%in%c("Mary","James"),]
age3 <- df1[,c("name","age")]
> age3
    name age
6   Mary  15
13 James  12

#取出其他人的
df2<- df[!df$name%in%c("Mary","James"),]
age4 <- df2[,c("name","age")]

4. 分组


#分割,通过对breaks参数的设置,来分割连续性变量
> cut(1:9,breaks = c(0,3,6,9))  
[1] (0,3] (0,3] (0,3] (3,6] (3,6] (3,6] (6,9] (6,9] (6,9]
Levels: (0,3] (3,6] (6,9]
cut(1:88,breaks=3)



> table(df$sex)

 F  M 
 9 10 

> str(df)
'data.frame':	19 obs. of  5 variables:
 $ name  : chr  "Alice" "Becka" "Gail" "Karen" ...
 $ sex   : chr  "F" "F" "F" "F" ...
 $ age   : int  13 13 14 12 12 15 11 15 14 14 ...
 $ height: num  56.5 65.3 64.3 56.3 59.8 66.5 51.3 62.5 62.8 69 ...
 $ weight: num  84 98 90 77 84.5 ...

#将sex变量转换为因子类型,方便分组
df$sex <- factor(df$sex,levels = c("F", "M"), labels = c("Female", "Male"))
#通过对labels参数的设置,改变因子的名称

> str(df)
'data.frame':	19 obs. of  5 variables:
 $ name  : chr  "Alice" "Becka" "Gail" "Karen" ...
 $ sex   : Factor w/ 2 levels "Female","Male": 1 1 1 1 1 1 1 1 1 2 ...
 $ age   : int  13 13 14 12 12 15 11 15 14 14 ...
 $ height: num  56.5 65.3 64.3 56.3 59.8 66.5 51.3 62.5 62.8 69 ...
 $ weight: num  84 98 90 77 84.5 ...


#根据sex分组并对于age求最大值
> tapply(df$age,df$sex,max)
Female   Male 
    15     16 

二、生信篇

1. 文本处理常用命令

less命令

打开并查看文件内容, less -SN (按行查看),按 q 退出 ; 支持直接查看压缩文件

示例: less -SN example.axt
请添加图片描述

wc 命令

简单统计文件内容
-c 只显示 字节数
-l 只显示行数
-w 只显示字数

$ wc example.axt
4    3 1755 example.axt

$ wc -c example.axt
1755 example.axt

$ wc -l example.axt
4 example.axt

$ wc -w example.axt
example.axt

可以得知该文件中的字节数为1755,行数为4,字数(是一个文本中的单词数量。在计算字数时,通常以空格或其他标点符号作为单词之间的分隔符)为3.

diff 命令

比较两个文件的不同

-a :只逐行比较文本文件
-b :忽略空格
-B :忽略空行
-c :显示全部内容,并标出不同之处

生物笔记——暑期学习笔记(四)_第1张图片

比如,我比较了一下sort.txt 和 file 两个文件。第一行的"9,13c9,14" 表示的是前一个文件的9到13行与后面文件的9到14行是不同的。

sort 命令

-r :降序输出
-n :以数值来排序
-o :输出到新文件

生物笔记——暑期学习笔记(四)_第2张图片

uniq 命令

比较相邻的行,显示不重复的行
-i :忽略大小写
-c :计数

生物笔记——暑期学习笔记(四)_第3张图片

命令 练习

生物笔记——暑期学习笔记(四)_第4张图片

2. 命令输出

1. 重定向

> 代表以覆盖的方式,将输出内容写入到指定文件
>> 代表以追加方式输出
命令 >> 文件 A 2>> 文件 B :正确的输出到 A 文件中,错误的输出到 B 文件中

生物笔记——暑期学习笔记(四)_第5张图片

2. 多命令执行

命令 1 ;命令 2 (两个命令互不干扰)
命令 1 && 命令 2 (只有前者执行,后者才能执行)
命令 1|| 命令 2 (只要前者能执行,后者就不执行;前者不执行,后者就顶上)

生物笔记——暑期学习笔记(四)_第6张图片

3. 文本工具

grep 、 sed 、awk

有关更多信息,请看
Linux中文本工具应用(Linux入门六)

4. 本地hmm鉴定

1. hmmer软件安装

mamba 是一个基于 Python 的 CLI 工具,被认为是 conda 的直接替代品,自带多线程下载,可以提高下载速度。

首先安装mamba
安装过程推荐:https://zhuanlan.zhihu.com/p/489499097?utm_id=0

# 创建一个新环境”wht_env1"并安装 iqtree软件
mamba create -n wht_env1 iqtree

安装完成:
生物笔记——暑期学习笔记(四)_第7张图片

#安装hmmer软件
mamba create -n wht_env2 hmmer

通过mamba安装的软件通常会安装到Conda环境的envs目录下( 安装时设置了环境)

2. 文件准备

hmm 模型文件 : 如 PF03936.hmm
fasta格式的AA序列文件 : 如 Lindera_aggregata.gene.pep

3. 基于hmm的鉴定

 hmmsearch /home/PF03936.hmm /home/Lindera_aggregata.gene.pep >/home/Lagg.PF03936.out

在这里插入图片描述
生物笔记——暑期学习笔记(四)_第8张图片


总结

本文的R篇主要讲了unname()、duplicated()、因子分组等。生信篇则介绍了一些在Linux中的简单操作命令。同时也学会了根据mamba管理器来下载所需软件,如用于hmm鉴定的hmmer软件等。

两情若是久长时,又岂在朝朝暮暮。

–2023-8-16

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