前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FASTX-Toolkit — 短序列预处理工具包

FASTX-Toolkit — 短序列预处理工具包

作者头像
生信菜鸟团
发布2024-03-06 14:47:04
7870
发布2024-03-06 14:47:04
举报
文章被收录于专栏:生信菜鸟团

工欲善其事必先利其器

1FASTX-Toolkit

FASTX-Toolkit 最初是由 Hannon Lab 开发的一个为处理高通量测序数据(尤其是从 Illumina 测序平台获得的数据)设计的软件包。这个工具包包含了一系列命令行工具,用于对 FASTA 和 FASTQ 文件进行预处理操作,如质量控制、数据过滤、数据转换等。其特性包括:

  1. 多功能性:包含多个工具,支持从基本的格式转换到复杂的数据分析和质量控制任务。
  2. 用户友好:虽然是命令行工具,但它们设计得直观易用,方便生物信息学家和其他研究人员使用。
  3. 灵活性:支持多种操作,如序列筛选、适配体剪切、质量分数转换和序列统计等,用户可以根据具体需求灵活选择工具。
  4. 数据质量控制:提供质量评估工具,如质量分数箱形图和核苷酸分布图,帮助用户评估测序数据的质量,从而做出合理的数据过滤决策。
  5. 易于集成:作为命令行工具,FASTX-Toolkit 可以容易地集成到自动化的数据分析流程中,提高工作效率。

2官网

官网:http://hannonlab.cshl.edu/fastx_toolkit github: https://github.com/agordon/fastx_toolkit

仅仅是一些小工具集,官网未见有发表专门的文章

3如何安装

conda 安装

省事省力,推荐这个方式

代码语言:javascript
复制
conda create -n miRNA
conda activate miRNA
conda install fastx-toolkit

预编译安装

由于软件很早,也不再维护了,预编译版本安装的时候有一个小报错,需要补丁修改一下

代码语言:javascript
复制
wget -c https://github.com/agordon/fastx_toolkit/releases/download/0.0.14/fastx_toolkit-0.0.14.tar.bz2
tar -xf fastx_toolkit-0.0.14.tar.bz2 
cd fastx_toolkit-0.0.14/
./configure --prefix=/home/yjzhang/software/fastx_toolkit
make
make install

## make编译的时候遇到报错 fasta_formatter.cpp:105:9: error: this statement may fall through [-Werror=implicit-fallthrough=],
## 此时需要下载一个补丁文件,打补丁后再重新编译即可成功
wget -c https://github.com/agordon/fastx_toolkit/files/1182724/fastx-toolkit-gcc7-patch.txt
## 打补丁
patch -p1 < fastx-toolkit-gcc7-patch.txt

编译报错

4简要用途

子命令

5最小化使用

通用参数

代码语言:javascript
复制
-i #指定输入
-o #指定输出
-v #输出简短的摘要
-z #使用GZIP压缩输出

文件转换,fastq转为 fasta

代码语言:javascript
复制
## 基本用法
fastq_to_fasta -i sample.fastq -o sample.fasta

## 保留那些含有未知(N)核苷酸的序列
fastq_to_fasta -n -i sample.fastq -o sample.fasta

## 重命名序列标识符,将序列标识符重命名为数字,以简化标识符或为了其他分析目的
fastq_to_fasta -r -i sample.fastq -o sample.fasta

序列质量统计

代码语言:javascript
复制
## 基本用法(输出旧的格式)
fastx_quality_stats -i example.fastq -o quality_stats.txt

## 使用新的输出格式
fastx_quality_stats -N -i example.fastq -o quality_stats_new.txt

旧格式

  • column:列号(对应fastq文件的每个read)
  • count:在此列中发现的碱基数量
  • min:此列中发现的最低质量分数值
  • max:此列中发现的最高质量分数值
  • sum:此列的质量分数值之和
  • mean:此列的平均质量分数值
  • Q1:第一四分位质量分数
  • med:中位数质量分数
  • Q3:第三四分位质量分数
  • IQR:四分位间距(Q3-Q1)
  • lW:左侧须值(用于箱形图)
  • rW:右侧须值(用于箱形图)
  • A_CountC_CountG_CountT_CountN_Count:此列中A、C、G、T、N碱基的计数
  • max-count:碱基数量的最大值

新输出格式以循环(之前称为column)为单位展示,为每个循环中的每个核苷酸提供 count 、min 、max、 sum、 mean、 Q1、 med 、Q3、 IQR、 lW 、 rW统计信息

Solexa质量分数箱形图

代码语言:javascript
复制
fastq_quality_boxplot_graph.sh -i ./test-data/quality_stats.txt -t "Sample_01 Quality Boxplot" -o quality_boxplot.png

-p #生成PostScript (.PS) 文件。默认情况下,输出是PNG图像
-t #标题,将被绘制在图形上。用户可以为图表添加自定义标题,以便于识别和展示 

quality_boxplot

核苷酸分布图

代码语言:javascript
复制
fastx_nucleotide_distribution_graph.sh -i ./test-data/quality_stats.txt -t "Sample_01 Nucleotide Distribution" -o quality_Nucleotide.png

quality_Nucleotide

fastx_clipper

代码语言:javascript
复制
## 剪切掉一个特定的适配体序列`AGATCGGAAG`,并且只保留包含该适配体的序列,输出到`clipped_sample.fastq`

fastx_clipper -a AGATCGGAAG -c -i sample.fastq -o clipped_sample.fastq

-a ADAPTER # 指定适配体序列。默认值是CCTTAAGG(一个虚拟的适配体) 
-l N #丢弃短于N个核苷酸的序列。默认值为5
-d N #保留适配体和它之后的N个碱基。使用`-d 0`与不使用`-d`是相同的,这是默认行为。
-c #丢弃未剪切的序列(即,只保留包含适配体的序列)。 
-C #丢弃已剪切的序列(即,只保留未包含适配体的序列)。 
-k #报告仅包含适配体的序列。  
-n #保留含有未知(N)核苷酸的序列。默认是丢弃这些序列。 
-M #要求适配体对齐的最小长度为N。如果与适配体对齐的碱基少于N个,不进行剪切。

裁剪序列

代码语言:javascript
复制
## 保留从第5个碱基到第15个碱基之间的部分
fastx_trimmer -f 5 -l 15 -i example.fastq -o trimmed_example.fastq

#每个序列末端裁剪掉3个碱基,并且只保留长度不小于10的序列,同时输出为GZIP压缩文件
fastx_trimmer -t 3 -m 10 -z -i example.fastq -o trimmed_example.fastq.gz

-f N #保留的第一个碱基的位置。默认值为1(即序列的第一个碱基)。指定一个起始点,从而裁剪掉序列前端不需要的部分
-l N #保留的最后一个碱基的位置。默认情况下,保留整个读取序列。指定一个结束点,从而裁剪掉序列后端不需要的部分。
-t N #从读取的末端裁剪N个碱基。`-t`选项不能与`-l`和`-f`同时使用。
-m MINLEN # 与`-t`一起使用时,丢弃长度小于`MINLEN`的读取。

过滤低质量序列

代码语言:javascript
复制
# 过滤掉那些质量分数低于20的序列,同时要求至少90%的碱基满足这一质量标准
fastq_quality_filter -q 20 -p 90 -i example.fastq -o high_quality_example.fastq

-q #保留的最小质量分数。序列中的碱基必须达到或超过这个质量分数才会被保留。
-p #必须具有`[-q]`指定的最小质量分数的碱基的最小百分比。这意味着,只有当至少`N%`的碱基具有足够高的质量时,序列才会被保留。

格式化输出

代码语言:javascript
复制
# 使每个序列的所有核苷酸都显示在一行上:
fasta_formatter -w 0 -i example.fasta -o formatted_example.fasta
# 序列行宽设置为每行 7 个核苷酸:
fasta_formatter -w 7 -i example.fasta -o formatted_example.fasta

-w N #设置输出 FASTA 文件的最大序列行宽。当设置为零(默认值)时,序列行不会被换行,每个序列的所有核苷酸将显示在一行上(适合脚本处理)。
-t #输出制表符分隔的格式(而非 FASTA 格式)。序列标识符将出现在第一列,核苷酸将以单行形式出现在第二列。    
-e #输出空序列(默认是丢弃它们)。空序列是指那些只有序列标识符而没有实际核苷酸的序列。

转换核苷酸

代码语言:javascript
复制
# 所有 T 转换为 U
fasta_nucleotide_changer -r -i dna_sequences.fasta -o rna_sequences.fasta

#所有 U 转换回 T
fasta_nucleotide_changer -d -i rna_sequences.f
asta -o dna_sequences_converted.fasta

-r #DNA 到 RNA 模式 - 将 T 转换为 U。
-d #RNA 到 DNA 模式 - 将 U 转换为 T。

转换

更多用法见:http://hannonlab.cshl.edu/fastx_toolkit/commandline.html


参考:

  • https://github.com/agordon/fastx_toolkit/issues/14
  • http://hannonlab.cshl.edu/fastx_toolkit/commandline.html
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信菜鸟团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1FASTX-Toolkit
  • 2官网
  • 3如何安装
    • conda 安装
      • 预编译安装
      • 4简要用途
      • 5最小化使用
        • 通用参数
          • 文件转换,fastq转为 fasta
            • 序列质量统计
              • Solexa质量分数箱形图
                • 核苷酸分布图
                  • fastx_clipper
                    • 裁剪序列
                      • 过滤低质量序列
                        • 格式化输出
                          • 转换核苷酸
                          相关产品与服务
                          命令行工具
                          腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档