【小工具】按比例截取fastq數(shù)據(jù)量

生信需求:

你有fastq文件,想按照5%,10%,20%,40%,60%,80%,截取fastq的數(shù)據(jù)量,或按照固定一個自定義比例截取數(shù)據(jù)量。

特點與功能:

1,隨機截取,不是按照原始fastq中的順序截取。
2,支持PE,和SE reads,
3,僅支持fastq格式。
4,默認按固定比例。(5%,10%,20%,40%,60%,80%)。
5,支持指定比例。比如只想截取45%,則使用-s 45參數(shù)既可
6,支持壓縮或非壓縮文件,自動識別(.fq或.fq.gz)

缺點:

1,隨機截取時,會產(chǎn)生大list,導(dǎo)致內(nèi)存偏高,耗時。

更新:
2019-06-25: 更新了算法,速度提升,
2019-06-25:新增識別壓縮與非壓縮文件功能

待更新:update to 2019-06-16

1,增加參數(shù)使能夠不隨機截取,按照原始fastq順序截取,縮短程序運行時間。
2,優(yōu)化算法,降低內(nèi)存消耗。

用法:

usage: downsampling.py [-h] [-r1 READ1] [-r2 READ2] [-p PREFIX]

This is description

optional arguments:
  -h, --help            show this help message and exit
  -r1 READ1, --rd1 READ1
                        input read1 file
  -r2 READ2, --rd2 READ2
                        input read2 file
  -p PREFIX, --prefix PREFIX
                        prefix

舉例 -p為輸出文件的前綴。

python downsampling.py -r1  16E1L1_R1.fastq.gz -r2 16E1L1_R2.fastq.gz  -p 16E1L1

得到如下結(jié)果,輸出結(jié)果的命名為:前綴+ 固定的后綴(xxpct_Rx.fq.gz)。


image.png

案例2:
按照指定的比例,截取fastq,只想截取45%的數(shù)據(jù)。

python downsampling.py -r1 16E1L1_R1.fastq.gz -r2 16E1L1_R2.fastq.gz  -p 16E1L1 -s 45

則只會輸出16E1L1_45pct_R1.fq.gz 和16E1L1_45pct_R2.fq.gz 兩個文件。

案例3:
我的數(shù)據(jù)只有一個fastq,不是PE數(shù)據(jù):

python downsampling.py -r1 16E1L1_R1.fastq.gz  -p 16E1L1 -s 45

則只會輸出16E1L1_45pct_R1.fq.gz 一個文件。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容