python实现fastq文件GC含量的计算

python实现fastq文件GC含量的计算

fastq格式是生物信息分析中最常见的格式之一
通常我们可以将测序的数据分为双端测序和单端测序双端测序的数据含有两个fastq格式的文件,单端测序的数据只有一个fastq格式的文件

  • 第一行是用来区分不同reads的一个ID号,一般以@符号开头,这一行是用来区分不同的reads,而这一行本身包含了很多的信息。
    Read Record Header
    Flow Cell ID
    Lane
    Tile
    Tile Coordinates
    Barcode

  • 第二行是测序的序列,也就是reads的序列

  • 第三行一般是一个+号,或者与第一行的信息相同

  • 第四行是碱基质量值,是对第二行序列的碱基的准确性的描述,一个碱基会对应一个碱基质量值,所以这一行和第二行长度是一样的,如果不一样就说明数据有问题。

  • fastq文件

@HWI-D00621:692:HW52WBCX2:1:1101:5079:2466 1:N:0:AAGTATCGTAAGACAC
ACTCCTACGGGAGGCAGCAGTAGGGAATTTTGGGCAATGGGCGAAAGCCTGACCCAGCAACGCCGCGTGTGTGATGAAGCCCCTAGGGGTGTAAAACACTGTCAGTAGGGAAGAACAAATGACTGTACCTACAGAGGAAGCACCGGCTAACTCCGTGCCAGCAGCCGCGGTAATACGGAGGGTGCAAGCGTTATCCGGAATCATTGGGCGTAAAGAGTTCGTAGGCGGTATATCAAGTCTGGTGTTAAAT
+
DDDDDIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIHIIGHHIIHIIIIIIGIEHIIHIIIIIIIIGHHHIIIIHFHIIGIIIFHIIEHEHHFHIIHIIIIIIEEHHHFHIIIHHIHIIIIIIIHH=GHIII=E?FHHGHIIIHDH=BFHIHICHHHHHIIIHHH?FHGHIFHEGFGHHIIH@H

GC含量的意义:
GC含量是在所研究的对象(例如放线菌)的全基因组中,(鸟嘌呤)(Guanine)和胞嘧啶(Cytosine)所占的比例。一种生物的基因組或特定DNA、RNA片段有特定的GC含量。

计算下面的fq文件的gc含量:

fastq文件 : Bacterial_F1_1.fq

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:wangmeng
# email:15670536819@163.com
gccontent=open("/home/***/Data/ele_data_2019_2_28/Bacterial_F1_1.fq","r")
#set the the values to 0
a=0
g=0
c=0
t=0
linenumber=0
gccontent.readline()
for line in gccontent:
        line=line.lower()
        linenuber+=1
        if linenumber%4==1:
                print line
                print linenumber
                for gc in line.lower():
                        if gc=="a":
                                a+=1
                        if gc=="c":
                                c+=1
                        if gc=="g":
                                g+=1
                        if gc=="t":
                                t+=1
print "number of a's " + str(a)
print "number of c's " + str(c)
print "number of g's " + str(g)
print "number of t's " + str(t)
​
gc=(g+c+0.)/(a+t+g+c+0.)
print "gc content:"+str(gc)

结果:
因为只取第二行的序列信息,所以每四行取一行计算,下面是取到的序列。
在这里插入图片描述看到gc含量为53.8%,符合实际情况。

搜索公共号:ShengXinZaTan

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值