seqkit 序列操作

在很久之前我們操作序列基本是用perl,無意中發(fā)現(xiàn)了seqkit ,作為一個字典資料記錄一下吧。以便以后用的時候直接復制。

我認為沒有直接操作過序列的生信工程師生涯,是不完整的。

https://bioinf.shenwei.me/seqkit/

序列操作:

1.取反向序列

seqkit seq test.fa -r > test_re.fa

2.取互補序列

seq test.fa -p > test_com.fa

3.取反向互補序列

seqkit seq test.fa -r -p > test_re_com.fa

4.DNA序列轉換為RNA序列

seqkit seq test.fa --nda2rna > test_rna.fa

5.RNA序列轉換為DNA序列

seqkit seq test.fa rna2dna > test_dna.fa

6.將序列以小寫字母的形式輸出

seqkit seq test.fa -l > test_lower.fa

7.將序列以大寫字母的形式輸出

seqkit seq test.fa -u > test_upper.fa

8.指定每行序列的輸出長度(為0的話,代表為一整行,默認的輸出 長度是60個堿基)

seqkit seq test.fa -w 10 > test_10.fa (指定序列的長度為10)

9.將多行序列轉換為一行序列

seqkit seq test.fa -w 0 > test_w.fa

10.只輸出序列

seqkit seq test.fa -s -w 0 > test_seq.fa

11.將只輸出的序列的,指定每行輸出的堿基數(shù)

seqkit seq test_seq.fa -s -w 40 > test_seq40.fa

注意10,11的微妙之處
11,12也可以一步完成:

seqkit seq test.fa -s -w 20 -o test_20.fa
Fasta/q之間以及與tab格式互換

10.將fataq文件轉化為fasta格式.

seqkit seq fq2fa test.fq -o test.fa

11.將fasta格式轉化為tab格式

seqkit fx2tab test.fa > test_tab.fa (沒有seq參數(shù))
序列信息統(tǒng)計

1.序列堿基含量

seqkit fx2tab -l -g -n -i -H test..fa (這些參數(shù)組合起來比較好看)

2.序列長度的整體分布統(tǒng)計

seqkit stat test.fa
seqkit grep [flags]

參數(shù):

-n, --by-name

匹配整個序列的名字,包含deion部分,而不是序列id。

-s, --by-seq

匹配序列

-d, --degenerate

pattern/motif 包含簡并堿基

-i, --ignore-case

忽略大小寫

-v, --invert-match

輸出不匹配此模式的內容

-p,

匹配模式,支持連續(xù)寫多個模式,匹配任一模式即輸出。如-p ^ATG -p TAA$。注意該功能僅能正向匹配,不能實現(xiàn)對互補鏈匹配。

-f, --pattern-file string

支持匹配模式寫到一個文件中,如要提取的序列ID。

-R, --region string

匹配位置選擇。e.g 1:12 for first 12 bases, -12:-1 for last 12 bases

-r, --use-regexp

使用正則表達式,必須加入此參數(shù),如^匹配首端。同-p聯(lián)合使用。

舉例:

seqkit grep -s -r -i -p ^atg cds.fa#選取有起始密碼子的序列

seqkit grep -f list test.fa > new.fa#根據(jù)ID提取序列

seqkit grep -s -d -i -p TTSAA#簡并堿基使用。S 代表C or G.

seqkit grep -s -R 1:30 -i -r -p GCTGG##匹配限定到某區(qū)域
motif定位

對grep的拓展,可以正反鏈同時匹配,輸出匹配的位置。

seqkit locate [flags]

參數(shù):

-d, --degenerate

pattern/motif contains degenerate base

-i, --ignore-case

ignore case

-P, --only-positive-strand

only search at positive strand

-p, --pattern value

search pattern/motif

-f, --pattern-file string

pattern/motif file (FASTA format)

舉例:

seqkit locate -i -d -p AUGGACUN test.fa

輸出結果:

seqID

patternName

pattern

strand

start

end

matched

cel-mir-58a

AUGGACUN

AUGGACUN

81

88

AUGGACUG

ath-MIR163

AUGGACUN

AUGGACUN

122

129

AUGGACUC
多個序列文件比較尋找相同的序列或者ID相同的序列
seqkit common [flags]

參數(shù):

-n, --by-name

匹配整個序列的名字,包含deion部分,而不是序列id

-s, --by-seq

match by sequence

-i, --ignore-case

ignore case

-m, --md5

use MD5 reduce memory usage
舉例:

1、By ID (default,>后面,空格之前的名字)輸出ID名字相同的。

seqkit common test1.fa test2.fa -o common.fasta

2、By full name(整個序列的名字,包含deion部分)。輸出序列名字相同的。

seqkit common test1.fa test2.fa -n -o common.fasta

3、輸出要比較的文件中序列相同的序列

seqkit common test1.fa test2.fa -s -i -o common.fasta

4、輸出要比較的文件中序列相同的序列 (for large sequences)

seqkit common test1.fa test2.fa -s -i -o common.fasta --md5
提取部分序列

如隨機抽取10000條FASTQ序列做NT污染評估。同時他也可以對FASTA序列提取

seqkit sample [flags]

參數(shù):

-n, --number int

sample by number (result may not exactly match)

-p, --proportion float

sample by proportion(按比例提)

-s, --rand-seed int

rand seed for shuffle (default 11)

-2, --two-pass

2-pass modelower memory
舉例:隨機抽取序列

seqkit sample -n 10000 -s 11 test1_1.fq -o sample.fq

seqkit sample -p 0.1 -s 11 test1_1.fq -o sample.fq
排序輸出命令
seqkit sort [flags]

參數(shù):

-l, --by-length

按照序列長度排序

-n, --by-name

by full name

-s, --by-seq

按照序列排序

-i, --ignore-case

按序列排序時忽略大小寫

-r, --reverse

反向排序

-2, --two-pass

對于FASTA序列排序可以減少內存

舉例:

seqkit sort -ltest.fa
文件切割
seqkit split [flags]

參數(shù):

-i, --by-id

split squences according to sequence ID

-p, --by-part int

將一個文件分割成N 份

-s, --by-size int

將一個文件按照N 條序列一個文件進行分割

-O, --out-dir string

output directory (default value is infile.split)

-2, --two-pass

two-pass mode to lower memory usage(only FAST)

舉例:

seqkit split hairpin.fa.gz -p 4

cnblogs

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容