191008 CAG读取思路
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import re
f = open(r'C:\Users\kagami\Desktop\TEST\m54045_190927_083209 1.txt',encoding='gb18030', errors = "ignore")
f.readline()
f.readline()
primertext = f.readline()
secondtext = str(primertext)
f.close()
text = re.sub(r"[0123456789 ]","", secondtext) #输出纯净DNA序列
textsearch = re.search("GTCCTTCCAG(\S{0,1000})CCGCCGCCACCG",text)
CAGnumber = len(textsearch.group(1))
PolyQnumber = int(CAGnumber/3)
print(textsearch.group(1))
print(CAGnumber, PolyQnumber)
照着这个思路先把所有的.dna文件修改成了.txt文件,修改代码如下:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import sys
#获取目录下文件名清单
files = os.listdir(r"E:\TEST\Origin")
#对文件名清单里的每一个文件名进行处理
for filename in files:
portion = os.path.splitext(filename)#portion为名称和后缀分离后的列表
if portion[1] ==".dna":#如果为JPG则更改名字
newname = portion[0]+".txt"#要改的新后缀#改好的新名字
print(filename)#打印出要更改的文件名
os.chdir(r"E:\TEST\Origin")#修改工作路径
os.rename(filename,newname)
(其实可以改动得更好,按照上面的方面会把所有的文件直接改名成.txt格式,源文件无法保留,而且还是在源文件夹下进行操作)
之后可以按照以上的思路,批量读取文件夹内的每一个txt文件,输出一张csv表,包含文件名、CAG数目、polyQ数目、CAG序列片段信息。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import re
import linecache
import csv
import codecs
ListName = list()
ListOldPolyQnumber = list()
ListNewPolyQnumber = list()
List