生物筆記——暑期學習筆記(四)

生物筆記——暑期學習筆記(四)

文章目錄

  • 前言
  • 一、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.pswp.cn/news/40596.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40596.shtml
英文地址,請注明出處:http://en.pswp.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;具體取決于安裝方式和操作系統。以下是一…

Redis如何處理內存溢出的情況?

當Redis的內存使用達到上限時&#xff0c;會出現內存溢出的情況。Redis提供了幾種處理內存溢出的機制&#xff1a; 內存淘汰策略&#xff1a;Redis提供了多種內存淘汰策略&#xff0c;用于在內存不足時選擇要移除的鍵。常見的淘汰策略包括&#xff1a; LRU&#xff08;Least Re…

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語言中的常見排序算法

探索C語言中的常見排序算法 排序算法是計算機科學中至關重要的基礎知識之一&#xff0c;它們能夠幫助我們對數據進行有序排列&#xff0c;從而更高效地進行搜索、插入和刪除操作。在本篇博客中&#xff0c;我們將深入探討C語言中的一些常見排序算法&#xff0c;包括它們的工作…

在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…

【知識分享】高防服務器的防御機制

【知識分享】高防服務器的防御機制 易受到攻擊的網站選擇接入高防服務更安全&#xff0c;大家對于這個都清楚!但是對于高防服務如何實現防御來保障安全的&#xff0c;又了解多少呢?今天壹基比小源&#xff08;貳伍壹叁壹叁壹貳玖捌&#xff09;就來說說高防服務實現防御的常規…

地址解析協議-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…