首页 威武短视频文章正文

统计分析工具(数据统计分析用什么软件)

威武短视频 2022年07月15日 12:54 195 威武短视频

目前应该是有很多小伙伴对于统计分析工具方面的信息比较感兴趣,现在小编就收集了一些与数据统计分析用什么软件相关的信息来分享给大家,感兴趣的小伙伴可以接着往下看,希望会帮助到你哦。

写在前面

通过我几天的学习,我发现,seqkit十分好用,将序列的各种操作都囊括进去,加入多线程,我个人认为这将是非常好的胶水,在处理无论是基因组还是其他组学。定是一个必学神器。注意一下教程在0.15版本以后可用。低版本有些参数不可用。

统计分析工具(数据统计分析用什么软件)

支持Windows/Mac/Linux的32和64位系统。用户根据自己的系统自取。

最新版发布页面:https://github.com/shenwei356/seqkit/releases

  • 软件优点
  1. 体积小巧、安装方便、无依赖关系
  2. 跨平台:Windows/Linux/Mac通用
  3. 运行效率高

安装

本教程测试环境Ubuntu 16/18/20.04 LTS

目前可以安装比较最新的版本Version: 至少 >= 0.15.0。seqkit在github上的维护力度也比较大,功能比较完善,放心使用。

conda install -c bioconda seqkit# 补充bedops(gtf2bed)和csvtk工具(可选)conda install -c bioconda bedops -yconda install -c bioconda csvtk -y

可选在 https://github.com/shenwei356/seqkit/releases 发布页直接下载适合的版本。

seqkit 一共有37个可用的命令,详细内容如下:

amplicon        通过引物检索扩增子(或其周围的特定区域)bam             检查和在线绘制BAM记录文件的直方图common          通过id/名称/序列查找多个文件的公共序列concat          连接多个文件中具有相同ID的序列convert         转换FASTQ质量编码格式:支持格式包括:桑格,Solexa和Illuminaduplicate       重复序列N次faidx           创建FASTA索引文件并提取子序列fish            使用局部比对在较大的序列中寻找短序列fq2fa           转换FASTQ到FASTAfx2tab          将FASTA/Q转换为表格格式(包含长度/GC含量/GC偏好)genautocomplete 生成shell自动完成脚本grep            通过ID/name/sequence/sequence motif搜索序列,允许错配head            打印第一条序列help            打印帮助信息locate          定位序列,或者motifs,允许错配mutate          编辑序列(点突变、插入、删除)pair            匹配双端序列文件range           打印一个范围内的序列rename          重命名重复序列IDreplace         使用正则表达式修改名称或者序列restart         重置环状基因组的起始位置rmdup           通过id/名称/序列删除重复的序列sample          按数量或比例对序列进行抽样sana            清理损坏的单行fastq文件scat            real time recursive concatenation and streaming of fastx filesseq             转换序列(反向,补充,提取ID…)shuffle         随机序列sliding         序列滑窗提取,支持环形基因组sort            按id/名称/序列/长度排序序列split           按id/seq区域/大小/部件将序列拆分为文件(主要用于FASTA)split2          按序列数量/文件数将序列拆分为多个文件(FASTA, PE/SE FASTQ)stats           FASTA/Q文件的简单统计subseq          通过region/gtf/bed得到子序列,包括侧翼序列tab2fx          转换表格格式为FASTA/Q格式translate       翻译DNA/RNA到蛋白质序列(支持歧义碱基)version         打印版本信息并检查是否更新watch           序列特征的监测和在线直方图

参数

Flags:--alphabet-guess-seq-length int   seqkit根据第一个FASTA记录猜测序列类型的序列前缀的长度(0表示整个序列)(默认10000)-h, --help                            显示帮助--id-ncbi                         FASTA头是ncbi风格的,例如>gi|110645304|ref|NC_002516.2--id-regexp string                用于解析ID的正则表达式(default "^(\\S+)\\s?"),匹配空格前的部分为序列名--infile-list string              输入文件列表中的文件 (one file per line), if given, they are appended to files from cli arguments-w, --line-width int                  输出FASTA格式时的行宽 (0 for no wrap) (default 60)-o, --out-file string                 输出 ("-" for stdout, suffix .gz for gzipped out) (default "-") -代表标准输出,加.gz可输出压缩文件--quiet                           保持安静,不要显示额外的信息-t, --seq-type string                 序列类型 (dna|rna|protein|unlimit|auto) (auto, 按第一个序列自动检测) (default "auto")-j, --threads int                     CPU数量 (默认单核为1,多核为2) (default 2)

实战

准备数据

# 创建练习目录并进入mkdir -p seqkitcd seqkit# miRBase的RNA序列1.5M/785K/110Kwget -c ftp://mirbase.org/pub/mirbase/CURRENT/hairpin.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/mature.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/miRNA.diff.gz# 下载人类基因组3G(压缩包840 MB)和基因注释gtf(44M) (可选)# wget -c ftp://ftp.ensembl.org/pub/release-84/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz# wget -c ftp://ftp.ensembl.org/pub/release-84/gtf/homo_sapiens/Homo_sapiens.GRCh38.84.gtf.gz# 下载拟南芥基因组(120M,压缩包35M)  比较小 推荐 http://plants.ensembl.org/info/data/ftp/index.htmlwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gzwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/gtf/arabidopsis_thaliana/Arabidopsis_thaliana.TAIR10.49.gtf.gz# 下载fastq文件 用于测试wget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_1.fq.gzwget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_2.fq.gz# 下载fa文件,宏基因组中prodigal预测结果wget -c http://210.75.224.110/github/Note/Linux/data/gene.fa

根据gtf构建bed文件

下载的gtf文件似乎缺少一个transcript_id,这里补充一下。

zcat Arabidopsis_thaliana.TAIR10.49.gtf.gz|awk '{ if ($0 ~ "transcript_id") print $0; else print $0" transcript_id \"\";"; }' | gtf2bed --do-not-sort | gzip -c > Arabidopsis_thaliana.TAIR10.49.bed.gz

提取1号染色体序列及注释作为示例

seqkit grep -p 1 Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gz -o chr1.fa.gz# 注释信息按照染色体取子集:提取第一条染色体的基因组注释信息:'^1'# 使用gtf文件提取zcat Arabidopsis_thaliana.TAIR10.49.gtf.gz | grep -w '^1' | gzip -c > chr1.gtf.gz# 提取第一条染色体的bed文件,用法相同zcat Arabidopsis_thaliana.TAIR10.49.bed.gz | grep -w '^1' | gzip -c > chr1.bed.gz

stats FASTA/Q文件的简单统计

统计序列格式fasta(fa)/fastq(fq)、内容类型DNA/RNA/Protein,序列数量、总长度,最小、平均和最大长度

下面就四种格式序列构建和简单统计。

# FASTA DNAecho -e ">seq\nacgtryswkmbdhvACGTRYSWKMBDHV" | seqkit stats# RNAecho -e ">seq\nACGUN\nACGUN" | seqkit stats# Proteinecho -e ">seq\nabcdefghijklmnpqrstvwyz" | seqkit stats# FASTQ DNAecho -e "@read\nACTGCN\n+\n@IICCG" | seqkit stats

使用fq或者fa文件进行演示

# 一般模式seqkit stats C1_1.fq.gz#--输出结果tab分隔seqkit stats C1_1.fq.gz -T#--输出文件转化其他格式seqkit stats C1_1.fq.gz -T| csvtk pretty -tseqkit stats C1_1.fq.gz -T| csvtk csv2md -t# 统计更多信息 -aseqkit stats C1_1.fq.gz -a# j多线程加速,尤其是对于具有多个序列文件会加速# seqkit stats -j 2 *.fq.gz

seq 转换序列 (反向、互补/提取ID)

“-n”: 提取序列ID,包括“>”后面的全部内容

“-n -i”: 仅提取第一个空格前的ID

按长度过滤(常用)

扩增子分析时要筛选扩增长度相近的片段,过长或过短一般都要删除。宏基因组中比如组装的结果,经常要过滤<200/300bp的短片段,分箱时要筛选>1000/2000的长片段使用。本条命令非常多的应用场景。筛选后结果可用 > 写入文件

  • -m 按照序列长度过滤,表示保留的最小长度,-M 此为保留的最大长度
#--提取序列长度大于60的并统计长度信息zcat hairpin.fa.gz | seqkit seq -m 60 | seqkit stats# 设置最小序列长度和最大序列长度,用于过滤序列,并统计zcat hairpin.fa.gz | seqkit seq -m 100 -M 1000 | seqkit stats# 保存>100且<1000长度的序列seqkit seq -m 100 -M 1000 hairpin.fa.gz > hairpin100-1000.faseqkit stat hairpin100-1000.fa

提取ID

head gene.fa## 名称全行seqkit seq gene.fa -n | head# 仅仅打印IDseqkit seq gene.fa -n -i | head# 使用正则表达式提取名字中的信息zcat hairpin.fa.gz | head# 提取ID中第二个字段作为IDseqkit seq hairpin.fa.gz -n -i --id-regexp "^[^\s]+\s([^\s]+)\s" | head

单行/多行转换

  • -s提取并展示序列
  • -w 代表每行的碱基数量,0代表不换行
amplicon        通过引物检索扩增子(或其周围的特定区域)bam             检查和在线绘制BAM记录文件的直方图common          通过id/名称/序列查找多个文件的公共序列concat          连接多个文件中具有相同ID的序列convert         转换FASTQ质量编码格式:支持格式包括:桑格,Solexa和Illuminaduplicate       重复序列N次faidx           创建FASTA索引文件并提取子序列fish            使用局部比对在较大的序列中寻找短序列fq2fa           转换FASTQ到FASTAfx2tab          将FASTA/Q转换为表格格式(包含长度/GC含量/GC偏好)genautocomplete 生成shell自动完成脚本grep            通过ID/name/sequence/sequence motif搜索序列,允许错配head            打印第一条序列help            打印帮助信息locate          定位序列,或者motifs,允许错配mutate          编辑序列(点突变、插入、删除)pair            匹配双端序列文件range           打印一个范围内的序列rename          重命名重复序列IDreplace         使用正则表达式修改名称或者序列restart         重置环状基因组的起始位置rmdup           通过id/名称/序列删除重复的序列sample          按数量或比例对序列进行抽样sana            清理损坏的单行fastq文件scat            real time recursive concatenation and streaming of fastx filesseq             转换序列(反向,补充,提取ID…)shuffle         随机序列sliding         序列滑窗提取,支持环形基因组sort            按id/名称/序列/长度排序序列split           按id/seq区域/大小/部件将序列拆分为文件(主要用于FASTA)split2          按序列数量/文件数将序列拆分为多个文件(FASTA, PE/SE FASTQ)stats           FASTA/Q文件的简单统计subseq          通过region/gtf/bed得到子序列,包括侧翼序列tab2fx          转换表格格式为FASTA/Q格式translate       翻译DNA/RNA到蛋白质序列(支持歧义碱基)version         打印版本信息并检查是否更新watch           序列特征的监测和在线直方图0

反向/互补

  • -r 序列反向
  • -p序列互补
amplicon        通过引物检索扩增子(或其周围的特定区域)bam             检查和在线绘制BAM记录文件的直方图common          通过id/名称/序列查找多个文件的公共序列concat          连接多个文件中具有相同ID的序列convert         转换FASTQ质量编码格式:支持格式包括:桑格,Solexa和Illuminaduplicate       重复序列N次faidx           创建FASTA索引文件并提取子序列fish            使用局部比对在较大的序列中寻找短序列fq2fa           转换FASTQ到FASTAfx2tab          将FASTA/Q转换为表格格式(包含长度/GC含量/GC偏好)genautocomplete 生成shell自动完成脚本grep            通过ID/name/sequence/sequence motif搜索序列,允许错配head            打印第一条序列help            打印帮助信息locate          定位序列,或者motifs,允许错配mutate          编辑序列(点突变、插入、删除)pair            匹配双端序列文件range           打印一个范围内的序列rename          重命名重复序列IDreplace         使用正则表达式修改名称或者序列restart         重置环状基因组的起始位置rmdup           通过id/名称/序列删除重复的序列sample          按数量或比例对序列进行抽样sana            清理损坏的单行fastq文件scat            real time recursive concatenation and streaming of fastx filesseq             转换序列(反向,补充,提取ID…)shuffle         随机序列sliding         序列滑窗提取,支持环形基因组sort            按id/名称/序列/长度排序序列split           按id/seq区域/大小/部件将序列拆分为文件(主要用于FASTA)split2          按序列数量/文件数将序列拆分为多个文件(FASTA, PE/SE FASTQ)stats           FASTA/Q文件的简单统计subseq          通过region/gtf/bed得到子序列,包括侧翼序列tab2fx          转换表格格式为FASTA/Q格式translate       翻译DNA/RNA到蛋白质序列(支持歧义碱基)version         打印版本信息并检查是否更新watch           序列特征的监测和在线直方图1

删除gap/大小写转换

  • -g 去除序列中的间隔,将中间的横杠去掉
  • -u转化序列为大写字母展示
amplicon        通过引物检索扩增子(或其周围的特定区域)bam             检查和在线绘制BAM记录文件的直方图common          通过id/名称/序列查找多个文件的公共序列concat          连接多个文件中具有相同ID的序列convert         转换FASTQ质量编码格式:支持格式包括:桑格,Solexa和Illuminaduplicate       重复序列N次faidx           创建FASTA索引文件并提取子序列fish            使用局部比对在较大的序列中寻找短序列fq2fa           转换FASTQ到FASTAfx2tab          将FASTA/Q转换为表格格式(包含长度/GC含量/GC偏好)genautocomplete 生成shell自动完成脚本grep            通过ID/name/sequence/sequence motif搜索序列,允许错配head            打印第一条序列help            打印帮助信息locate          定位序列,或者motifs,允许错配mutate          编辑序列(点突变、插入、删除)pair            匹配双端序列文件range           打印一个范围内的序列rename          重命名重复序列IDreplace         使用正则表达式修改名称或者序列restart         重置环状基因组的起始位置rmdup           通过id/名称/序列删除重复的序列sample          按数量或比例对序列进行抽样sana            清理损坏的单行fastq文件scat            real time recursive concatenation and streaming of fastx filesseq             转换序列(反向,补充,提取ID…)shuffle         随机序列sliding         序列滑窗提取,支持环形基因组sort            按id/名称/序列/长度排序序列split           按id/seq区域/大小/部件将序列拆分为文件(主要用于FASTA)split2          按序列数量/文件数将序列拆分为多个文件(FASTA, PE/SE FASTQ)stats           FASTA/Q文件的简单统计subseq          通过region/gtf/bed得到子序列,包括侧翼序列tab2fx          转换表格格式为FASTA/Q格式translate       翻译DNA/RNA到蛋白质序列(支持歧义碱基)version         打印版本信息并检查是否更新watch           序列特征的监测和在线直方图2

RNA转为DNA

  • —rna2dna 将RNA序列转化为DNA序列
amplicon        通过引物检索扩增子(或其周围的特定区域)bam             检查和在线绘制BAM记录文件的直方图common          通过id/名称/序列查找多个文件的公共序列concat          连接多个文件中具有相同ID的序列convert         转换FASTQ质量编码格式:支持格式包括:桑格,Solexa和Illuminaduplicate       重复序列N次faidx           创建FASTA索引文件并提取子序列fish            使用局部比对在较大的序列中寻找短序列fq2fa           转换FASTQ到FASTAfx2tab          将FASTA/Q转换为表格格式(包含长度/GC含量/GC偏好)genautocomplete 生成shell自动完成脚本grep            通过ID/name/sequence/sequence motif搜索序列,允许错配head            打印第一条序列help            打印帮助信息locate          定位序列,或者motifs,允许错配mutate          编辑序列(点突变、插入、删除)pair            匹配双端序列文件range           打印一个范围内的序列rename          重命名重复序列IDreplace         使用正则表达式修改名称或者序列restart         重置环状基因组的起始位置rmdup           通过id/名称/序列删除重复的序列sample          按数量或比例对序列进行抽样sana            清理损坏的单行fastq文件scat            real time recursive concatenation and streaming of fastx filesseq             转换序列(反向,补充,提取ID…)shuffle         随机序列sliding         序列滑窗提取,支持环形基因组sort            按id/名称/序列/长度排序序列split           按id/seq区域/大小/部件将序列拆分为文件(主要用于FASTA)split2          按序列数量/文件数将序列拆分为多个文件(FASTA, PE/SE FASTQ)stats           FASTA/Q文件的简单统计subseq          通过region/gtf/bed得到子序列,包括侧翼序列tab2fx          转换表格格式为FASTA/Q格式translate       翻译DNA/RNA到蛋白质序列(支持歧义碱基)version         打印版本信息并检查是否更新watch           序列特征的监测和在线直方图3

subseq通过指定区域

  • -r 通过区域来截取序列

如1:12提取前12个碱基,-12:-1提取序列结尾12个碱基;
for last 12 bases, 13:-1 for cutting first 12 bases. type “seqkit subseq -h” for more examples

amplicon        通过引物检索扩增子(或其周围的特定区域)bam             检查和在线绘制BAM记录文件的直方图common          通过id/名称/序列查找多个文件的公共序列concat          连接多个文件中具有相同ID的序列convert         转换FASTQ质量编码格式:支持格式包括:桑格,Solexa和Illuminaduplicate       重复序列N次faidx           创建FASTA索引文件并提取子序列fish            使用局部比对在较大的序列中寻找短序列fq2fa           转换FASTQ到FASTAfx2tab          将FASTA/Q转换为表格格式(包含长度/GC含量/GC偏好)genautocomplete 生成shell自动完成脚本grep            通过ID/name/sequence/sequence motif搜索序列,允许错配head            打印第一条序列help            打印帮助信息locate          定位序列,或者motifs,允许错配mutate          编辑序列(点突变、插入、删除)pair            匹配双端序列文件range           打印一个范围内的序列rename          重命名重复序列IDreplace         使用正则表达式修改名称或者序列restart         重置环状基因组的起始位置rmdup           通过id/名称/序列删除重复的序列sample          按数量或比例对序列进行抽样sana            清理损坏的单行fastq文件scat            real time recursive concatenation and streaming of fastx filesseq             转换序列(反向,补充,提取ID…)shuffle         随机序列sliding         序列滑窗提取,支持环形基因组sort            按id/名称/序列/长度排序序列split           按id/seq区域/大小/部件将序列拆分为文件(主要用于FASTA)split2          按序列数量/文件数将序列拆分为多个文件(FASTA, PE/SE FASTQ)stats           FASTA/Q文件的简单统计subseq          通过region/gtf/bed得到子序列,包括侧翼序列tab2fx          转换表格格式为FASTA/Q格式translate       翻译DNA/RNA到蛋白质序列(支持歧义碱基)version         打印版本信息并检查是否更新watch           序列特征的监测和在线直方图4

基于gtf/bed信息挑选子序列。

  • —gtf 根据gtf文件挑选基因,这部分功能用于根据基因注释快速提取基因序列,在宏基因组、转录组、重测序中常用。—chr 选择染色体,—feature cds选择序列类型

以拟南芥基因组的序列和注释数据演示:提取第一条染色体上的CDS基因信息,并统计基本信息

amplicon        通过引物检索扩增子(或其周围的特定区域)bam             检查和在线绘制BAM记录文件的直方图common          通过id/名称/序列查找多个文件的公共序列concat          连接多个文件中具有相同ID的序列convert         转换FASTQ质量编码格式:支持格式包括:桑格,Solexa和Illuminaduplicate       重复序列N次faidx           创建FASTA索引文件并提取子序列fish            使用局部比对在较大的序列中寻找短序列fq2fa           转换FASTQ到FASTAfx2tab          将FASTA/Q转换为表格格式(包含长度/GC含量/GC偏好)genautocomplete 生成shell自动完成脚本grep            通过ID/name/sequence/sequence motif搜索序列,允许错配head            打印第一条序列help            打印帮助信息locate          定位序列,或者motifs,允许错配mutate          编辑序列(点突变、插入、删除)pair            匹配双端序列文件range           打印一个范围内的序列rename          重命名重复序列IDreplace         使用正则表达式修改名称或者序列restart         重置环状基因组的起始位置rmdup           通过id/名称/序列删除重复的序列sample          按数量或比例对序列进行抽样sana            清理损坏的单行fastq文件scat            real time recursive concatenation and streaming of fastx filesseq             转换序列(反向,补充,提取ID…)shuffle         随机序列sliding         序列滑窗提取,支持环形基因组sort            按id/名称/序列/长度排序序列split           按id/seq区域/大小/部件将序列拆分为文件(主要用于FASTA)split2          按序列数量/文件数将序列拆分为多个文件(FASTA, PE/SE FASTQ)stats           FASTA/Q文件的简单统计subseq          通过region/gtf/bed得到子序列,包括侧翼序列tab2fx          转换表格格式为FASTA/Q格式translate       翻译DNA/RNA到蛋白质序列(支持歧义碱基)version         打印版本信息并检查是否更新watch           序列特征的监测和在线直方图5
  • -u 可以提取目标基因上游的序列
  • -f 目标区域不展示
amplicon        通过引物检索扩增子(或其周围的特定区域)bam             检查和在线绘制BAM记录文件的直方图common          通过id/名称/序列查找多个文件的公共序列concat          连接多个文件中具有相同ID的序列convert         转换FASTQ质量编码格式:支持格式包括:桑格,Solexa和Illuminaduplicate       重复序列N次faidx           创建FASTA索引文件并提取子序列fish            使用局部比对在较大的序列中寻找短序列fq2fa           转换FASTQ到FASTAfx2tab          将FASTA/Q转换为表格格式(包含长度/GC含量/GC偏好)genautocomplete 生成shell自动完成脚本grep            通过ID/name/sequence/sequence motif搜索序列,允许错配head            打印第一条序列help            打印帮助信息locate          定位序列,或者motifs,允许错配mutate          编辑序列(点突变、插入、删除)pair            匹配双端序列文件range           打印一个范围内的序列rename          重命名重复序列IDreplace         使用正则表达式修改名称或者序列restart         重置环状基因组的起始位置rmdup           通过id/名称/序列删除重复的序列sample          按数量或比例对序列进行抽样sana            清理损坏的单行fastq文件scat            real time recursive concatenation and streaming of fastx filesseq             转换序列(反向,补充,提取ID…)shuffle         随机序列sliding         序列滑窗提取,支持环形基因组sort            按id/名称/序列/长度排序序列split           按id/seq区域/大小/部件将序列拆分为文件(主要用于FASTA)split2          按序列数量/文件数将序列拆分为多个文件(FASTA, PE/SE FASTQ)stats           FASTA/Q文件的简单统计subseq          通过region/gtf/bed得到子序列,包括侧翼序列tab2fx          转换表格格式为FASTA/Q格式translate       翻译DNA/RNA到蛋白质序列(支持歧义碱基)version         打印版本信息并检查是否更新watch           序列特征的监测和在线直方图6

sliding 滑窗提取序列,支持环状基因组

amplicon        通过引物检索扩增子(或其周围的特定区域)bam             检查和在线绘制BAM记录文件的直方图common          通过id/名称/序列查找多个文件的公共序列concat          连接多个文件中具有相同ID的序列convert         转换FASTQ质量编码格式:支持格式包括:桑格,Solexa和Illuminaduplicate       重复序列N次faidx           创建FASTA索引文件并提取子序列fish            使用局部比对在较大的序列中寻找短序列fq2fa           转换FASTQ到FASTAfx2tab          将FASTA/Q转换为表格格式(包含长度/GC含量/GC偏好)genautocomplete 生成shell自动完成脚本grep            通过ID/name/sequence/sequence motif搜索序列,允许错配head            打印第一条序列help            打印帮助信息locate          定位序列,或者motifs,允许错配mutate          编辑序列(点突变、插入、删除)pair            匹配双端序列文件range           打印一个范围内的序列rename          重命名重复序列IDreplace         使用正则表达式修改名称或者序列restart         重置环状基因组的起始位置rmdup           通过id/名称/序列删除重复的序列sample          按数量或比例对序列进行抽样sana            清理损坏的单行fastq文件scat            real time recursive concatenation and streaming of fastx filesseq             转换序列(反向,补充,提取ID…)shuffle         随机序列sliding         序列滑窗提取,支持环形基因组sort            按id/名称/序列/长度排序序列split           按id/seq区域/大小/部件将序列拆分为文件(主要用于FASTA)split2          按序列数量/文件数将序列拆分为多个文件(FASTA, PE/SE FASTQ)stats           FASTA/Q文件的简单统计subseq          通过region/gtf/bed得到子序列,包括侧翼序列tab2fx          转换表格格式为FASTA/Q格式translate       翻译DNA/RNA到蛋白质序列(支持歧义碱基)version         打印版本信息并检查是否更新watch           序列特征的监测和在线直方图7

步长为5,取30个碱基序列,然后统计GC含量

  • fx2tab:统计fasta/fastq序列的信息为表格
  • -n仅输出ID,不输出序列
  • -g为GC含量
amplicon        通过引物检索扩增子(或其周围的特定区域)bam             检查和在线绘制BAM记录文件的直方图common          通过id/名称/序列查找多个文件的公共序列concat          连接多个文件中具有相同ID的序列convert         转换FASTQ质量编码格式:支持格式包括:桑格,Solexa和Illuminaduplicate       重复序列N次faidx           创建FASTA索引文件并提取子序列fish            使用局部比对在较大的序列中寻找短序列fq2fa           转换FASTQ到FASTAfx2tab          将FASTA/Q转换为表格格式(包含长度/GC含量/GC偏好)genautocomplete 生成shell自动完成脚本grep            通过ID/name/sequence/sequence motif搜索序列,允许错配head            打印第一条序列help            打印帮助信息locate          定位序列,或者motifs,允许错配mutate          编辑序列(点突变、插入、删除)pair            匹配双端序列文件range           打印一个范围内的序列rename          重命名重复序列IDreplace         使用正则表达式修改名称或者序列restart         重置环状基因组的起始位置rmdup           通过id/名称/序列删除重复的序列sample          按数量或比例对序列进行抽样sana            清理损坏的单行fastq文件scat            real time recursive concatenation and streaming of fastx filesseq             转换序列(反向,补充,提取ID…)shuffle         随机序列sliding         序列滑窗提取,支持环形基因组sort            按id/名称/序列/长度排序序列split           按id/seq区域/大小/部件将序列拆分为文件(主要用于FASTA)split2          按序列数量/文件数将序列拆分为多个文件(FASTA, PE/SE FASTQ)stats           FASTA/Q文件的简单统计subseq          通过region/gtf/bed得到子序列,包括侧翼序列tab2fx          转换表格格式为FASTA/Q格式translate       翻译DNA/RNA到蛋白质序列(支持歧义碱基)version         打印版本信息并检查是否更新watch           序列特征的监测和在线直方图8

faidx 创建FASTA索引文件并提取子序列

amplicon        通过引物检索扩增子(或其周围的特定区域)bam             检查和在线绘制BAM记录文件的直方图common          通过id/名称/序列查找多个文件的公共序列concat          连接多个文件中具有相同ID的序列convert         转换FASTQ质量编码格式:支持格式包括:桑格,Solexa和Illuminaduplicate       重复序列N次faidx           创建FASTA索引文件并提取子序列fish            使用局部比对在较大的序列中寻找短序列fq2fa           转换FASTQ到FASTAfx2tab          将FASTA/Q转换为表格格式(包含长度/GC含量/GC偏好)genautocomplete 生成shell自动完成脚本grep            通过ID/name/sequence/sequence motif搜索序列,允许错配head            打印第一条序列help            打印帮助信息locate          定位序列,或者motifs,允许错配mutate          编辑序列(点突变、插入、删除)pair            匹配双端序列文件range           打印一个范围内的序列rename          重命名重复序列IDreplace         使用正则表达式修改名称或者序列restart         重置环状基因组的起始位置rmdup           通过id/名称/序列删除重复的序列sample          按数量或比例对序列进行抽样sana            清理损坏的单行fastq文件scat            real time recursive concatenation and streaming of fastx filesseq             转换序列(反向,补充,提取ID…)shuffle         随机序列sliding         序列滑窗提取,支持环形基因组sort            按id/名称/序列/长度排序序列split           按id/seq区域/大小/部件将序列拆分为文件(主要用于FASTA)split2          按序列数量/文件数将序列拆分为多个文件(FASTA, PE/SE FASTQ)stats           FASTA/Q文件的简单统计subseq          通过region/gtf/bed得到子序列,包括侧翼序列tab2fx          转换表格格式为FASTA/Q格式translate       翻译DNA/RNA到蛋白质序列(支持歧义碱基)version         打印版本信息并检查是否更新watch           序列特征的监测和在线直方图9

watch 序列质量的监测和在线直方图

Flags:--alphabet-guess-seq-length int   seqkit根据第一个FASTA记录猜测序列类型的序列前缀的长度(0表示整个序列)(默认10000)-h, --help                            显示帮助--id-ncbi                         FASTA头是ncbi风格的,例如>gi|110645304|ref|NC_002516.2--id-regexp string                用于解析ID的正则表达式(default "^(\\S+)\\s?"),匹配空格前的部分为序列名--infile-list string              输入文件列表中的文件 (one file per line), if given, they are appended to files from cli arguments-w, --line-width int                  输出FASTA格式时的行宽 (0 for no wrap) (default 60)-o, --out-file string                 输出 ("-" for stdout, suffix .gz for gzipped out) (default "-") -代表标准输出,加.gz可输出压缩文件--quiet                           保持安静,不要显示额外的信息-t, --seq-type string                 序列类型 (dna|rna|protein|unlimit|auto) (auto, 按第一个序列自动检测) (default "auto")-j, --threads int                     CPU数量 (默认单核为1,多核为2) (default 2)0
  • 从有错误记录的fastq文件中挽救可用的读取

sana:清理损坏fastq文件

这里我专门将C1_1.fq的第一个序列进行了错位,进行测试。这个操作往往在进行数据整合的时候可以有很大作用。

Flags:--alphabet-guess-seq-length int   seqkit根据第一个FASTA记录猜测序列类型的序列前缀的长度(0表示整个序列)(默认10000)-h, --help                            显示帮助--id-ncbi                         FASTA头是ncbi风格的,例如>gi|110645304|ref|NC_002516.2--id-regexp string                用于解析ID的正则表达式(default "^(\\S+)\\s?"),匹配空格前的部分为序列名--infile-list string              输入文件列表中的文件 (one file per line), if given, they are appended to files from cli arguments-w, --line-width int                  输出FASTA格式时的行宽 (0 for no wrap) (default 60)-o, --out-file string                 输出 ("-" for stdout, suffix .gz for gzipped out) (default "-") -代表标准输出,加.gz可输出压缩文件--quiet                           保持安静,不要显示额外的信息-t, --seq-type string                 序列类型 (dna|rna|protein|unlimit|auto) (auto, 按第一个序列自动检测) (default "auto")-j, --threads int                     CPU数量 (默认单核为1,多核为2) (default 2)1

fq2fa 将fq转为fa格式

Flags:--alphabet-guess-seq-length int   seqkit根据第一个FASTA记录猜测序列类型的序列前缀的长度(0表示整个序列)(默认10000)-h, --help                            显示帮助--id-ncbi                         FASTA头是ncbi风格的,例如>gi|110645304|ref|NC_002516.2--id-regexp string                用于解析ID的正则表达式(default "^(\\S+)\\s?"),匹配空格前的部分为序列名--infile-list string              输入文件列表中的文件 (one file per line), if given, they are appended to files from cli arguments-w, --line-width int                  输出FASTA格式时的行宽 (0 for no wrap) (default 60)-o, --out-file string                 输出 ("-" for stdout, suffix .gz for gzipped out) (default "-") -代表标准输出,加.gz可输出压缩文件--quiet                           保持安静,不要显示额外的信息-t, --seq-type string                 序列类型 (dna|rna|protein|unlimit|auto) (auto, 按第一个序列自动检测) (default "auto")-j, --threads int                     CPU数量 (默认单核为1,多核为2) (default 2)2

fx2tab & tab2fx 序列转化表格格式

这一转化很有用,往往用于表格/矩阵处理的时候。

Flags:--alphabet-guess-seq-length int   seqkit根据第一个FASTA记录猜测序列类型的序列前缀的长度(0表示整个序列)(默认10000)-h, --help                            显示帮助--id-ncbi                         FASTA头是ncbi风格的,例如>gi|110645304|ref|NC_002516.2--id-regexp string                用于解析ID的正则表达式(default "^(\\S+)\\s?"),匹配空格前的部分为序列名--infile-list string              输入文件列表中的文件 (one file per line), if given, they are appended to files from cli arguments-w, --line-width int                  输出FASTA格式时的行宽 (0 for no wrap) (default 60)-o, --out-file string                 输出 ("-" for stdout, suffix .gz for gzipped out) (default "-") -代表标准输出,加.gz可输出压缩文件--quiet                           保持安静,不要显示额外的信息-t, --seq-type string                 序列类型 (dna|rna|protein|unlimit|auto) (auto, 按第一个序列自动检测) (default "auto")-j, --threads int                     CPU数量 (默认单核为1,多核为2) (default 2)3

通过矩阵格式的序列文件统计序列长度和质量值

  • -l 统计序列长度
  • -g 统计平均GC含量
  • -i 只打印名称(不打印序列)
  • -H 打印标题行
Flags:--alphabet-guess-seq-length int   seqkit根据第一个FASTA记录猜测序列类型的序列前缀的长度(0表示整个序列)(默认10000)-h, --help                            显示帮助--id-ncbi                         FASTA头是ncbi风格的,例如>gi|110645304|ref|NC_002516.2--id-regexp string                用于解析ID的正则表达式(default "^(\\S+)\\s?"),匹配空格前的部分为序列名--infile-list string              输入文件列表中的文件 (one file per line), if given, they are appended to files from cli arguments-w, --line-width int                  输出FASTA格式时的行宽 (0 for no wrap) (default 60)-o, --out-file string                 输出 ("-" for stdout, suffix .gz for gzipped out) (default "-") -代表标准输出,加.gz可输出压缩文件--quiet                           保持安静,不要显示额外的信息-t, --seq-type string                 序列类型 (dna|rna|protein|unlimit|auto) (auto, 按第一个序列自动检测) (default "auto")-j, --threads int                     CPU数量 (默认单核为1,多核为2) (default 2)4
  • tab2fx 和表格格式转化为序列格式
Flags:--alphabet-guess-seq-length int   seqkit根据第一个FASTA记录猜测序列类型的序列前缀的长度(0表示整个序列)(默认10000)-h, --help                            显示帮助--id-ncbi                         FASTA头是ncbi风格的,例如>gi|110645304|ref|NC_002516.2--id-regexp string                用于解析ID的正则表达式(default "^(\\S+)\\s?"),匹配空格前的部分为序列名--infile-list string              输入文件列表中的文件 (one file per line), if given, they are appended to files from cli arguments-w, --line-width int                  输出FASTA格式时的行宽 (0 for no wrap) (default 60)-o, --out-file string                 输出 ("-" for stdout, suffix .gz for gzipped out) (default "-") -代表标准输出,加.gz可输出压缩文件--quiet                           保持安静,不要显示额外的信息-t, --seq-type string                 序列类型 (dna|rna|protein|unlimit|auto) (auto, 按第一个序列自动检测) (default "auto")-j, --threads int                     CPU数量 (默认单核为1,多核为2) (default 2)5

translate 翻译DNA/RNA为蛋白质序列

Flags:--alphabet-guess-seq-length int   seqkit根据第一个FASTA记录猜测序列类型的序列前缀的长度(0表示整个序列)(默认10000)-h, --help                            显示帮助--id-ncbi                         FASTA头是ncbi风格的,例如>gi|110645304|ref|NC_002516.2--id-regexp string                用于解析ID的正则表达式(default "^(\\S+)\\s?"),匹配空格前的部分为序列名--infile-list string              输入文件列表中的文件 (one file per line), if given, they are appended to files from cli arguments-w, --line-width int                  输出FASTA格式时的行宽 (0 for no wrap) (default 60)-o, --out-file string                 输出 ("-" for stdout, suffix .gz for gzipped out) (default "-") -代表标准输出,加.gz可输出压缩文件--quiet                           保持安静,不要显示额外的信息-t, --seq-type string                 序列类型 (dna|rna|protein|unlimit|auto) (auto, 按第一个序列自动检测) (default "auto")-j, --threads int                     CPU数量 (默认单核为1,多核为2) (default 2)6

grep 序列匹配

Flags:--alphabet-guess-seq-length int   seqkit根据第一个FASTA记录猜测序列类型的序列前缀的长度(0表示整个序列)(默认10000)-h, --help                            显示帮助--id-ncbi                         FASTA头是ncbi风格的,例如>gi|110645304|ref|NC_002516.2--id-regexp string                用于解析ID的正则表达式(default "^(\\S+)\\s?"),匹配空格前的部分为序列名--infile-list string              输入文件列表中的文件 (one file per line), if given, they are appended to files from cli arguments-w, --line-width int                  输出FASTA格式时的行宽 (0 for no wrap) (default 60)-o, --out-file string                 输出 ("-" for stdout, suffix .gz for gzipped out) (default "-") -代表标准输出,加.gz可输出压缩文件--quiet                           保持安静,不要显示额外的信息-t, --seq-type string                 序列类型 (dna|rna|protein|unlimit|auto) (auto, 按第一个序列自动检测) (default "auto")-j, --threads int                     CPU数量 (默认单核为1,多核为2) (default 2)7

locate 输出匹配位置

Flags:--alphabet-guess-seq-length int   seqkit根据第一个FASTA记录猜测序列类型的序列前缀的长度(0表示整个序列)(默认10000)-h, --help                            显示帮助--id-ncbi                         FASTA头是ncbi风格的,例如>gi|110645304|ref|NC_002516.2--id-regexp string                用于解析ID的正则表达式(default "^(\\S+)\\s?"),匹配空格前的部分为序列名--infile-list string              输入文件列表中的文件 (one file per line), if given, they are appended to files from cli arguments-w, --line-width int                  输出FASTA格式时的行宽 (0 for no wrap) (default 60)-o, --out-file string                 输出 ("-" for stdout, suffix .gz for gzipped out) (default "-") -代表标准输出,加.gz可输出压缩文件--quiet                           保持安静,不要显示额外的信息-t, --seq-type string                 序列类型 (dna|rna|protein|unlimit|auto) (auto, 按第一个序列自动检测) (default "auto")-j, --threads int                     CPU数量 (默认单核为1,多核为2) (default 2)8

fish 使用局部比对在较大的序列中寻找短序列

Flags:--alphabet-guess-seq-length int   seqkit根据第一个FASTA记录猜测序列类型的序列前缀的长度(0表示整个序列)(默认10000)-h, --help                            显示帮助--id-ncbi                         FASTA头是ncbi风格的,例如>gi|110645304|ref|NC_002516.2--id-regexp string                用于解析ID的正则表达式(default "^(\\S+)\\s?"),匹配空格前的部分为序列名--infile-list string              输入文件列表中的文件 (one file per line), if given, they are appended to files from cli arguments-w, --line-width int                  输出FASTA格式时的行宽 (0 for no wrap) (default 60)-o, --out-file string                 输出 ("-" for stdout, suffix .gz for gzipped out) (default "-") -代表标准输出,加.gz可输出压缩文件--quiet                           保持安静,不要显示额外的信息-t, --seq-type string                 序列类型 (dna|rna|protein|unlimit|auto) (auto, 按第一个序列自动检测) (default "auto")-j, --threads int                     CPU数量 (默认单核为1,多核为2) (default 2)9

amplicon 通过引物检索扩增子(或其周围的特定区域)

# 创建练习目录并进入mkdir -p seqkitcd seqkit# miRBase的RNA序列1.5M/785K/110Kwget -c ftp://mirbase.org/pub/mirbase/CURRENT/hairpin.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/mature.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/miRNA.diff.gz# 下载人类基因组3G(压缩包840 MB)和基因注释gtf(44M) (可选)# wget -c ftp://ftp.ensembl.org/pub/release-84/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz# wget -c ftp://ftp.ensembl.org/pub/release-84/gtf/homo_sapiens/Homo_sapiens.GRCh38.84.gtf.gz# 下载拟南芥基因组(120M,压缩包35M)  比较小 推荐 http://plants.ensembl.org/info/data/ftp/index.htmlwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gzwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/gtf/arabidopsis_thaliana/Arabidopsis_thaliana.TAIR10.49.gtf.gz# 下载fastq文件 用于测试wget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_1.fq.gzwget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_2.fq.gz# 下载fa文件,宏基因组中prodigal预测结果wget -c http://210.75.224.110/github/Note/Linux/data/gene.fa0
# 创建练习目录并进入mkdir -p seqkitcd seqkit# miRBase的RNA序列1.5M/785K/110Kwget -c ftp://mirbase.org/pub/mirbase/CURRENT/hairpin.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/mature.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/miRNA.diff.gz# 下载人类基因组3G(压缩包840 MB)和基因注释gtf(44M) (可选)# wget -c ftp://ftp.ensembl.org/pub/release-84/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz# wget -c ftp://ftp.ensembl.org/pub/release-84/gtf/homo_sapiens/Homo_sapiens.GRCh38.84.gtf.gz# 下载拟南芥基因组(120M,压缩包35M)  比较小 推荐 http://plants.ensembl.org/info/data/ftp/index.htmlwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gzwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/gtf/arabidopsis_thaliana/Arabidopsis_thaliana.TAIR10.49.gtf.gz# 下载fastq文件 用于测试wget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_1.fq.gzwget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_2.fq.gz# 下载fa文件,宏基因组中prodigal预测结果wget -c http://210.75.224.110/github/Note/Linux/data/gene.fa1

duplicate 对序列重复N次

# 创建练习目录并进入mkdir -p seqkitcd seqkit# miRBase的RNA序列1.5M/785K/110Kwget -c ftp://mirbase.org/pub/mirbase/CURRENT/hairpin.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/mature.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/miRNA.diff.gz# 下载人类基因组3G(压缩包840 MB)和基因注释gtf(44M) (可选)# wget -c ftp://ftp.ensembl.org/pub/release-84/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz# wget -c ftp://ftp.ensembl.org/pub/release-84/gtf/homo_sapiens/Homo_sapiens.GRCh38.84.gtf.gz# 下载拟南芥基因组(120M,压缩包35M)  比较小 推荐 http://plants.ensembl.org/info/data/ftp/index.htmlwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gzwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/gtf/arabidopsis_thaliana/Arabidopsis_thaliana.TAIR10.49.gtf.gz# 下载fastq文件 用于测试wget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_1.fq.gzwget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_2.fq.gz# 下载fa文件,宏基因组中prodigal预测结果wget -c http://210.75.224.110/github/Note/Linux/data/gene.fa2

rmdup 通过id/名称/序列删除重复的序列

# 创建练习目录并进入mkdir -p seqkitcd seqkit# miRBase的RNA序列1.5M/785K/110Kwget -c ftp://mirbase.org/pub/mirbase/CURRENT/hairpin.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/mature.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/miRNA.diff.gz# 下载人类基因组3G(压缩包840 MB)和基因注释gtf(44M) (可选)# wget -c ftp://ftp.ensembl.org/pub/release-84/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz# wget -c ftp://ftp.ensembl.org/pub/release-84/gtf/homo_sapiens/Homo_sapiens.GRCh38.84.gtf.gz# 下载拟南芥基因组(120M,压缩包35M)  比较小 推荐 http://plants.ensembl.org/info/data/ftp/index.htmlwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gzwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/gtf/arabidopsis_thaliana/Arabidopsis_thaliana.TAIR10.49.gtf.gz# 下载fastq文件 用于测试wget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_1.fq.gzwget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_2.fq.gz# 下载fa文件,宏基因组中prodigal预测结果wget -c http://210.75.224.110/github/Note/Linux/data/gene.fa3

common :通过id/名称/序列查找多个文件的公共序列

这里同时支持fa和fq文件

# 创建练习目录并进入mkdir -p seqkitcd seqkit# miRBase的RNA序列1.5M/785K/110Kwget -c ftp://mirbase.org/pub/mirbase/CURRENT/hairpin.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/mature.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/miRNA.diff.gz# 下载人类基因组3G(压缩包840 MB)和基因注释gtf(44M) (可选)# wget -c ftp://ftp.ensembl.org/pub/release-84/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz# wget -c ftp://ftp.ensembl.org/pub/release-84/gtf/homo_sapiens/Homo_sapiens.GRCh38.84.gtf.gz# 下载拟南芥基因组(120M,压缩包35M)  比较小 推荐 http://plants.ensembl.org/info/data/ftp/index.htmlwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gzwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/gtf/arabidopsis_thaliana/Arabidopsis_thaliana.TAIR10.49.gtf.gz# 下载fastq文件 用于测试wget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_1.fq.gzwget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_2.fq.gz# 下载fa文件,宏基因组中prodigal预测结果wget -c http://210.75.224.110/github/Note/Linux/data/gene.fa4

split 拆分序列为子文件

按名称ID、给定区域的子序列、文件大小或序列数量将序列拆分为文件

可用于将大文件拆分后,并行处理,加速分析。如从contig中预测基因。

# 创建练习目录并进入mkdir -p seqkitcd seqkit# miRBase的RNA序列1.5M/785K/110Kwget -c ftp://mirbase.org/pub/mirbase/CURRENT/hairpin.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/mature.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/miRNA.diff.gz# 下载人类基因组3G(压缩包840 MB)和基因注释gtf(44M) (可选)# wget -c ftp://ftp.ensembl.org/pub/release-84/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz# wget -c ftp://ftp.ensembl.org/pub/release-84/gtf/homo_sapiens/Homo_sapiens.GRCh38.84.gtf.gz# 下载拟南芥基因组(120M,压缩包35M)  比较小 推荐 http://plants.ensembl.org/info/data/ftp/index.htmlwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gzwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/gtf/arabidopsis_thaliana/Arabidopsis_thaliana.TAIR10.49.gtf.gz# 下载fastq文件 用于测试wget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_1.fq.gzwget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_2.fq.gz# 下载fa文件,宏基因组中prodigal预测结果wget -c http://210.75.224.110/github/Note/Linux/data/gene.fa5

split2 拆分文件 升级版本

# 创建练习目录并进入mkdir -p seqkitcd seqkit# miRBase的RNA序列1.5M/785K/110Kwget -c ftp://mirbase.org/pub/mirbase/CURRENT/hairpin.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/mature.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/miRNA.diff.gz# 下载人类基因组3G(压缩包840 MB)和基因注释gtf(44M) (可选)# wget -c ftp://ftp.ensembl.org/pub/release-84/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz# wget -c ftp://ftp.ensembl.org/pub/release-84/gtf/homo_sapiens/Homo_sapiens.GRCh38.84.gtf.gz# 下载拟南芥基因组(120M,压缩包35M)  比较小 推荐 http://plants.ensembl.org/info/data/ftp/index.htmlwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gzwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/gtf/arabidopsis_thaliana/Arabidopsis_thaliana.TAIR10.49.gtf.gz# 下载fastq文件 用于测试wget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_1.fq.gzwget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_2.fq.gz# 下载fa文件,宏基因组中prodigal预测结果wget -c http://210.75.224.110/github/Note/Linux/data/gene.fa6

同时支持fa和fq文件。单端和双端序列拆分实例

-f强制覆盖结果,适合重复计算时使用

# 创建练习目录并进入mkdir -p seqkitcd seqkit# miRBase的RNA序列1.5M/785K/110Kwget -c ftp://mirbase.org/pub/mirbase/CURRENT/hairpin.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/mature.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/miRNA.diff.gz# 下载人类基因组3G(压缩包840 MB)和基因注释gtf(44M) (可选)# wget -c ftp://ftp.ensembl.org/pub/release-84/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz# wget -c ftp://ftp.ensembl.org/pub/release-84/gtf/homo_sapiens/Homo_sapiens.GRCh38.84.gtf.gz# 下载拟南芥基因组(120M,压缩包35M)  比较小 推荐 http://plants.ensembl.org/info/data/ftp/index.htmlwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gzwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/gtf/arabidopsis_thaliana/Arabidopsis_thaliana.TAIR10.49.gtf.gz# 下载fastq文件 用于测试wget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_1.fq.gzwget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_2.fq.gz# 下载fa文件,宏基因组中prodigal预测结果wget -c http://210.75.224.110/github/Note/Linux/data/gene.fa7

pair 拼接两个fastq文件

留下匹配的,去除不匹配的,这里我们使用扩增子的双端序列做一个演示:

注意:双端序列在两个文件中的顺序最好是一样的,否则会消耗大量内存去匹配。

# 创建练习目录并进入mkdir -p seqkitcd seqkit# miRBase的RNA序列1.5M/785K/110Kwget -c ftp://mirbase.org/pub/mirbase/CURRENT/hairpin.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/mature.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/miRNA.diff.gz# 下载人类基因组3G(压缩包840 MB)和基因注释gtf(44M) (可选)# wget -c ftp://ftp.ensembl.org/pub/release-84/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz# wget -c ftp://ftp.ensembl.org/pub/release-84/gtf/homo_sapiens/Homo_sapiens.GRCh38.84.gtf.gz# 下载拟南芥基因组(120M,压缩包35M)  比较小 推荐 http://plants.ensembl.org/info/data/ftp/index.htmlwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gzwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/gtf/arabidopsis_thaliana/Arabidopsis_thaliana.TAIR10.49.gtf.gz# 下载fastq文件 用于测试wget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_1.fq.gzwget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_2.fq.gz# 下载fa文件,宏基因组中prodigal预测结果wget -c http://210.75.224.110/github/Note/Linux/data/gene.fa8

sample 按数量或比例对序列进行抽样。

按照百分比例和序列数量进行抽样

# 创建练习目录并进入mkdir -p seqkitcd seqkit# miRBase的RNA序列1.5M/785K/110Kwget -c ftp://mirbase.org/pub/mirbase/CURRENT/hairpin.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/mature.fa.gzwget -c ftp://mirbase.org/pub/mirbase/CURRENT/miRNA.diff.gz# 下载人类基因组3G(压缩包840 MB)和基因注释gtf(44M) (可选)# wget -c ftp://ftp.ensembl.org/pub/release-84/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz# wget -c ftp://ftp.ensembl.org/pub/release-84/gtf/homo_sapiens/Homo_sapiens.GRCh38.84.gtf.gz# 下载拟南芥基因组(120M,压缩包35M)  比较小 推荐 http://plants.ensembl.org/info/data/ftp/index.htmlwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gzwget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-49/gtf/arabidopsis_thaliana/Arabidopsis_thaliana.TAIR10.49.gtf.gz# 下载fastq文件 用于测试wget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_1.fq.gzwget -c http://210.75.224.110/temp/meta/meta2010/seq/C1_2.fq.gz# 下载fa文件,宏基因组中prodigal预测结果wget -c http://210.75.224.110/github/Note/Linux/data/gene.fa9

注意:1000条并不是很准确,可能是900多条,为什么呢?看这里了解问题。https://bioinf.shenwei.me/seqkit/note/#effect-of-random-seed-on-results-of-seqkit-sample

这里为大家展示一下减少内存的序列抽样方法

zcat Arabidopsis_thaliana.TAIR10.49.gtf.gz|awk '{ if ($0 ~ "transcript_id") print $0; else print $0" transcript_id \"\";"; }' | gtf2bed --do-not-sort | gzip -c > Arabidopsis_thaliana.TAIR10.49.bed.gz0

range 打印序列 按照一个范围

zcat Arabidopsis_thaliana.TAIR10.49.gtf.gz|awk '{ if ($0 ~ "transcript_id") print $0; else print $0" transcript_id \"\";"; }' | gtf2bed --do-not-sort | gzip -c > Arabidopsis_thaliana.TAIR10.49.bed.gz1

repeat 使用正则表达式替换名称/序列。

# 修改序列名称:删除空格后内存echo -e ">seq1 abc-123\nACGT-ACGT" \| seqkit replace -p "\s.+"# 修改序列名:替换echo -e ">seq1 abc-123\nACGT-ACGT" \| seqkit replace -p "\-" -r '='# 修改序列:去除序列间隔echo -e ">seq1 abc-123\nACGT-ACGT" \| seqkit replace -p " |-" -s# 修改序列:给每一个碱基加上空格echo -e ">seq1 abc-123\nACGT-ACGT" \| seqkit replace -p "(.)" -r '$1 ' -s# 使用字符加数据重命名序列-用于扩增子代表序列改名非常优

发表评论

备案号:陕ICP备2022006270号-2 网站地图强力收录 威武短视频