如何用python把fastq里所有序列的前几个碱基提取出来

本文首发于微信公众号:生物信息学习

最近实验室开始用python的越来越多了,看着大家都在进步,哈哈,也是一件蛮有成就感的事情。

但是最近师妹还是有新的需求,想把fastq里所有序列的前几个碱基提取出来,我最初是想有没有现成可用的工具,因为如果有工具,我可以直接把工具给需要的人,对我来说会比较省事,当然后来想了一下发现,没想到。于是也懒得去网上搜,因为写个python脚本可能比去网上搜要更快。于是就有了下面的脚本。

师妹需求非常简单,把fastq里所有序列的前几个碱基提取出来。那我们在写代码之前需要对fastq格式比较了解,如下所示,fastq的行数要是4的倍数,因为每4行包含的是一条read的信息。

@E00517:522:H3MLMCCX2:8:1101:7517:1643 1:N:0:ATCACGAT+AGATCTCG
CATTCCTGTTGAAGCTCTTGACAATGTGTGAAGTTGATGTCTTGTGAGTGGCCTCACAGGTATAGCTGTTATGTCGTTCATACTCGTCCTTTGTCAACGTGAGGGTGCTGCTCATACTGTAGGTGCTGTCTTTGCTGAGATCGGAAGATC
+
AAFFFFJJJJJJJ

代码非常非常的简单(取前3个碱基):

#python3

import sys

line_num=0
for line in open(sys.argv[1]):
        line_num+=1
        if line_num % 4 ==1 :
                print(line.strip())
        elif line_num % 4 == 2:
                print(line.strip()[0:3])
        elif line_num % 4 == 3:
                print(line.strip())
        elif line_num % 4 == 0:
                print(line.strip()[0:3])

师妹,看看这个输出的是不是你需要的结果呢?

@E00517:522:H3MLMCCX2:8:1101:7517:1643 1:N:0:ATCACGAT+AGATCTCG
CAT
+
AAF

如果你对代码或者代码的使用不理解,那么我录制了这个代码及代码使用讲解的视频,如果有兴趣,分享此文到朋友圈(无屏蔽好友)或转发至100人以上的生物医学类群,半小时后截图给我,我发送视频给你。
另:我们创建了生物信息学习交流群,如需进群,请长按下方二维码,添加管理员微信(禁广告)。
温馨提示:添加管理员微信时请备注姓名/学习/专业

微信公众号下方评论区有更简单的方法,欢迎去下方观看.

你可能感兴趣的:(如何用python把fastq里所有序列的前几个碱基提取出来)