1.统计GC含量并把序列多行变一行
f=open('Ecoli.fa')
A=0
G=0
C=0
T=0
linenumber=0
str_=''
for i in f:
linenumber+=1
if linenumber==1:#打印出第一行,不属于统计范畴
print(i)
else:
str_+=i.strip()#默认删除末尾换行符,使序列变为一行
for x in i:#每一行中的各个字母
if x=='A':
A+=1
if x=='G':
G+=1
if x=='C':
C+=1
if x=='T':
T+=1
GC=(G+C)/(A+T+G+C)
print('A:',A)
print('G:',G)
print('C:',C)
print('T:',T)
print('GC含量:',GC)
print('序列变为一行后:',str_)
f.close())
2.根据目标基因名,从文件中输出基因名和序列
为什么list1直接用readlines()运行无反应?
f1=open('Pdan_new.cds')
list1=[]
f2=open('gene_name.txt')
list2=f2.readlines()
for line in f1:
if line.startswith('>'):
list1.append(line[1:])
else:
list1.append(line)
for i in list1:
for each in list2:
if i==each:
weizhi=list1.index(i)
print(list1[weizhi],end='')#基因名
print(list1[weizhi+1])#序列)#序列
3.编写一个程序,用户输入关键字,查找当前文件夹内(如果当前文件夹内包含文件夹,则进入文件夹继续搜索)所有含有该关键字的文本文件(.txt后缀),要求显示该文件所在的位置以及关键字在文件中的具体位置(第几行第几个字符)
4. 用pathlib方法复现 【1 编写一个程序,统计当前目录下每个文件类型的文件数 】
from pathlib import Path
type_dict={}
for i in Path().iterdir():
if i.is_dir():#判断路径是否为目录
type_dict.setdefault('文件夹', 0)#查找文件夹,若没有就返回0
type_dict['文件夹']+=1
else:
ext =i.suffix#获取文件后缀
type_dict.setdefault(ext, 0)
type_dict[ext] += 1
for each_type in type_dict.keys():
print('该文件夹下共有类型为【%s】的文件 %d 个' % (each_type, type_dict[each_type]))
5.将文件里的换行符LF改成CRLF