SeqKit的学习 --20191017
软件的介绍
SeqKit是一种跨平台的、极快的,全面的fasta/q处理工具。SeqKit为所有的主流操作系统提供了一种可执行的双元文件,包括Windows,Linux,Mac OS X,并且不依赖于任何的配置或预先配置就可以直接使用。
软件的安装
## Install via conda
conda install -c bioconda seqkit
软件的命令
## 序列和子序列
**seq** 转换序列(序列颠倒,序列互补,提取ID)
**subseq** 从区域/gtf/bed中获得序列,包括侧面的序列
**sliding** 滑动序列,支持环式基因组
**stats** 对FASTA/Q files进行简单统计
**faidx** 创造fasta索引文件并提取子序列
**watch** 检测并连线序列特点的柱状图
**sana** 清除质量不好的单线的fastq文件
## 格式转换
**fx2tab** 将FASTA/Q 文件转变成表格形式 (1th: name/ID, 2nd: sequence, 3rd: quality)
**tab2fx** 转变表格形式为fasta/q格式
**fq2fa** 转变fastq文件为fasta文件
**convert** 在Sanger, Solexa and Illumina中转换fastq的质量编码
**translate** 将DNA/RNA序列转变成蛋白序列(支持模棱两可的碱基)
## 搜索
**grep** 根据ID/名称/序列/序列motif 搜索序列,且允许错配
**locate** 定位子序列/motif,且允许错配
**fish** 使用本地比对在较大序列中寻找短序列
**amplicon** 经由引物检索扩增子(或它附近特定的区域)
## bam文件的处理和监视
**bam** 监视和连线bam文件记录特点的直方图
## 设置参数
**head** 打印第一个Nfasta/q的记录
**range** 在一个范围内(start:end)打印fasta/q的记录
**sample** 通过数量或比例来体验序列
**rmdup** 通过id/名称/序列 来去除复制的序列
**duplicate** 复制N次的序列
**common** 通过id/名称/序列 发现多条序列中共有的序列
**split** 通过id/seq region/size/parts (mainly for FASTA) 将序列劈开成文件
**split2** 将序列通过大小或部分 劈开成文件
## 编辑
**replace** 通过规律表达来代替名字或序列
**rename** 重新命名复制的ID
**restart** 为环状基因组重新设置起始位置
**concat** 从多个文件中经由相同的ID来连接序列
**mutate** 编辑序列(点突,插入,删除)
## 排序
**shuffle** 变换序列位置
**sort** 将序列经由id/name/sequence 进行排序
软件命令详解
Sequence ID
大部分的软件,包括seqkit默认将主导的非空格字母作为ID。
FASTA header
ID
>123456 gene name
123456
>longname
longname
>gi|110645304|ref|NC_002516.2| Pseudomona
gi|110645304|ref|NC_002516.2|
举例说明软件如何使用
##下载参考序列,一个fastq文件,两个fasta文件
wget http://data.biostarhandbook.com/reads/duplicated-reads.fq.gz
wget ftp://ftp.ncbi.nih.gov/refseq/release/viral/viral.1.1.genomic.fna.gz
wget ftp://ftp.ncbi.nih.gov/refseq/release/viral/viral.1.protein.faa.gz
对fastq文件进行一个概括浏览
$ seqkit stat *.gz
file format type num_seqs sum_len min_len avg_len max_len
duplicated-reads.fq.gz FASTQ DNA 15,000 1,515,000 101 101 101
viral.1.1.genomic.fna.gz FASTA DNA 6 195,842 5,386 32,640.3 154,675
viral.1.protein.faa.gz FASTA Protein 11