日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux怎么查看fastq格式文件,2020-01-11 了解FASTQ格式并处理FASTQ文件

發(fā)布時間:2025/4/5 linux 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux怎么查看fastq格式文件,2020-01-11 了解FASTQ格式并处理FASTQ文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FASTQ文件格式是測序儀展示數據的標準格式,可以看成FASTA文件的變種(FASTA+Q),因為其包含了對序列中每個堿基的Qualify Measurement。(如:堿基A出錯的可能性是1/1000)

FASTQ格式詳述

FASTQ格式包括4個部分,每個部分1行,格式同FASTA相似,但缺陷也更多:

類似FASTA的頭部,以@而非>起始,后跟ID和描述文本

測定的序列,通常為1行,但有時也會換行,最后以+指示下一部分

由+表示(后面有時會跟著和第一部分相同的id和header)

編碼第2部分測定序列的質量值,長度必須同第2部分相同,換行方式也要同第2部分相同

第4部分看著有點奇怪,其實是通過轉碼將兩位數字的Phred Score轉換為1個字符的Quality Score

第一行為FASTQ quality codes

第二行為Quality Score (Q)/Phred Score (P)

Sanger(+33)格式

錯誤率公式:Error=10?(-P/10)

編碼為I,P=40,錯誤率為10^(-40/10)=0.01%

以前還用過一種老的+64格式的FASTQ編碼:

如果你的FASTQ文件中Quality Score為小寫,代表你的FASTQ是老版本

可以使用seqtk命令進行轉換

seqtk seq -Q64 input.fq > output.fa

FASTQ文件header中的額外信息

參考維基百科fastq format詞條

EAS139:儀器,

136:run編號,

FC706VJ:流通池編號,

2:泳道,

2104:tile編號,

(15343,197393):xy坐標,

1: the member of a pair, 1 or 2 (paired-end or mate-pair reads only)

Y: Y if the read is filtered, N otherwise

18: 0 when none of the control bits are on, otherwise it is an even number

ATCACG指索引序列

此信息針對特定儀器/供應商,可能會隨儀器的不同版本或版本而變化。但對于回答可能影響儀器的質量控制或系統(tǒng)性技術問題是很有用的。

通過命令行轉換FASTQ質量編碼

略,在書p185

進階FASTQ處理

介紹使用SeqKit操作FASTA/Q,SeqKit支持FASTA/Q文件和FASTA/Q的壓縮格式:

seqkit命令

seqkit的學習筆記可參考

#作者目前尚不推薦使用conda進行安裝

curl http://app.shenwei.me/data/csvtk/csvtk_linux_amd64.tar.gz > csvtk_linux_amd64.tar.gz

tar -zxvf csvtk_linux_amd64.tar.gz

sudo cp csvtk bin

1. 示例數據

使用一個FASTQ文件(Sample Reads,1M)和兩個FASTA文件(NCBI RefSeq數據庫中的病毒DNA和蛋白質序列,60M+40M)。

#wget -nc指若要覆蓋已有文件則不要下載

wget -nc http://data.biostarhandbook.com/reads/duplicated-reads.fq.gz

wget -nc ftp://ftp.ncbi.nih.gov/refseq/release/viral/viral.2.1.genomic.fna.gz

wget -nc ftp://ftp.ncbi.nih.gov/refseq/release/viral/viral.2.protein.faa.gz

# fna文件和faa文件

# *.fna = FASTA Nucleic Acid file

# *.faa = FASTA Amino Acid file

2. FASTQ文件概覽

seqkit stat *.gz

3. 得到GC含量

seqkit fx2tab將FASTA/Q轉換為3列表格形式(1:名稱/ID,2:序列,3:質量),還可以在新列中提供各種信息,包括序列長度、GC內容/GC skew、alphabet

seqkit fx2tab -n -i -g viral.2.1.genomic.fna.gz | head

-n, --name only print names (no sequences and qualities)

-i, --only-id print ID instead of full head

-g, --gc print GC content

可以嘗試分別去掉這些參數

4. 得到感興趣堿基的含量

假設想要獲得A、C、A+C的含量

seqkit fx2tab -H -n -i -B a -B c -B ac viral.2.1.genomic.fna.gz | head -5

-H, --header-line輸出header line

-B, --base-content strings 輸出堿基含量,忽略大小寫,支持N等alphabet

5. 抽出部分序列和name/list文件

seqkit sample 根據數量或比例對序列進行抽樣

-n, --number int 根據數量抽樣(匹配可能不精確)

-p, --proportion float 根據比例抽樣

seqkit seq seq命令對序列進行操作, (包括revserse, complement, extract ID等...)

-n, --name 只輸出名字

-i, --only-id 只輸出id而不輸出full head

seqkit sample --proportion 0.001 duplicated-reads.fq.gz | seqkit seq --name --only-id > id.txt

head id.txt #id.txt中的記錄要用于seqkit grep的檢索,格式為每行1個記錄

seqkit grep 根據ID/名稱/序列/序列motif檢索序列,允許錯配

-f, --pattern-file string pattern file (one record per line)

seqkit grep --pattern-file id.txt duplicated-reads.fq.gz > duplicated-reads.subset.fq.gz

#用id.txt中的pattern在duplicated-reads.fq.gz中進行匹配

6. 找到包含簡并堿基(degenerate base)的序列并定位

seqkit fx2tab --name --only-id --alphabet viral.1.1.genomic.fna.gz | csvtk --no-header-row --tabs grep --fields 4 --use-regexp --ignore-case --pattern "[^ACGT]"

代碼的長參數版本

seqkit fx2tab -n -i -a viral.2.1.genomic.fna.gz | csvtk -H -t grep -f 4 -r -i -p "[^ACGT]"

seqkit fx2tab將FASTA / Q轉換為表格格式,并可以在新列中輸出序列字母:

-a, --alphabet 輸出alphabet

然后可以使用文本搜索工具來過濾表。

csvtk下的參數

-H, --no-header-row 輸入的CSV文件沒有header行

-t, --tabsinput CSV file由tabs分隔。覆蓋-d和-D

csvtk grep下的參數

-f, --fields string comma separated key fields, column name or index. e.g. -f 1-3 or -f id,id2 or -F -f "group" (default "1") 這個參數沒看懂

-r, --use-regexp 給出的pattern為正則表達式

-i, --ignore-case 忽略大小寫

-p, --pattern strings query pattern (multiple values supported) 這個參數沒看懂

pattern為"[^ACGT]" 是一個正則表達式 這個正則表達式沒看懂

保存這些包含簡并堿基的序列的ID

seqkit fx2tab -n -i -a viral.2.1.genomic.fna.gz | csvtk -H -t grep -f 4 -r -i -p "[^ACGT]" | csvtk -H -t cut -f 1 > id2.txt

使用seqkit grep命令去除

seqkit grep --pattern-file id2.txt --invert-match viral.1.1.genomic.fna.gz > clean.fa

#或

seqkit grep -P id2.txt --invert-match viral.1.1.genomic.fna.gz > clean.fa

csvtk cut下的參數

-f, --fields string 僅保留fields中的列,例: -f 1,2即保留第1、2列

7. 去除包含重復序列的FASTA/Q記錄

8. 定位FASTA/Q序列中的模體/subsequence/酶消化位點

9. 根據序列長度排列FASTA/Q序列

10. 根據header信息spilt FASTA序列

11. 使用文本文件中的character strings在FASTA header中搜索和替換?

12. 從兩個paired end reads文件中提取paired reads?

13. 連接兩個FASTA序列

總結

以上是生活随笔為你收集整理的linux怎么查看fastq格式文件,2020-01-11 了解FASTQ格式并处理FASTQ文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。