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-糖基化位点相关推荐

  1. Python+beautifulsoup+requests 爬取网易新闻评论

    前段时间在看处理数据相关的书籍,实践中需要一些网上评论的文本数据集,所以想到爬取网易新闻底下的评论.本来想着Python+beautifulsoup(解析)+requests(抓取),最后存储在txt ...

  2. Python使用BeautifulSoup爬取网页中主体部分的内容,并导出为pdf格式

    1.首先,必须下载相关的模块,依次使用以下命令安装相关模块即可: pip install requestspip install html5libpip install beautifulsoup4 ...

  3. Python网络爬虫爬取携程网中的游记标题及内容

    最近在自学Python爬虫,会自己练习一些网站然后记录下来供大家参考,如有不对之处希望大佬多多指正 此处以爬取携程网上带有"非遗"关键词的游记为例: 首先找到需要爬取的网站的url ...

  4. python使用requests爬取淘宝搜索页数据

    前一段时间负责爬取淘宝的一些商品信息,本来接到爬取淘宝的任务的时候,下意识的就想用selenium(毕竟淘宝有点不好搞).但是使用selenium时搜索页面也得需要登录,并且当使用selenium时不 ...

  5. 利用python与requests爬取猫眼上的电影数据

    @利用requests与pycharm爬取猫眼上排名前100的电影数据 首先是requests导包 源代码 import csv import reimport requests from reque ...

  6. python爬虫: requests爬取flash播放页面的信息

    我们通过查看知道flash类型的网页采取文件格式是amf类型的 AMF(Action Message Format) 是Flash与服务端通信的一种常见的二进制编码模式,其传输效率高,可以在HTTP层 ...

  7. python爬虫——requests爬取高德地图全国天气信息

    一.分析 在浏览器中搜索高德地图,按F12,点击搜索 可以查看到西安市对应的citycode是610100 cityList表示出城市信息,有可能有城市的编号,我们复制他的url查看 在json在线解 ...

  8. python用requests爬取png图片并保存到本地

    版权声明:转载请注明作者(独孤尚良dugushangliang)出处:https://blog.csdn.net/dugushangliang/article/details/99634816 imp ...

  9. python爬取图片-Python爬取网页中的图片(搜狗图片)详解

    前言 最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 本地下载 我们这里以sogou作为爬取的对象. 首先 ...

最新文章

  1. Docker 容器技术 — Compose 编排
  2. 数据中台实战(一):以B2B电商亿订为例谈数据埋点(产品经理视角)
  3. PHP-代码审计-CSRF
  4. 音视频技术开发周刊 | 146
  5. Flink SQL Client注册JAVA UDF完整流程
  6. Jupyter Notebook的安装及问题解决方案
  7. python打印字符串全排列_Python实现全排列的打印
  8. SpringBoot+Dubbo实战demo
  9. Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat 解决办法
  10. 黄河水利职业技术学院焦作大学计算机谁好,注意丨你可能上了个假大学!填报志愿需谨慎,全国381所“野鸡大学”曝光,河南6所...
  11. python连接ssh_Python建立SSH连接与使用方法
  12. 怎样批量处理编辑图片?这3个方法你一定要会
  13. Http状态码406(Not Acceptable) 错误问题解决方法
  14. 微信/支付宝网页扫码授权
  15. 浅谈医疗卫生系统人事档案管理
  16. 跨界干货:如何在一周内摸清一个行业
  17. opencv-图像修补,图像修复,inpaint
  18. Matlab-RBF网络(径向基函数网络)-rbepnngrnn
  19. pexpect学习(一)
  20. 秒懂Android属性动画

热门文章

  1. 面对ChatGPT的挑战,谷歌CEO怒发Bard调教指南:别慌,咱向来是弯道超车
  2. 百度海洋引擎Ocean Engine,打破“数据孤岛”的新利器
  3. C语言外推法求搜索区间程序,一维搜索外推法程序设计实验报告.doc
  4. aspen压缩因子_Aspen物性参数中英文对照
  5. 【Python服务生活系列--2】实现WPS Office付费功能 word转换纯图pdf
  6. 拼多多无货源开店需要用哪些店群软件
  7. 关于微信表情及输入法emoji显示问题解决方案
  8. iMessage推广(群发)技术实现
  9. antd picker 使用 如何_antd-RangePicker
  10. 竞品分析----夸克:我离百度还有多少步?