根据蛋白质登录号在Uniprot批量下载蛋白质序列

前几天刚好有个作业,利用蛋白质登录号在Uniprot查找并下载蛋白质序列。我进去搜了搜,发现每当点进一个新的蛋白质序列,网址都是差不多的,故想到了可以利用爬虫进行批量爬取。下面贴代码

import requests

protein_ids = ['P24950', 'P41285', 'YP_209217', 'YP_002124314', 'NP_006926', 'NP_115452', 'YP_001382257', 'YP_002213663', 'NP_008146', 'NP_116779', 'NP_008302', 'NP008315', 'NP_007094']

with open('protein_sequences1.txt', 'w') as file:
    for protein_id in protein_ids:
        url = f'https://www.uniprot.org/uniprot/{protein_id}.fasta'
        response = requests.get(url)
        if response.ok:
            data = response.text
            try:
                protein_id = data.split('|')[1]
                sequence = data[data.index('\n')+1:].replace('\n','')
                file.write(f'>{protein_id}\n{sequence}\n')
            except IndexError:
                print(f"Unable to process protein ID: {protein_id}")
        else:
            print(f"Failed to retrieve data for protein ID: {protein_id}")

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值