seqtk:生信常用序列处理工具
2022-03-07 本文已影响0人
大号在这里
前言
seqtk在生信届被誉为序列处理的瑞士军刀,其出自生信大神李恒之手,李恒是SAMtools、BWA、MAQ等著名生信软件的核心作者。seqtk基于C语言编写的软件,运行速度极快,极大的提高工作效率。seqtk日常序列的处理包括:fq转换为fa,格式化序列,截取序列,随机抽取序列等。
一、安装方法(conda安装和github安装)
conda install -c bioconda seqtk #conda安装
git clone https://github.com/lh3/seqtk.git;cd seqtk; make #github官网安装
·
二、常用案例
1.seq 序列常规转换
将fastq转换成fasta:
seqtk seq -a Sample_R1.fq.gz > Sample_R1.fa
得到反向互补序列:
seqtk seq -r Sample_R1.fq.gz > Sample_Revc_R1.fq
2.sample 随机抽样
seqtk sample -s100 Sample_R1.fq.gz 10000 #可直接对压缩文件进行序列随机提取,在提取R1和R2两个文件的时候,需要-s值一致,才能使提取的序列id号对应。
3.subseq 提取序列
根据输入的bed文件信息,将固定区域的序列提取出来:
seqtk subseq in.fa reg.bed > out.fa
根据输入的name list,提取相应名称序列:
/mnt/nas2/biosoft/seqtk-master/seqtk subseq input.fastq.gz test.list >out.fastq
out.fastq
4.截取序列
切除reads的前5bp,以及后10bp:
seqtk trimfq -b 5 -e 10 in.fq > out.fq
使用Phred算法从两端修剪低质量的碱基:
seqtk trimfq in.fq > out.fq
5.得到fastq/fasta 文件的碱基组成
seqtk comp input.fastq > out.txt
#input.fastq文件
>NB001
GGGGTTTTGTGCAT
#out.txt 输出内容
NB001 14 6 6 1 1 0 0 0 0 0 0 0
6.合并两个序列
通常我们Illunima双端测序会得到两个文件R1.fq.gz和R2.fq.gz,这个命令就是帮助怎么完美实现两两配对
$seqtk mergefa
Usage: seqtk mergefa [options] <in1.fa> <in2.fa># 合并两个的FASTA/Q files
Options: -q INT quality threshold [0]
-i take intersection#取交集
-m convert to lowercase when one of the input base is N
-r pick a random allele from het
-h suppress hets in the input
cutN 去掉序列中的N/或者查看N所在的位置信息(-n 指定N的最小长度) -g 只打印出位置信息
Usage: seqtk cutN [options] <in.fa>
Options: -n INT min size of N tract [1000]
-p INT penalty for a non-N [10]
-g print gaps only, no sequence
·