生信工具 | 测序数据质控与过滤 - fqtrim_对fasta和fastq数据清洗-程序员宅基地

技术标签: r语言  

fqtrim

trimming&filtering of next-gen reads

fqtrim 是一个多功能的独立实用程序,可用于去除高通量测序仪产出的测序数据接头,poly-A 尾,末端未知碱基(Ns)和低质量 3’ 区域。该程序允许接头序列和 poly-A 序列的不精确匹配(从而考虑到由测序错误导致的错配和插入/缺失)。此工具还可以对 reads 应用低复杂性(“dust”)过滤器,或计数并折叠重复 reads,这对于 micro-RNA 分析流程特别有用。

fqtrim 主要用作二代测序分析流程中 FASTQ 文件的预处理或过滤步骤。

扫码关注微信公众号【生信F3】获取更多生物信息学最新知识。

ShengXinF3_QRcode

下载安装

https://ccb.jhu.edu/software/fqtrim/

下载日期: 23/09/21

文件名: fqtrim-0.9.7.Linux_x86_64.tar.gz

版本: 0.9.7

类型: 预编译二进制文件

是否需要 root 权限:

下载链接: http://ccb.jhu.edu/software/fqtrim/dl/fqtrim-0.9.7.Linux_x86_64.tar.gz

安装方式:

tar -zxvf fqtrim-0.9.7.Linux_x86_64.tar.gz
mv fqtrim-0.9.7.Linux_x86_64 fqtrim/
# help message
/app/fqtrim/fqtrim

用法

该程序可接收 FASTA 或 FASTQ 格式的序列数据作为输入(压缩或以 stdin 流的形式),并能以统一的方式处理 双端测序读段(即不分隔成对读段,并生成两个不同的成对读段输出文件,可选择压缩)。基本使用模板如下:

$ fqtrim [<options>] <input_file(s)>..

用法示例

清理 pair-end reads 序列中带有 N 的低质量碱基,允许修剪后读段的最小长度为 25 个碱基,并保持读段的配对关系:

$ fqtrim -A -l 25 -o trimmed.fq.gz exome_reads_1.fastq.gz,exome_reads_2.fastq.gz

请注意,对于非转录组读段,建议使用 -A 选项。在本例中,fqtrim 的输出将写入两个后缀为 ".trimmed.fq.gz " 的压缩文件中。

使用 fqtrim 过滤 FASTQ 文件

推荐使用的过滤参数如下:

$ ./fqtrim -A -P 33 -w 10 -q 20 -l 100 -m 5 -p 1 -V \
	-o fastq.gz A1_R1.fastq.gz,A1_R2.fastq.gz

使用 fqtrim 转换 FASTQ 文件的质量值

fqtrim 还可用于转换 FASTQ 文件的碱基质量值体系(Phred64/Phred33)

$ ./fqtrim -Q S1_R1.fastq > new.S1_R1.fastq

查看软件参数说明:

$ ./fqtrim
fqtrim v0.9.7. Usage:
fqtrim [{
    -5 <5adapter> -3 <3adapter>|-f <adapters_file>}] [-a <min_match>]\
   [-R] [-q <minq> [-t <trim_max_len>]] [-p <numcpus>] [-P {
    64|33}] \
   [-m <max_percN>] [--ntrimdist=<max_Ntrim_dist>] [-l <minlen>] [-C]\
   [-o <outsuffix> [--outdir <outdir>]] [-D][-Q][-O] [-n <rename_prefix>]\
   [-r <trim_report.txt>] [-y <min_poly>] [-A|-B] <input.fq>[,<input_mates.fq>\
 
 Trim low quality bases at the 3' end and can trim adapter sequence(s), filter
 for low complexity and collapse duplicate reads.
 If read pairs should be trimmed and kept together (i.e. never discarding
 only one read in a pair), the two file names should be given delimited by a comma
 or a colon character.

Options:
-n  rename the reads using the <prefix> followed by a read counter;
    if -C option was also provided, the suffix "_x<N>" is appended
    (where <N> is the read duplication count)
-o  write the trimmed/filtered reads to file(s) named <input>.<outsuffix>
    which will be created in the current (working) directory (unless --outdir
    is used); this suffix should include the file extension; if this extension
    is .gz, .gzip or .bz2 then the output will be compressed accordingly.
    NOTE: if the input file is '-' (stdin) then this is the full name of the
    output file, not just the suffix.
--outdir for -o option, write the output file(s) to <outdir> directory instead
-f  file with adapter sequences to trim, each line having this format:
    [<5_adapter_sequence>][ <3_adapter_sequence>]
-5  trim the given adapter or primer sequence at the 5' end of each read
    (e.g. -5 CGACAGGTTCAGAGTTCTACAGTCCGACGATC)
-3  trim the given adapter sequence at the 3' end of each read
    (e.g. -3 TCGTATGCCGTCTTCTGCTTG)
-A  disable polyA/T trimming (enabled by default)
-B  trim polyA/T at both ends (default: only poly-A at 3' end, poly-T at 5')
-O  output only reads affected by trimming (discard clean reads!)
-y  minimum length of poly-A/T run to remove (6)
-q  trim read ends where the quality value drops below <minq>
-w  for -q, sliding window size for calculating avg. quality (default 6)
-t  for -q, limit maximum trimming at either end to <trim_max_len>
-m  maximum percentage of Ns allowed in a read after trimming (default 5)
-l  minimum read length after trimming (if the remaining sequence is shorter
    than this, the read will be discarded (trashed)(default: 16)
-r  write a "trimming report" file listing the affected reads with a list
    of trimming operations
-s1/-s2:  for paired reads, one of the reads (1 or 2) is not being processed
    (no attempt to trim it) but the pair is discarded if the other read is
    trashed by the trimming process
--aidx option can only be given with -r and -f options and it makes all the 
    vector/adapter trimming operations encoded as a,b,c,.. instead of V,
    corresponding to the order of adapter sequences in the -f file
-T  write the number of bases trimmed at 5' and 3' ends after the read names
    in the FASTA/FASTQ output file(s)
-D  pass reads through a low-complexity (dust) filter and discard any read
    that has over 50% of its length masked as low complexity
--dmask option is the same with -D but fqtrim will actually mask the low 
    complexity regions with Ns in the output sequence
-C  collapse duplicate reads and append a _x<N>count suffix to the read
    name (where <N> is the duplication count)
-p  use <numcpus> CPUs (threads) on the local machine
-P  input is phred64/phred33 (use -P64 or -P33)
-Q  convert quality values to the other Phred qv type
-M  disable read name consistency check for paired reads
-V  show verbose trimming summary
Advanced adapter/primer match options (for -f or -5 , -3 options):
  -a      minimum length of exact suffix-prefix match with adapter sequence that
          can be trimmed at either end of the read (default: 6)
  --pid5  minimum percent identity for adapter match at 5' end (default 96.0)
  --pid3  minimum percent identity for adapter match at 3' end (default 94.0)
  --mism  mismatch penalty for scoring the adapter alignment (default 3)
  --match match reward for scoring the adapter alignment (default 1)
  -R      also look for terminal alignments with the reverse complement
          of the adapter sequence(s)

参数解析

-A

禁用自动修剪读段末端的 polyA/T 片段。注意:默认情况下,fqtrim 会查找并修剪每个读数 3’-end 处的 poly-A 和 5’-end 处的 poly-T,因此在不需要自动修剪 poly-A/T 时(如基因组测序),应使用 -A 选项。

-P 33/64

phred64/phred33 核苷酸质量分数的编码方案。(使用 -P64 或 -P33)

-w winsize

进行 “质量修剪” 时滑动窗口的碱基长度。

-q minqv

该选项激活读段 3’ 端的 “质量修剪”(默认禁用);滑动窗口扫描从 5’ 端到 3’ 端的质量值,当平均质量值低于 minqv 时,修剪读数的 3’ 端。

-l minlen

修剪后的最小读长;如果某个 read 在质量修剪后的长度小于该值,该 read 将被丢弃。默认值:16。

-m maxpercN

修剪后 read 中允许的 N(未知碱基)的最大百分比(默认为 5);

-p numcpus

在本地机器上使用指定个 cpu (线程) 来加快大型数据集的处理速度。

-V

输出修剪后的信息摘要

-o outsuffix

将修剪/过滤后的读段写入名为 input.outsuffix 的文件,该文件将在当前(工作)目录下创建;后缀应包括文件扩展名,如果扩展名为 .gz、.gzip 或 .bz2,则输出文件将相应压缩。注意:如果输入文件为"-"(即从 stdin 流读段),则该选项将提供输出文件的全名,而不仅仅是后缀。

-s1/-s2

在处理成对的读段(paired reads)时,fqtrim工具提供了选项 -s1-s2,允许用户禁用每对中的特定 read(即 R1 或 R2 端)的处理。这意味着,如果其中一个 read(未被禁用的那个)未通过修剪过程,整对读段都将被丢弃。
这一选项特别适用于单细胞测序数据的质控,其中成对读段中的一个 read 仅是条形码读段(barcode read),而这种读段通常不需要进行修剪。在单细胞测序中,经常利用一读段来识别细胞和/或分子的标签,而另一读段则用于实际的基因序列。在这种情况下,只对包含基因序列的读段进行修剪处理,而保留用于标识的条形码读段是有意义的。通过使用 -s1-s2 选项,用户可以确保仅处理对于后续分析有用的读段,同时避免破坏关键的标识信息。

-Q

转换 FASTQ 文件的 Phred 质量值表示;fqtrim 通常自动检测质量值的范围 (Phred-33 或 Phred-64),该选项使输出从一个范围转换到另一个范围。

扫码关注微信公众号【生信F3】获取更多生物信息学最新知识。

ShengXinF3_QRcode

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/long_1998/article/details/134350694

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法