python实现将fastq的碱基质量ASCII码转换为数值

 

001、

 

复制代码
[root@pc1 test1]# ls
a.fastq  ASCII2num.txt  test.py
[root@pc1 test1]# head -n 4 a.fastq       ## 测试fasta文件
@SRR12342886.1 1/1
TCTTCAAAAATTTCTCACAGCTTGTTGTGATCCACACAGTCAAAGGCTTTAAGTGTAGTCAGTGAAGCAGAAGTGGATATTTTTCTGGAATTCCCTTGCTTTCTCTGTGATCCAAGGGATTTGATCTCTGGTTCCTCTGCTTTTTCTAAAC
+
FFFFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFF:F
[root@pc1 test1]# head ASCII2num.txt      ## ASCII对应表(已减去33)
!       0
"       1
#       2
$       3
%       4
&       5
,       6
(       7
)       8
*       9
[root@pc1 test1]# cat test.py              ## 转换程序
#!/usr/bin/enb python3
# -*- coding: utf-8 -*-

in_file = open("ASCII2num.txt", "r")
dict1 = {}
for i in in_file:
        i = i.strip().split("\t")
        dict1[i[0]] = i[1]
in_file.close()

in_file = open("a.fastq", "r")
list1 = []
for i in in_file:
        list1.append(i.strip())

dict2 = dict(zip(list1[1::4], list1[3::4]))
for i,j in dict2.items():
        for k in range(len(i)):
                print(i[k] + ""  + dict1[j[k]] + "||", end = "")
        print("")
复制代码

 

 

[root@pc1 test1]# ls
a.fastq  ASCII2num.txt  test.py
[root@pc1 test1]# python3 test.py | head -n 1     ## 运行程序
T→37||C→37||T→37||T→37||C→37||A→37||A→37||A→37||A→37||A→37||T→25||T→37||T→37||C→37||T→37||C→37||A→37||C→37||A→37||G→37||C→37||T→37||T→37||G→37||T→37||T→37||G→37||T→37||G→37||A→37||T→37||C→37||C→37||A→37||C→37||A→37||C→37||A→37||G→37||T→37||C→37||A→37||A→37||A→37||G→37||G→37||C→37||T→37||T→37||T→37||A→37||A→37||G→37||T→37||G→37||T→37||A→37||G→37||T→37||C→37||A→37||G→37||T→37||G→37||A→37||A→37||G→37||C→37||A→37||G→37||A→37||A→37||G→37||T→37||G→37||G→37||A→37||T→37||A→37||T→37||T→25||T→37||T→37||T→37||C→37||T→37||G→37||G→37||A→37||A→25||T→37||T→37||C→37||C→37||C→37||T→37||T→37||G→37||C→37||T→37||T→37||T→37||C→37||T→37||C→37||T→37||G→37||T→37||G→37||A→37||T→37||C→37||C→37||A→37||A→37||G→37||G→37||G→37||A→37||T→37||T→37||T→37||G→37||A→37||T→37||C→37||T→37||C→37||T→37||G→37||G→37||T→37||T→37||C→37||C→25||T→37||C→37||T→37||G→37||C→37||T→37||T→37||T→37||T→37||T→37||C→37||T→37||A→37||A→37||A→25||C→37||

 

 

posted @   小鲨鱼2018  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2022-09-29 linux中如何删除文本中指定单词前的所有内容
2022-09-29 linux 中如何输出包含指定字符串的单词
点击右上角即可分享
微信分享提示