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

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

文章目录

  • 前言
  • 一、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 99age <- 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$agecut(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")]
> age3name 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 :显示全部内容,并标出不同之处

请添加图片描述

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

sort 命令

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

请添加图片描述

uniq 命令

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

在这里插入图片描述

命令 练习

在这里插入图片描述

2. 命令输出

1. 重定向

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

在这里插入图片描述

2. 多命令执行

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

在这里插入图片描述

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

安装完成:
在这里插入图片描述

#安装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

在这里插入图片描述
在这里插入图片描述


总结

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

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

–2023-8-16

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/71002.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++--SLT六大组件之间的关系

1.SLT六大组件&#xff1a; 容器&#xff0c;迭代器&#xff0c;算法&#xff0c;仿函数&#xff0c;适配器&#xff0c;空间配置器 2.六大组件之间的关系 容器&#xff1a;容器是STL最基础的组件&#xff0c;没有容器&#xff0c;就没有数据&#xff0c;容器的作用就是用来存…

【计算机网络篇】UDP协议

✅作者简介&#xff1a;大家好&#xff0c;我是小杨 &#x1f4c3;个人主页&#xff1a;「小杨」的csdn博客 &#x1f433;希望大家多多支持&#x1f970;一起进步呀&#xff01; UDP协议 1&#xff0c;UDP 简介 UDP&#xff08;User Datagram Protocol&#xff09;是一种无连…

【目标检测系列】YOLOV2解读

为更好理解YOLOv2模型&#xff0c;请先移步&#xff0c;了解YOLOv1后才能更好的理解YOLOv2所做的改进。 前情回顾&#xff1a;【目标检测系列】YOLOV1解读_怀逸%的博客-CSDN博客 背景 通用的目标检测应该具备快速、准确且能过识别各种各样的目标的特点。自从引入神经网络以来&a…

一文了解汽车芯片的分类及用途介绍

汽车芯片按其功能可分为控制类&#xff08;MCU和AI芯片&#xff09;、功率类、传感器和其他&#xff08;如存储器&#xff09;四种类型。市场基本被国际巨头所垄断。人们常说的汽车芯片是指汽车里的计算芯片&#xff0c;按集成规模可分为MCU芯片和AI芯片&#xff08;SoC芯片&am…

【第二讲---初识SLAM】

SLAM简介 视觉SLAM&#xff0c;主要指的是利用相机完成建图和定位问题。如果传感器是激光&#xff0c;那么就称为激光SLAM。 定位&#xff08;明白自身状态&#xff08;即位置&#xff09;&#xff09;建图&#xff08;了解外在环境&#xff09;。 视觉SLAM中使用的相机与常见…

Linux学习之基本指令一

在学习Linux下的基本指令之前首先大家要知道Linux下一切皆目录&#xff0c;我们的操作基本上也都是对目录的操作&#xff0c;这里我们可以联想我们是如何在windows上是如何操作的&#xff0c;只是形式上不同&#xff0c;类比学习更容易理解。 目录 01.ls指令 02. pwd命令 0…

海康威视iVMS综合安防系统任意文件上传(0Day)

漏洞描述 攻击者通过请求/svm/api/external/report接口任意上传文件,导致获取服务器webshell权限,同时可远程进行恶意代码执行。 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和…

百日筑基篇——Linux中文本工具应用(Linux入门六)

百日筑基篇——Linux中文本工具应用&#xff08;Linux入门六&#xff09; 文章目录 前言一、文本搜索工具 **grep**二、流式文本处理工具 **sed**三、文本处理工具 **awk**总结 前言 在Linux中&#xff0c;通常会使用一些工具来处理文本以获得所需的内容。而Linux中的文本处理…

安卓中常见的字节码指令介绍

问题背景 安卓开发过程中&#xff0c;经常要通过看一些java代码对应的字节码&#xff0c;来了解java代码编译后的运行机制&#xff0c;本文将通过一个简单的demo介绍一些基本的字节码指令。 问题分析 比如以下代码&#xff1a; public class test {public static void main…

分类预测 | MATLAB实现GAPSO-LSSVM多输入分类预测

分类预测 | MATLAB实现GAPSO-LSSVM多输入分类预测 目录 分类预测 | MATLAB实现GAPSO-LSSVM多输入分类预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.分类预测 | MATLAB实现GAPSO-LSSVM多输入分类预测 2.代码说明&#xff1a;要求于Matlab 2021版及以上版本。 程序…

SpringBoot携带Jre绿色部署项目

文章目录 SpringBoot携带Jre绿色部署运行项目1. 实现步骤2. 自测项目文件目录及bat文件内容&#xff0c;截图如下&#xff1a;2-1 项目文件夹列表&#xff1a;2-2. bat内容 3. 扩展&#xff1a; 1.6-1.8版本的jdk下载 SpringBoot携带Jre绿色部署运行项目 说明&#xff1a; 实…

【JavaEE进阶】SpringBoot 配置文件

文章目录 SpringBoot配置文件1. 配置文件的作用2. 配置文件的格式3. properties 配置文件说明3.1 properties 基本语法3.2 读取配置文件3.3 properties 优缺点分析 4. yml配置文件说明4.1 yml 基本语法4.2 yml 配置读取 5. properties和yml的对比 SpringBoot配置文件 1. 配置文…