擴增子分析解讀5物種註釋 OTU表操作

来源:http://www.cnblogs.com/freescience/archive/2017/08/23/7420327.html
-Advertisement-
Play Games

本節課程,需要先完成《擴增子分析解讀》系列之前的操作 1質控 實驗設計 雙端序列合併 2提取barcode 質控及樣品拆分 切除擴增引物 3格式轉換 去冗餘 聚類 4去嵌合體 非細菌序列 生成代表性序列和OTU表 分析前準備 # 進入工作目錄 cd example_PE250 上一節回顧:我們學習了 ...


本節課程,需要先完成《擴增子分析解讀》系列之前的操作 1質控 實驗設計 雙端序列合併 2提取barcode 質控及樣品拆分 切除擴增引物 3格式轉換 去冗餘 聚類 4去嵌合體 非細菌序列 生成代表性序列和OTU表 分析前準備
# 進入工作目錄
cd example_PE250
上一節回顧:我們學習了嵌合體的形成,以及基於參考資料庫去嵌合體;也學習了基於資料庫比對來篩選細菌或真菌;最後基於最確定的OTU,我們生成代表性序列和OTU表,這是每種高通量測序都有的結果,後續的結果將全部基於這兩個文件。   接下來我們學習對OTU進行物種註釋;OTU的操作,包括格式轉換、篩選添加物種信息、數據量篩選樣品、篩選高豐度的OTU、物種篩選等。   OTU表常用的BIOM格式 主頁:http://biom-format.org/ 。BIOM是英文The Biological Observation Matrix的縮寫,中文翻譯為生物觀測矩陣,是一種通過格式,用於生物學樣品對應觀測值的表格。它主要採用json/HD5F文件格式標準,即多維散列結構,保存表格結構數據結果。目前主流的巨集基因組軟體均支持此格式文件,如QIIME、MG-RAST、PICRUSt、Mothur、phyloseq、MEGAN、VAMPS、metagenomeSeq、Phinch、RDP Classifier、USEARCH、PhyloToAST、EBI Metagenomics、GCModeller、MetaPhlAn 2。知道它有多重要了吧。   Biom文件處理系統biom程式是QIIME的必裝包,如果沒有安裝好,可嘗試下麵步驟重裝
# 安裝依賴包
pip install numpy
# 安裝biom格式轉換包
pip install biom-format
# 安裝2.0格式支持
pip install h5py
# 測序程式是否安裝成功
biom
13. 物種註釋 對於擴增子分析,最重要的就是物種信息。我們基於上節分析得到的代表性序列,採用上次已經下載的greengene的參考序列和物種註釋信息,比對軟體選擇rdp方法,進行註釋。
# 物種註釋
assign_taxonomy.py -i result/rep_seqs.fa \
 -r gg_13_8_otus/rep_set/97_otus.fasta \
 -t gg_13_8_otus/taxonomy/97_otu_taxonomy.txt \
 -m rdp -o result
註:如果是ITS/18S數據,建議資料庫更改為UNITE,方法改為blast。詳細使用說明,請讀官方文檔http://qiime.org/scripts/assign_taxonomy.html   14. OTU表統計、格式轉換、添加信息 將OTU表轉換為Biom格式,這樣便於其它軟體對其操作。可添加上面獲得的物種信息,這樣表格的信息就更豐富了,再轉換為文本,便於人類可讀,同時使用summarize-table查看OTU表的基本信息。
# 文本OTU表轉換為BIOM:方便操作
biom convert -i temp/otu_table.txt \
 -o result/otu_table.biom \
 --table-type="OTU table" --to-json
# 添加物種信息至OTU表最後一列,命名為taxonomy
biom add-metadata -i result/otu_table.biom \
 --observation-metadata-fp result/rep_seqs_tax_assignments.txt \
 -o result/otu_table_tax.biom \
 --sc-separated taxonomy --observation-header OTUID,taxonomy 
# 轉換biom為txt格式,帶有物種註釋:人類可讀
biom convert -i result/otu_table_tax.biom -o result/otu_table_tax.txt --to-tsv --header-key taxonomy
# 查看OTU表的基本信息:樣品,OUT數量統計
biom summarize-table -i result/otu_table_tax.biom -o result/otu_table_tax.sum
現在我們獲得了OTU表的基本統計信息,用less result/otu_table_tax.sum查看一下吧,內容如下:
Num samples: 27 # 樣品數據 Num observations: 975 # OTU數據 Total count: 409647 # 總數據量 Table density (fraction of non-zero values): 0.464 # 非零的單元格   Counts/sample summary:  Min: 2352.0 # 樣品數據量最小值  Max: 35955.0 # 樣品數據量最大值  Median: 14851.000 # 樣品數據量中位數  Mean: 15172.111 # 樣品數據量平均數  Std. dev.: 10691.823 # 樣品數據量標準變異  Sample Metadata Categories: None provided # 樣品分類信息:末提供  Observation Metadata Categories: taxonomy # 觀察值分類:物種信息   Counts/sample detail: # 每個樣品的數據量 OE4: 2352.0 OE3: 2353.0 OE8: 3091.0 OE2: 3173.0 OE1: 3337.0 OE5: 3733.0 OE6: 4289.0 OE9: 4648.0 OE7: 5185.0 WT3: 10741.0 WT8: 12117.0 WT6: 14316.0 WT2: 14798.0 WT7: 14851.0 KO1: 14926.0 WT9: 15201.0 WT1: 15422.0 WT5: 15773.0 WT4: 16708.0 KO2: 17607.0 KO6: 23949.0 KO5: 26570.0 KO8: 27250.0 KO4: 32303.0 KO7: 33086.0 KO9: 35913.0 KO3: 35955.0
biom的詳細使用說明,可以biom查看具體的功能,如添加註釋功能biom add-metadata --help可查看詳細說明。也可閱讀官網http://biom-format.org/   15. OTU表篩選 實驗中會有各種影響因素,我們要綜合各種背景知識來判斷如何篩選數據表,起到去偽存真,去粗取粗,由此及彼,有表及理的來回答科學問題。數據篩選是會運行分析流程和數據分析師的分水嶺。   看上面的的統計結果,樣本數據量從2k-35k,我們應去除過小的數據量樣本,提供更可能高的樣品最低豐度的數據用於下游標準化分析。這裡我們選擇只保留數據量大於3000的樣品。
# 按樣品數據量過濾:選擇counts>3000的樣品
filter_samples_from_otu_table.py -i result/otu_table_tax.biom -o result/otu_table2.biom -n 3000
# 查看過濾後結果:只有25個樣品,975個OTU
biom summarize-table -i result/otu_table2.biom
同時還要過濾低豐度的OTU,一般低於萬分之一豐度的菌,在功能研究可能還是比較困難的(早期文章454測序數據量少,通常只關註豐度千分之五以上的OTU)。
# 按OTU豐度過濾:選擇相對豐度均值大於萬分之一的OTU
filter_otus_from_otu_table.py --min_count_fraction 0.0001 -i result/otu_table2.biom -o result/otu_table3.biom
# 查看過濾後結果:只有25個樣品,346個OTU
biom summarize-table -i result/otu_table3.biom
有些研究手段在特定有實驗中存在偏差,如2012Nature報導V5-V7在植物中擴增會偏好擴增Chloroflexi菌門,建議去除。
# 按物種篩選OTU表:去除p__Chloroflexi菌門
filter_taxa_from_otu_table.py -i result/otu_table3.biom -o result/otu_table4.biom -n p__Chloroflexi
# 查看過濾後結果:只有25個樣品,307個OTU
biom summarize-table -i result/otu_table4.biom
以上過濾條件是根據經驗、相關文獻設計的,如果不清楚,也不要隨便過濾,容易引起假陰性。   得到的最終結果,還要轉換為文本格式,和提取OTU表對應的序列,用於下游分析。
# 轉換最終biom格式OTU表為文本OTU表格
biom convert -i result/otu_table4.biom -o result/otu_table4.txt --table-type="OTU table" --to-tsv
# OTU表格式調整方便R讀取
sed -i '/# Const/d;s/#OTU //g;s/ID.//g' result/otu_table4.txt
# 篩選最終OTU表中對應的OTU序列
filter_fasta.py -f result/rep_seqs.fa -b result/otu_table4.biom -o result/rep_seqs4.fa

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Android精選源碼 Android優質博客 而對於Android開發者來說,這次大會上Kotlin被Google欽點成為成為Android官方開發語言無不是一個重磅炸彈,當看到這個消息的時候我也是激動的不行!!我相信用過kotlin寫過一段時間Android的人一定會和我有相同的感受!!!但是除 ...
  • 在Android程式內部, startActivity藉助Intent來啟動一個子Activity ...
  • 1. 同時滿足多個關鍵字 grep "word1" file_name | grep "word2" | grep "word3" 2. 滿足任意關鍵字 grep -e "word1" -e "word2" -e "word3" file_name 3. 排除關鍵字 grep -v "word" f ...
  • 一、環境及安裝版本: centos6.5、Nginx1.4.7、keepalived1.3.2 虛擬IP 真是IP Nginx埠 主從分配 10.0.90.215 10.0.90.217 80 MASTER 10.0.90.215 10.0.90.218 80 BACKUP 二、Nginx安裝 分 ...
  • 運維之Linux基礎(二) 1. file 命令基期用法 2. 文件系統 Linux的文件系統結構是樹狀結構,所有的文件都在/root跟目錄下 /boot:系統啟動相關的文件, 如:內核、initrd,以及grub(bootloadser) /dev:設備文件 塊設備:隨機訪問,按數據塊進行訪問的 ...
  • 分析前準備 # 進入工作目錄 cd example_PE250 上一節回顧:我們獲得了OTU序列的進化分析、同時計算Alpha和Beta多樣性值。 本節是最後一節,我們對物種進行分類統計,篩選高豐度結果用於進化樹展示,和其它用於R統計分析的結果生成 19. 按物種分類級別分類彙總 OTU表中最重要的 ...
  • 因為CentOS升級到7之後,發現無法使用iptables控制Linuxs的埠,因為CentOS 7使用firewalld代替了原來的iptables。下麵記錄如何使用firewalld開放Linux埠: 1、查詢某埠是否開放 2、永久開啟某埠 firewall-cmd --zone=pub ...
  • 分析前準備 # 進入工作目錄 cd example_PE250 上一節回顧:我們的OTU獲得了物種註釋,並學習OTU表的各種操作————添加信息,格式轉換,篩選信息。 接下來我們學習對OTU序列的進化分析、同時計算Alpha和Beta多樣性值。 16. 進化樹構建 進化樹是基於多序列比對的結果,可展 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...