序列比對前的準備工作

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

在使用FastQC之後,如果我們發現了一些問題(序列質量不高),那麼我們該使用什麼樣的工具,去解決這些問題呢? fastx Toolkit是包含處理fastq/fasta文件的一系列的工具,它是基於java開發的,我們高通量測序最常用到的是使用這個軟體進行reads的裁剪(trim) FASTQ-t ...


在使用FastQC之後,如果我們發現了一些問題(序列質量不高),那麼我們該使用什麼樣的工具,去解決這些問題呢?   fastx Toolkit是包含處理fastq/fasta文件的一系列的工具,它是基於java開發的,我們高通量測序最常用到的是使用這個軟體進行reads的裁剪(trim)   FASTQ-to-FASTA 說明:這個命令主要是用來轉換FASTA格式與FASTQ格式
fastq_to_fasta [-h] [-r] [-n] [-v] [-z] [-i] [-o]
[-h] = 獲得幫助信息 [-r] = 使用序號去代替fastq文件中原來的reads名 [-n] = 如果fastq中有N,保留(預設是有N的序列刪除) [-v] = 報告reads的總數 [-z] = 調用GZip軟體,輸出的文件自動經過壓縮 [-i] = 輸入文件,可以是fastq/fasta格式 [-o] =輸出路徑,如果不設置會直接輸出到屏幕   FASTX Statistics 說明:主要統計一下序列的基本信息,如GC含量什麼的,很少用,基本使用FastQC代替
fastx_quality_stats [-h] [-i INFILE] [-o OUTFILE]
[-h] = 獲得幫助信息 [-i] = FASTA/Q格式的輸入文件 [-o] = 輸出路徑,如果不設置會直接輸出到屏幕   FASTA/Q Clipper 說明:主要是進行reads的過濾和adapter的裁剪
fastx_clipper [-h] [-a ADAPTER] [-i INFILE] [-o OUTFILE]
[-h] = 獲得幫助信息 [-a ADAPTER] = Adapter序列信息,預設的是CCTTAAGG [-l N] = 如果1條reads小於N就拋棄,預設5 [-d N] = 保留adapter並保留後面的Nbp,如果設置-d 0等於沒有用這個參數 [-c] = 只保留包含adapter的序列 [-C] = 只保留不包含adapter的序列 [-k] = 報告adater的序列信息 [-n] = 如果reads中有N,保留reads(預設是有N的序列刪除) [-v] = 報告序列總數 [-z] = 調用GZip軟體,輸出的文件自動經過壓縮 [-D]= Debug output   FASTA/Q Trimmer 說明:這個是我最常用的工具,可以快速切序列
fastx_trimmer [-h] [-f N] [-l N] [-z] [-v] [-i INFILE] [-o OUTFILE]
[-h] = 獲得幫助信息 [-f N] = 序列中從第幾個鹼基開始保留,預設是1 [-l N] = 序列最後保留到多少個鹼基,預設是整條序列全部保留 [-z] = 調用GZip軟體,輸出的文件自動經過壓縮   cutadapt軟體 這個cutadapt軟體是最常用的去adapter的工具。它是基於Python編寫的一個Python包   一些最基本的用法 # cutadapt的功能特別強大,相對應的參數真的特別多,有幾十個參數,我們平時只會用到很少的幾個,我在這裡為大家介紹一下。   # 最基本的形式,可以去掉3‘端的adapter序列
cutadapt -a AACCGGTT -o output.fastq input.fastq
# 可以直接輸入或者輸出壓縮文件,不需要修改參數,輸出文件的後面加上.gz
cutadapt -a AACCGGTT -o output.fastq.gz input.fastq.gz
# 假如去掉3‘端的adapter AAAAAAA 和5’端的adapter TTTTTTT
cutadapt -a AAAAAAA -g TTTTTTT -o output.fastq input.fastq
# cutadapt也可以用來進行reads的cut,去掉最前面的5bp
cutadapt -u 5 -o trimmed.fastq input_reads.fastq
# 進行reads測序質量的過濾 # cutadapt軟體可以使用-q參數進行reads質量的過濾。基本原理就是,一般reads頭和尾會因為測序儀狀態或者是反應時間的問題造成測序質量差,比較粗略的一個過濾辦法就是-q進行過濾。需要特別說明的是,這裡的-q對應的數字和phred值是不一樣的,它是軟體根據一定的演算法計算出來的 # 3‘端進行一個簡單的過濾,--quality-base=33是指序列使用的是phred33計分系統
cutadapt -q 10 --quality-base=33 -o output.fastq input.fastq 
# 3‘端 5’端都進行過濾,3'的閾值是10,5‘的閾值是15
cutadapt -q 10,15 --quality-base=33 -o output.fastq input.fastq 
  Reads 長度的過濾 [--minimum-length N or -m N] # 當序列長度小於N的時候,reads扔掉   [--too-short-output FILE] # 上面參數獲得的這些序列不是直接扔掉,而是輸出到一個文件中   [--maximum-length N or -M N] # 當序列長度大於N的時候,reads扔掉   [--too-long-output FILE] # 上面參數獲得的這些序列不是直接扔掉,而是輸出到一個文件中     Paired-Reads的裁剪(trim) # 現在很多的測序都是雙端測序,那麼從測序原理上來說,一對reads來自於1簇反應,所以一起進行adapter的trim可能效果更好。cutadapt自然也提供了這樣的功能
cutadapt -a ADAPTER_FWD -A ADAPTER_REV -o out.1.fastq -p out.2.fastq reads.1.fastq reads.2.fastq
# -a是第1個文件的adapter序列 # -A是第2個文件的adapter序列 # -o是第1個輸出文件 # -p是第2個輸出文件   1個例子 其實在實際中,我們從公司拿到的數據大多數已經進行過cutadapt,我們其實更關註的是reads的trim   我們首先要用fastqc對test1.fastq與test2.fastq進行一下質量評估,評估的主要結果如下: read1的測序質量圖 read2的測序質量圖 我們從上面兩張圖可以明顯看出,read1的測序質量明顯好於read2,一般我們確定要trim多少bp的時候都是按phred20這個標準進行評估。比如,對於我們測試數據,read1就不需要trim,read2需要保留1-85bp。對應的fastx_trimmer的命令如下:
fastx_trimmer -i test_data_2.fastq -o test_data_2_trim.fastq -f 1 -l 85
[-f N] = 序列中從第幾個鹼基開始保留,預設是1 [-l N] = 序列最後保留到多少個鹼基,預設是整條序列全部保留
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1> 啟動資料庫 1.1> 依次添加如下目錄: 1.1.1> mongodb-space 1.1.2> mongodb-space/conf 1.1.3> mongodb-space/data 1.1.4> mongodb-space/log 1.2> 在 mongodb-space/conf 目錄 ...
  • 目錄 · 概述 · 手工搭建集群 · 引言 · 安裝Python · 配置文件 · 啟動與測試 · 應用部署 · 參數配置 · Storm命令 · 原理 · Storm架構 · Storm組件 · Stream Grouping · 守護進程容錯性(Daemon Fault Tolerance) · ...
  • LNMP編譯安裝之msyql安裝--圖文詳解 1、前言 本次安裝採用源碼安裝,主要資源包從官網下載,次要依賴則使用yum進行安裝,本篇只涉及mysql的安裝,msyql遠程登錄,不涉及mysql具體配置。該教程純屬安裝,不涉及任何重要知識點,老少皆宜。 2、安裝步驟 2.1、下載boost(只下載不 ...
  • 一.SSH免密登陸配置 1、相關概念 SSH 為 Secure Shell(安全外殼協議) 的縮寫。 很多ftp、pop和telnet在本質上都是不安全的,因為它們在網路上用明文傳送口令和數據,別有用心的人非常容易就可以截獲這些口令和數據。而SSH就是專為遠程登錄會話和其他網路服務提供安全性的協議。 ...
  • 實驗內容: (1)主機IP (2)要求 一 伺服器端配置 1安裝nfs utils 軟體包 2編輯配置文件 共用目錄為/data/web 3創建共用目錄 4開啟服務 二 客戶端配置 1 掛載 (1)新建掛載的目錄 (2)掛載伺服器共用的目錄(/data/web/)至本地/var/www/html 2 ...
  • 中斷與中斷處理 何為中斷? + 一種由設備發向處理器的電信號 + 中斷不與處理器時鐘同步,隨時可以發生,內核隨時可能因為中斷到來而被打斷。 + 每一個中斷都有唯一一個數字標誌,稱之為中斷線(IRQ) + 異常是由軟體產生,與處理器時鐘同步。 中斷處理程式 + 由內核調用來響應中斷 + 運行於中斷上下 ...
  • Linux文件系統結構 通過下麵兩張圖片來認識一下Linux文件系統的結構。 當前工作目錄 實踐: 文件名稱 這些規則不僅適用於文件,也適用於文件夾。 實踐: ls命令 ls命令表示列出當前工作目錄的內容,包括文件和文件夾。相當於windows中的文件瀏覽器。 最常用是'ls -a'和'ls -l' ...
  • Sublime Text是一個代碼編輯器,我主要是用它來編輯python。下麵就來簡單說明下它在linux的安裝過程吧! 1.添加sublime text3的倉庫 首先按下快捷鍵ctrl+alt+t打開終端; 在終端輸入:sudo add-apt-repository ppa:webupd8team ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...