作业(基因)

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  

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值