python 中实现切除fastq文件序列的前后若干碱基

 

001、

复制代码
root@PC1:/home/test# ls
a.fastq  test.py
root@PC1:/home/test# cat test.py                 ## 测试程序
#!/usr/bin/python
in_file = open("a.fastq", "r")
out_file = open("result.txt", "w")
dict1 = {}

idx = 0
for i in in_file:
    idx += 1
    i = i.strip()
    if idx % 4 == 1:
        key = i
        dict1[key] = []
    elif idx % 4 == 2:
        dict1[key].append(i[1:-3])             ## 切除序列的第1个碱基和最后的三个碱基
    else:
        dict1[key].append(i)
for i,j in dict1.items():
    out_file.write(i + "\n")
    for k in j:
        out_file.write(k + "\n")

in_file.close()
out_file.close()
root@PC1:/home/test# cat a.fastq                        ## 测试fastq文件
@DJB775P1:248:D0MDGACXX:7:1202:12362:49613
TGCTTACTCTGCGTTGATACCACTGCTTAGATCGGAAGAGCACACGTCTGAA
+
JJJJJIIJJJJJJHIHHHGHFFFFFFCEEEEEDBD?DDDDDDBDDDABDDCA
@DJB775P1:248:D0MDGACXX:7:1202:12782:49716
CTCTGCGTTGATACCACTGCTTACTCTGCGTTGATACCACTGCTTAGATCGG
+
IIIIIIIIIIIIIIIHHHHHHFFFFFFEECCCCBCECCCCCCCCCCCCCCCC
root@PC1:/home/test# python test.py                      ## 执行程序
root@PC1:/home/test# ls
a.fastq  result.txt  test.py
root@PC1:/home/test# cat result.txt                      ## 程序运行结果
@DJB775P1:248:D0MDGACXX:7:1202:12362:49613
GCTTACTCTGCGTTGATACCACTGCTTAGATCGGAAGAGCACACGTCT
+
JJJJJIIJJJJJJHIHHHGHFFFFFFCEEEEEDBD?DDDDDDBDDDABDDCA
@DJB775P1:248:D0MDGACXX:7:1202:12782:49716
TCTGCGTTGATACCACTGCTTACTCTGCGTTGATACCACTGCTTAGAT
+
IIIIIIIIIIIIIIIHHHHHHFFFFFFEECCCCBCECCCCCCCCCCCCCCCC
复制代码

 

参考:https://www.jianshu.com/p/5ee54bea4cb0

 

posted @   小鲨鱼2018  阅读(137)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2021-08-15 c语言 %c 一次输出多个字符 (特殊程序)
2021-08-15 c语言 复合赋值运算符的优先级低于算术运算符
点击右上角即可分享
微信分享提示