python的requests爬取Uniprot中蛋白序列和N-糖基化位点
1. 目的:
从Uniprot中下载某个蛋白 (以 P05067 为例) 对应的N-糖基化位点以及该蛋白的序列。
2. python3脚本:
import requests
import re
from requests.adapters import HTTPAdapter
#import timeclass Get_Nglyco_Seq(object):def __init__(self,uniprot_id):self.uniprot_id = uniprot_iddef __parse_xml_page(self,content_xml): ## 正则表达式匹配xml中N-糖基化和序列对应的部分patt_gly = re.compile('\s+<feature type="glycosylation site" description="N-linked.+''\s+<location>''\s+<position position="(\d+)"/>''\s+</location>',re.MULTILINE)patt_seq = re.compile('<sequence length[\w\s="-]+>([A-Z]+)</sequence>',re.MULTILINE)match_gly = patt_gly.findall(content_xml)match_seq = patt_seq.findall(content_xml)return match_gly, match_seqdef get_xml_page(self): ## 获取uniprot_id对应的xml网页s = requests.Session()s.mount('https://', HTTPAdapter(max_retries=2))headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}response = s.get('https://rest.uniprot.org/uniprotkb/'+self.uniprot_id+'.xml',headers=headers)content_xml = response.textglyco_pos, sequ = self.__parse_xml_page(content_xml=content_xml)return glyco_pos, sequdef main(uniprot_id):try:Nglyco_Seq = Get_Nglyco_Seq(uniprot_id)glyco_pos, sequ = Nglyco_Seq.get_xml_page()if len(glyco_pos) == 0:print('Uniprot ID: %s\nN-Glyco Pos: %s\nSequence: %s' % (uniprot_id,'No',sequ[0]))else:print('Uniprot ID: %s\nN-Glyco Pos: %s\nSequence: %s' % (uniprot_id,glyco_pos,sequ[0]))except Exception as e:print('Error: %s\t%s' % (uniprot_id,e))#time.sleep(random.randint(1,3))if __name__ == '__main__':""" 以蛋白 P05067 为例,获取该蛋白的 N-糖基化位点和序列"""main('P05067')
3. 测试结果:
P05067的N-糖基化位点和序列结果如下:
Uniprot ID: P05067
N-Glyco Pos: ['542', '571']
Sequence: MLPGLALLLLAAWTARALEVPTDGNAGLLAEPQIAMFCGRLNMHMNVQNGKWDSDPSGTKTCIDTKEGILQYCQEVYPELQITNVVEANQPVTIQNWCKRGRKQCKTHPHFVIPYRCLVGEFVSDALLVPDKCKFLHQERMDVCETHLHWHTVAKETCSEKSTNLHDYGMLLPCGIDKFRGVEFVCCPLAEESDNVDSADAEEDDSDVWWGGADTDYADGSEDKVVEVAEEEEVAEVEEEEADDDEDDEDGDEVEEEAEEPYEEATERTTSIATTTTTTTESVEEVVREVCSEQAETGPCRAMISRWYFDVTEGKCAPFFYGGCGGNRNNFDTEEYCMAVCGSAMSQSLLKTTQEPLARDPVKLPTTAASTPDAVDKYLETPGDENEHAHFQKAKERLEAKHRERMSQVMREWEEAERQAKNLPKADKKAVIQHFQEKVESLEQEAANERQQLVETHMARVEAMLNDRRRLALENYITALQAVPPRPRHVFNMLKKYVRAEQKDRQHTLKHFEHVRMVDPKKAAQIRSQVMTHLRVIYERMNQSLSLLYNVPAVAEEIQDEVDELLQKEQNYSDDVLANMISEPRISYGNDALMPSLTETKTTVELLPVNGEFSLDDLQPWHSFGADSVPANTENEVEPVDARPAADRGLTTRPGSGLTNIKTEEISEVKMDAEFRHDSGYEVHHQKLVFFAEDVGSNKGAIIGLMVGGVVIATVIVITLVMLKKKQYTSIHHGVVEVDAAVTPEERHLSKMQQNGYENPTYKFFEQMQN
python的requests爬取Uniprot中蛋白序列和N-糖基化位点相关推荐
- Python+beautifulsoup+requests 爬取网易新闻评论
前段时间在看处理数据相关的书籍,实践中需要一些网上评论的文本数据集,所以想到爬取网易新闻底下的评论.本来想着Python+beautifulsoup(解析)+requests(抓取),最后存储在txt ...
- Python使用BeautifulSoup爬取网页中主体部分的内容,并导出为pdf格式
1.首先,必须下载相关的模块,依次使用以下命令安装相关模块即可: pip install requestspip install html5libpip install beautifulsoup4 ...
- Python网络爬虫爬取携程网中的游记标题及内容
最近在自学Python爬虫,会自己练习一些网站然后记录下来供大家参考,如有不对之处希望大佬多多指正 此处以爬取携程网上带有"非遗"关键词的游记为例: 首先找到需要爬取的网站的url ...
- python使用requests爬取淘宝搜索页数据
前一段时间负责爬取淘宝的一些商品信息,本来接到爬取淘宝的任务的时候,下意识的就想用selenium(毕竟淘宝有点不好搞).但是使用selenium时搜索页面也得需要登录,并且当使用selenium时不 ...
- 利用python与requests爬取猫眼上的电影数据
@利用requests与pycharm爬取猫眼上排名前100的电影数据 首先是requests导包 源代码 import csv import reimport requests from reque ...
- python爬虫: requests爬取flash播放页面的信息
我们通过查看知道flash类型的网页采取文件格式是amf类型的 AMF(Action Message Format) 是Flash与服务端通信的一种常见的二进制编码模式,其传输效率高,可以在HTTP层 ...
- python爬虫——requests爬取高德地图全国天气信息
一.分析 在浏览器中搜索高德地图,按F12,点击搜索 可以查看到西安市对应的citycode是610100 cityList表示出城市信息,有可能有城市的编号,我们复制他的url查看 在json在线解 ...
- python用requests爬取png图片并保存到本地
版权声明:转载请注明作者(独孤尚良dugushangliang)出处:https://blog.csdn.net/dugushangliang/article/details/99634816 imp ...
- python爬取图片-Python爬取网页中的图片(搜狗图片)详解
前言 最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 本地下载 我们这里以sogou作为爬取的对象. 首先 ...
最新文章
- Docker 容器技术 — Compose 编排
- 数据中台实战(一):以B2B电商亿订为例谈数据埋点(产品经理视角)
- PHP-代码审计-CSRF
- 音视频技术开发周刊 | 146
- Flink SQL Client注册JAVA UDF完整流程
- Jupyter Notebook的安装及问题解决方案
- python打印字符串全排列_Python实现全排列的打印
- SpringBoot+Dubbo实战demo
- Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat 解决办法
- 黄河水利职业技术学院焦作大学计算机谁好,注意丨你可能上了个假大学!填报志愿需谨慎,全国381所“野鸡大学”曝光,河南6所...
- python连接ssh_Python建立SSH连接与使用方法
- 怎样批量处理编辑图片?这3个方法你一定要会
- Http状态码406(Not Acceptable) 错误问题解决方法
- 微信/支付宝网页扫码授权
- 浅谈医疗卫生系统人事档案管理
- 跨界干货:如何在一周内摸清一个行业
- opencv-图像修补,图像修复,inpaint
- Matlab-RBF网络(径向基函数网络)-rbepnngrnn
- pexpect学习(一)
- 秒懂Android属性动画
热门文章
- 面对ChatGPT的挑战,谷歌CEO怒发Bard调教指南:别慌,咱向来是弯道超车
- 百度海洋引擎Ocean Engine,打破“数据孤岛”的新利器
- C语言外推法求搜索区间程序,一维搜索外推法程序设计实验报告.doc
- aspen压缩因子_Aspen物性参数中英文对照
- 【Python服务生活系列--2】实现WPS Office付费功能 word转换纯图pdf
- 拼多多无货源开店需要用哪些店群软件
- 关于微信表情及输入法emoji显示问题解决方案
- iMessage推广(群发)技术实现
- antd picker 使用 如何_antd-RangePicker
- 竞品分析----夸克:我离百度还有多少步?