fastp -- 结果文件

以A01样本为例:

1_rawdata/A01_R1.fq.gz 1_rawdata/A01_R2.fq.gz

经过cutadapt后得到
tempR1 = 'A01_cut_R1.fq' tempR2 = 'A01_cut_R2.fq'

# fastp 
# 输入文件: tempR1 = '1_rawdata/A01_cut_R1.fq' tempR2 = '1_rawdata/A01_cut_R2.fq'
# 输出文件: out = '2_cleandata/A01*'

fastp = """
/software/fastp/fastp-master/fastp -i {1} -I {2} \
-o {3}_clean_R1.fq -O {3}_clean_R2.fq \
-l 50 -g -W 5 \
-A -w 8 -5 \
-j {3}_fastp.json -h {3}_fastp.html -s 10
"""
tempR1 = 'A01_cut_R1.fq' 
tempR2 = 'A01_cut_R2.fq'
out = '2_cleandata/A01'
comm2 = fastp.format(0, tempR1, tempR2, out)

# '/software/fastp/fastp-master/fastp \
# -i 1_rawdata/A01_cut_R1.fq \
# -I 1_rawdata/A01_cut_R2.fq \
# -o 2_cleandata/A01_clean_R1.fq \
# -O #2_cleandata/A01_clean_R2.fq \
# -l 50 -g -W 5 -A -w 8 -5 \
# -j 2_cleandata/A01_fastp.json -h 2_cleandata/A01_fastp.html \
# -s 10'
popen(comm2).read()
  • fastp 执行结果
>>> popen(comm2).read()
Read1 before filtering:
total reads: 109205
total bases: 16271850
Q20 bases: 15778246(96.9665%)
Q30 bases: 15067666(92.5996%)

Read2 before filtering:
total reads: 109205
total bases: 16271850
Q20 bases: 15607406(95.9166%)
Q30 bases: 14743647(90.6083%)

Read1 after filtering:
total reads: 105506
total bases: 15715013
Q20 bases: 15353976(97.7026%)
Q30 bases: 14692223(93.4916%)

Read2 aftering filtering:
total reads: 105506
total bases: 15712636
Q20 bases: 15278227(97.2353%)
Q30 bases: 14483473(92.1772%)

Filtering result:
reads passed filter: 211012
reads failed due to low quality: 7120
reads failed due to too many N: 32
reads failed due to too short: 246

Duplication rate: 0.669288%

Insert size peak (evaluated by paired-end reads): 267

JSON report: 2_cleandata/A01_fastp.json
HTML report: 2_cleandata/A01_fastp.html

/software/fastp/fastp-master/fastp -i 1_rawdata/A01_cut_R1.fq -I 1_rawdata/A01_cut_R2.fq -o 2_cleandata/A01_clean_R1.fq -O 2_cleandata/A01_clean_R2.fq -l 50 -g -W 5 -A -w 8 -5 -j 2_cleandata/A01_fastp.json -h 2_cleandata/A01_fastp.html -s 10 
fastp v0.20.0, time used: 2 seconds
  • 结果文件
    由于在命令中有一个参数-s/--split 10,所以会得到split成10份后的处理结果。
[Mb18@login TESTA01]$ ll -t 2_cleandata/
total 76072
-rw-r--r-- 1 Mb18 mb 3888374 May 12 14:54 0001.A01_clean_R1.fq
-rw-r--r-- 1 Mb18 mb 3887372 May 12 14:54 0001.A01_clean_R2.fq
-rw-r--r-- 1 Mb18 mb 3898490 May 12 14:54 0002.A01_clean_R1.fq
-rw-r--r-- 1 Mb18 mb 3898254 May 12 14:54 0002.A01_clean_R2.fq
-rw-r--r-- 1 Mb18 mb 3882417 May 12 14:54 0003.A01_clean_R1.fq
-rw-r--r-- 1 Mb18 mb 3881973 May 12 14:54 0003.A01_clean_R2.fq
-rw-r--r-- 1 Mb18 mb 3898367 May 12 14:54 0004.A01_clean_R1.fq
-rw-r--r-- 1 Mb18 mb 3897963 May 12 14:54 0004.A01_clean_R2.fq
-rw-r--r-- 1 Mb18 mb 3891595 May 12 14:54 0005.A01_clean_R1.fq
-rw-r--r-- 1 Mb18 mb 3891717 May 12 14:54 0005.A01_clean_R2.fq
-rw-r--r-- 1 Mb18 mb 3896737 May 12 14:54 0006.A01_clean_R1.fq
-rw-r--r-- 1 Mb18 mb 3896309 May 12 14:54 0006.A01_clean_R2.fq
-rw-r--r-- 1 Mb18 mb 3900485 May 12 14:54 0007.A01_clean_R1.fq
-rw-r--r-- 1 Mb18 mb 3899737 May 12 14:54 0007.A01_clean_R2.fq
-rw-r--r-- 1 Mb18 mb 3893412 May 12 14:54 0008.A01_clean_R1.fq
-rw-r--r-- 1 Mb18 mb 3892842 May 12 14:54 0008.A01_clean_R2.fq
-rw-r--r-- 1 Mb18 mb 1767806 May 12 14:54 0009.A01_clean_R1.fq
-rw-r--r-- 1 Mb18 mb 1767612 May 12 14:54 0009.A01_clean_R2.fq
-rw-r--r-- 1 Mb18 mb 5736744 May 12 14:54 0010.A01_clean_R1.fq
-rw-r--r-- 1 Mb18 mb 5735894 May 12 14:54 0010.A01_clean_R2.fq
-rw-r--r-- 1 Mb18 mb  474717 May 12 14:54 A01_fastp.html
-rw-r--r-- 1 Mb18 mb  125054 May 12 14:54 A01_fastp.json

  • A01_fastp.json
{
    "summary": {
        "before_filtering": {
            "total_reads":218410,
            "total_bases":32543700,
            "q20_bases":31385652,
            "q30_bases":29811313,
            "q20_rate":0.964416,
            "q30_rate":0.916039,
            "read1_mean_length":149,
            "read2_mean_length":149,
            "gc_content":0.499539
        },
        "after_filtering": {
            "total_reads":211012,
            "total_bases":31427649,
            "q20_bases":30632203,
            "q30_bases":29175696,
            "q20_rate":0.97469,
            "q30_rate":0.928345,
            "read1_mean_length":148,
            "read2_mean_length":148,
            "gc_content":0.496156
        }
    },
    "filtering_result": {
...
    },
    "duplication": {
...
    },
    "insert_size": {
...
    },
    "read1_before_filtering": {
...
    },
    "read1_after_filtering": {
...
    },
...
  • fastp.report.html


    A01_fastp.html
before filtering
after filtering
  • 对结果进行处理
f = open("2_cleandata/A01_fastp.json").read()
ss = eval(f)

hq_r = ss["summary"]["after_filtering"]["total_reads"]
hq_b = ss["summary"]["after_filtering"]["total_bases"]

with open("2_cleandata/A01_summary2.xls", "w") as out2:
    out2.write("SampleID\tLib\tHQ Reads(%)\tHQ Data(bp)\tHQ Data(%)\n")
    out2.write("%s\tSPE\t%.2f\t%d\t%.2f\n" % ('A01', 1.0*hq_r/summary[0]*100, hq_b, 1.0*hq_b/summary[1]*100))

  • 统计结果
    统计过滤后的reads占比
[login TESTA01]$ less -S 2_cleandata/A01_summary2.xls

SampleID        Lib     HQ Reads(%)     HQ Data(bp)     HQ Data(%)
A01     SPE     96.57   31427649        95.89

  • 最后,将拆开的10个结果合并,用于后续分析
cat 2_cleandata/[0-9][0-9][0-9][0-9].${sample}_clean_R1.fq > 2_cleandata/${sample}_clean_R1.fq &
cat 2_cleandata/[0-9][0-9][0-9][0-9].${sample}_clean_R2.fq > 2_cleandata/${sample}_clean_R2.fq &
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,717评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,501评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,311评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,417评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,500评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,538评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,557评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,310评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,759评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,065评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,233评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,909评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,548评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,172评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,420评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,103评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,098评论 2 352

推荐阅读更多精彩内容