一个快速的FASTQ过滤器程序。
项目描述
fastq-filter
一个快速的FASTQ过滤器程序。
Fastq-filter在计算平均值时正确地考虑了质量得分是日志得分。它还提供了一个选项,可以直接根据平均错误率进行过滤。
FASTQ Q=30表示平均错误率为0.001,Q=20为0.01,Q=10为0.1。这并不直观。尽管Q=20的错误率比Q=30高10倍,但数字(20和30)对传达这种差异作用甚微。使用0.01和0.001可以正确传达这些错误率相差一个数量级。这也意味着不能简单地平均phred得分。Q=10和Q=30不会平均Q=20。实际的平均错误率为(0.001 + 0.1)/ 2 = 0.0505。大约每20个中有一个。Q=20表示0.01:每100个中有一个。简单平均会导致质量被高估5倍!这意味着任何简单平均的工具在实际情况中都是不可用的。
不幸的是,许多工具都是这样做的。fastq-filter被编写为提供一个非常快速的过滤解决方案,以便以非常低的成本应用正确的过滤。
安装
使用pip: pip install fastq-filter
对于最新开发版本: pip install git+https://github.com/LUMC/fastq-filter
使用conda conda install -c conda-forge -c bioconda fastq-filter
用法
单个fastq文件可以通过以下方式进行过滤:
fastq-filter -e 0.001 -o output.fastq input.fastq
多个fastq文件可以通过以下方式进行过滤:
fastq-filter -e 0.001 -o r1_filtered.fastq.gz -o r2_filtered.fastq.gz r1.fastq.gz r2.fastq.gz
Fastq-filter确保输出保持同步。它不仅限于两个输入,因此也可以一起过滤R1.fq、R2.fq和R3.fq。
在下文中,“对”用于指出当评估2个或更多FASTQ记录时。当提供多个FASTQ文件时,过滤器的行为如下
平均错误率:使用组合phred分数的平均值。
中值质量:使用组合phred分数的中值。
最小长度:对中的记录之一必须满足最小长度。
最大长度:对中的记录不得超过最大长度。
长度过滤器的理由是R1和R2都序列相同的分子,而标准长度是两者的最长者。
usage: fastq-filter [-h] [-o OUTPUT] [-l MIN_LENGTH] [-L MAX_LENGTH]
[-e AVERAGE_ERROR_RATE] [-q MEAN_QUALITY]
[-Q MEDIAN_QUALITY] [-c COMPRESSION_LEVEL] [--verbose]
[--quiet]
input [input ...]
Filter FASTQ files on various metrics.
positional arguments:
input Input FASTQ files. Compression format automatically
detected. Use - for stdin.
optional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
Output FASTQ files. Compression format automatically
determined by file extension. Flag can be used
multiple times. An output must be given for each
input. Default: stdout.
-l MIN_LENGTH, --min-length MIN_LENGTH
The minimum length for a read.
-L MAX_LENGTH, --max-length MAX_LENGTH
The maximum length for a read.
-e AVERAGE_ERROR_RATE, --average-error-rate AVERAGE_ERROR_RATE
The minimum average per base error rate.
-q MEAN_QUALITY, --mean-quality MEAN_QUALITY
Average quality. Same as the '--average-error-rate'
option but specified with a phred score. I.e '-q 30'
is equivalent to '-e 0.001'.
-Q MEDIAN_QUALITY, --median-quality MEDIAN_QUALITY
The minimum median phred score.
-c COMPRESSION_LEVEL, --compression-level COMPRESSION_LEVEL
Compression level for the output files. Relevant when
output files have a .gz extension. Default: 2
--verbose Report stats on individual filters.
--quiet Turn of logging output.
优化
fastq-filter使用了以下优化以实现快速:
可以同时应用多个过滤器以最小化IO。
fastq-filter可以用于管道中以最小化IO
使用了Python过滤器函数。这是一个简写的Python代码,否则需要解释。
平均质量和中值质量算法是用C实现的,并具有与Python的绑定。
平均质量算法使用查找表,因为FASTQ中只有93种可能的phred分数编码。这节省了大量计算概率的计算。
中值质量算法实现了一个计数排序,这非常快,但不适用于通用数据。由于FASTQ质量非常适合计数排序,因此中值计算可以非常快速地执行。
dnaio被用作FASTQ解析器。该解析器使用Cython编写的解析器来解析FASTQ文件。
xopen用于读取和写入文件。这允许支持gzip压缩文件,使用python-isal打开,它读取gzip文件的速度是python gzip模块实现的2倍,写入gzip文件的速度是5倍。
项目详情
fastq-filter-0.3.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8f28ea8124871b7c2cba2b558b7b64abdcbd4b0fdb7197a82056f7e6202b3e4b |
|
MD5 | 987073c3b1814850a47dc662d75bfb8c |
|
BLAKE2b-256 | bd4d8f904f83fd497f1d801f6e83141f83b1a64f06c5daf73286d53622317ac4 |
fastq_filter-0.3.0-cp310-cp310-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 980700422c14194078c901c917db11aac5ff4c93ef560c5141269d1c32f08630 |
|
MD5 | 46fac65c8219e3bd0cf73cf4b5439593 |
|
BLAKE2b-256 | baadab04177901030fb76c52bad61a7940936a9408ab362fed076844dcf4e8b5 |
fastq_filter-0.3.0-cp310-cp310-musllinux_1_1_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f3bbd79eedcf1fed26ee97cb9c5f5f28b42ad0aa99e04dce58969789f8f5c5fc |
|
MD5 | 515b3a211d911f238286a6bf42b51ac1 |
|
BLAKE2b-256 | 75e9aac66c7b21a28aa77a7dc50a5a2acad0f3e3cac47e824442514b06e0f8c4 |
fastq_filter-0.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 93657f271b4ee8d4ed25502f1101e74165480a1efb73efa629d023e9dc40c0fd |
|
MD5 | c2c0546555fe150c9316c5f61f6858a3 |
|
BLAKE2b-256 | 5e4da348e07362908fd7d1c3a2b60c88e1a68a5cef3d24ed4927654156e1aa73 |
fastq_filter-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5e86320ea37d2a0ca304a87a41642850005fb3507016d68fb1e51d31e8d92f75 |
|
MD5 | 1f17dea3e71d76e02bf885af945ddcdd |
|
BLAKE2b-256 | b14b731a173ac732dc3119160de601483c2c68cc20836a121b43b356a213702a |
fastq_filter-0.3.0-cp39-cp39-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1116415621a7887db84edf272e10e1c356a6f91dbcbee48bc76fc89bec2ac831 |
|
MD5 | 638205973edd0e5cdec560f0f3b8fa66 |
|
BLAKE2b-256 | f1d30075e5aed5da0b82fc99bbb5ed3f02cd607bbd51968dc2951c801801c1b0 |
哈希值 用于 fastq_filter-0.3.0-cp39-cp39-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 234d417016fc837c5a78019f311a2eea7e19d30106a4bf3391603249b5d60684 |
|
MD5 | 442787fc6ef85af9c4ef1c79dbfc040b |
|
BLAKE2b-256 | ecd9c1b357a33ac28376d0d42616c03d543e9e559e879e595d770567320cf595 |
哈希值 用于 fastq_filter-0.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9503cdf64706eca204b65210ac3c93de1780f9a83263868aff95d4cf106afe7a |
|
MD5 | 1b0c77482750a171c8886b2354dba96f |
|
BLAKE2b-256 | dc9bdf47e94f90a78d5fdbbb4e5af5e9a373e54fece13c87c9633ae7e90a041d |
哈希值 用于 fastq_filter-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c7bdf9951c0f1613abf1b289ffc854895bdf4662f3c86de3710309d2f72761d5 |
|
MD5 | ed6d14ee0a18129882374136e366c473 |
|
BLAKE2b-256 | 2bbf231d278979694ac5b5a399c1829fe4344d3ad255eac02fa4654cc52a41af |
哈希值 用于 fastq_filter-0.3.0-cp38-cp38-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 734624c16127fe79e868b075bfe57165f74027b74178fe3f44dc70a0241b520f |
|
MD5 | d18564e11327c85c88d14b8ddcabae55 |
|
BLAKE2b-256 | 7c407e5cb82f4e8118a1ed0d467e7a567b69919dc810fbd6d67c2abda3fa62bb |
哈希值 用于 fastq_filter-0.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 94fc096b7afcbdd3fb593f42920d1bdf9a1d68fa0b5a9bd0468f61c1b292d0e8 |
|
MD5 | 7f3eddc3c7d2ec7216503a6b9e38828c |
|
BLAKE2b-256 | 96ec4ea0775c920e9c0e5981b16965ac860b885734c284735012e496b7ae71a1 |
哈希值 用于 fastq_filter-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 96210e6f720a90cf5c34e84fe635adb30ebc9e051a667f36876b51da78cf6424 |
|
MD5 | 34a228033e5f0d24d229121dab87de9a |
|
BLAKE2b-256 | 9f531bbfa4a7cafb704419977b6aad2e1e2c1162bb3c3f9aa89445fea2622f63 |
哈希值 用于 fastq_filter-0.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a321f5cb6edbd71eae27d338ad1d65f43ede9108ded08e65e73ff83dad195aff |
|
MD5 | 814ebb46fbbc04b4714e7a3b2ba4c0cd |
|
BLAKE2b-256 | 3ab5a91a2dd07ea0d1da02fcebca6c0b021de3b6ae485c97c3faa36364610d56 |
哈希值 用于 fastq_filter-0.3.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4ca01efc9435290bd0a998ffef6a681277f3532e3b85afcbb29aa5405a3e5a30 |
|
MD5 | 8ea9470d00292ea6553dda80a98627dd |
|
BLAKE2b-256 | 01e00c2bd96051d5109076c6b1d95ea2b3b43ff3aa28c503652b96710d28f739 |
哈希值 用于 fastq_filter-0.3.0-cp37-cp37m-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8e718c3046d6ddcf24ed4d64d3f7c54c4c371db2a49ed31c3fbbdd893ee82aff |
|
MD5 | bc502807d1c18e3b43a695f232d597c7 |
|
BLAKE2b-256 | a094db95e30384508112d9ba90ffb393a104aa54d9a30d4428ccd614045f7c55 |