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

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

文章目录

  • 前言
  • 一、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.mzph.cn/news/40596.shtml

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

相关文章

【制作npm包5】npm包制作完整教程,我的第一个npm包

制作npm包目录 本文是系列文章&#xff0c; 作者一个橙子pro&#xff0c;本系列文章大纲如下。转载或者商业修改必须注明文章出处 一、申请npm账号、个人包和组织包区别 二、了解 package.json 相关配置 三、 了解 tsconfig.json 相关配置 四、 api-extractor 学习 五、npm包…

MySQL的配置文件my.cnf与my.ini

一、my.cnf与my.ini win系统&#xff0c;MySQL配置文件为my.ini 其他系统&#xff08;Ubuntu、CentOS、macOS)MySQL配置文件为my.cnf 二、my.cnf与my.ini的路径 2.1 默认路径 MySQL 的配置文件 my.cnf 可能位于多个位置&#xff0c;具体取决于安装方式和操作系统。以下是一…

2023年国赛数学建模思路 - 案例:最短时间生产计划安排

文章目录 0 赛题思路1 模型描述2 实例2.1 问题描述2.2 数学模型2.2.1 模型流程2.2.2 符号约定2.2.3 求解模型 2.3 相关代码2.4 模型求解结果 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 最短时…

Kotlin开发笔记:使用委托进行拓展

Kotlin开发笔记&#xff1a;使用委托进行拓展 导言 在OO语言(面向对象)中&#xff0c;我们经常会用到委托或者代理的思想。委托和代理在乍一看很相似&#xff0c;其实其各有各的侧重点&#xff0c;这里我引用ChatGpt的回答&#xff1a; 委托&#xff08;Delegation&#xff09…

在C中使用Socket实现多线程异步TCP消息发送

目录 基础知识开始实现主要函数说明结束语 在本篇文章中&#xff0c;我们会探讨如何在C语言中使用socket来实现多线程&#xff0c;异步发送TCP消息的系统。虽然C标准库并没有原生支持异步和多线程编程&#xff0c;但是我们可以结合使用POSIX线程&#xff08;pthread&#xff09…

Java解决四大查找(一)

Java解决四大查找 一.线性查找1.1 题目1.2 思路分析1.3 代码演示 二.二分查找(双指针法)2.1 题目2.2 思路分析(图解加文字)2.3 代码演示 一.线性查找 1.1 题目 在数组{1&#xff0c;8&#xff0c;1024&#xff0c;521&#xff0c;1889}中查找数字8&#xff0c;如果有&#xff…

地址解析协议-ARP

ARP协议 无论网络层使用何种协议&#xff0c;在实际网络的链路上传输数据帧时&#xff0c;最终必须使用硬件地址 地址解析协议&#xff08;Address Resolution Protocol&#xff0c;ARP&#xff09;&#xff1a;完成IP地址到MAC地址的映射&#xff0c;每个主机都有一个ARP高速缓…

【数据结构】二叉树篇| 纲领思路02+刷题

博主简介&#xff1a;努力学习的22级计算机科学与技术本科生一枚&#x1f338;博主主页&#xff1a; 是瑶瑶子啦每日一言&#x1f33c;: 所谓自由&#xff0c;不是随心所欲&#xff0c;而是自我主宰。——康德 目录 一、前言二、刷题1、翻转二叉树 2、二叉树的层序遍历✨3、 二…

线性代数再回顾

最近&#xff0c;在深度学习线性代数&#xff0c;之前大一的时候学过线性代数&#xff0c;但那纯属于是应试用的&#xff0c;考试一考完&#xff0c;啥都忘了&#xff0c;也说出不出个所以然&#xff0c;所以&#xff0c;在B站的MIT的线性代数以及3blue1brown线性代数的本质中去…

git命令使用

君子拙于不知己,而信于知己。——司马迁 清屏&#xff1a;clear 查看当前面板的路径&#xff1a;pwd 查看当前面板的文件&#xff1a;ls 创建文件夹&#xff1a;mkdir 文件夹名 创建文件&#xff1a;touch 文件名 删除文件夹&#xff1a;rm -rf 文件夹名 删除文件&#xff1a;r…

Remote Sensing,2023 | 基于SBL的分布式毫米波相干雷达成像的高效实现

Remote Sensing,2023 | 基于SBL的分布式毫米波相干雷达成像的高效实现 注1&#xff1a;本文系“无线感知论文速递”系列之一&#xff0c;致力于简洁清晰完整地介绍、解读无线感知领域最新的顶会/顶刊论文(包括但不限于 Nature/Science及其子刊; MobiCom, Sigcom, MobiSys, NSDI…

爬虫IP时效问题:优化爬虫IP使用效果实用技巧

目录 1. 使用稳定的代理IP服务提供商&#xff1a; 2. 定期检测代理IP的可用性&#xff1a; 3. 配置合理的代理IP切换策略&#xff1a; 4. 使用代理IP池&#xff1a; 5. 考虑代理IP的地理位置和速度&#xff1a; 6. 设置合理的请求间隔和并发量&#xff1a; 总结 在爬虫过…

python知识:什么是字符编码?

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 我们的MySQL使用latin1的默认字符集&#xff0c; 也就是说&#xff0c;对汉字字段直接使用GBK内码的编码进行存储&#xff0c; 当需要对一些有汉字的字段进行拼音排序时&#xff08;特别涉及到类似于名字这样的字段时…

Docker网络与资源控制

一、Docker 网络实现原理 Docker使用Linux桥接&#xff0c;在宿主机虚拟一个Docker容器网桥(docker0)&#xff0c;Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址&#xff0c;称为Container-IP&#xff0c;同时Docker网桥是每个容器的默认网关。因为在同一宿…

Oracle外部表ORACLE_LOADER方式加载数据

当数据源为文本或其它csv文件时&#xff0c;oracle可通过使用外部表加载数据方式&#xff0c;不需要导入可直接查询文件内的数据。 1、如下有一个文件名为&#xff1a;test1.txt 的数据文件。数据文件内容为&#xff1a; 2、使用sys授权hr用户可读写 DATA_PUMP_DIR 目录权限&a…

探索未来:元宇宙与Web3的无限可能

随着科技的奇迹般发展&#xff0c;互联网已经成为了我们生活的不可分割的一部分。然而&#xff0c;尽管它的便利性和普及性带来了巨大的影响&#xff0c;但我们仍然面临着传统互联网体验的诸多限制。 购物需要不断在实体店与电商平台间切换&#xff0c;教育依然受制于时间与地…

Unity如何把游戏导出成手机安装包

文章目录 前言使用环境步骤添加场景构建APK 前言 本文章主要演示了&#xff0c;如何将制作好的游戏&#xff0c;导出成APK&#xff0c;安装到手机上。 使用环境 Unity2022。 步骤 首先打开你的项目&#xff0c;然后选择菜单栏的“File” > “Build Settings…”&#xf…

QMainwindow窗口

QMainwindow窗口 菜单栏在二级菜单中输入中文的方法给菜单栏添加相应的动作使用QMenu类的API方法添加菜单项分隔符也是QAction类 工具栏添加工具栏在状态栏中添加控件工具栏添加其他类型的工具工具栏的属性添加多个工具栏使用窗口添加使用代码添加 状态栏常用API在状态栏显示信…

NeuralNLP-NeuralClassifier的使用记录(一),训练预测自己的【英文文本多分类】

NeuralNLP-NeuralClassifier的使用记录&#xff0c;训练预测自己的英文文本多分类 NeuralNLP-NeuralClassifier是腾讯开发的一个多层多分类应用工具&#xff0c;支持的任务包括&#xff0c;文本分类中的二分类、多分类、多标签&#xff0c;以及层次多标签分类。支持的文本编码…

C语言库函数之 qsort 讲解、使用及模拟实现

引入 我们在学习排序的时候&#xff0c;第一个接触到的应该都是冒泡排序&#xff0c;我们先来复习一下冒泡排序的代码&#xff0c;来作为一个铺垫和引入。 代码如下&#xff1a; #include<stdio.h>void bubble_sort(int *arr, int sz) {int i 0;for (i 0; i < sz…