#导入数据库
import requests
import pandas as pd
from selenium import webdriver
import time
import pyperclip
from selenium.webdriver.common.keys import Keys
#碱基位置参数信息提取
d1 = pd.read_excel('D:/GWAS全套数据库/haploview单倍型/单倍型分析结果.xlsx',sheetname='连锁区间位置总结',header=0)
d1
d2=d1.iloc[:,11]
d2
d3=list(d2)
d3
len(d3)
d3[36:]
#通过观察构造URL
url_pre= 'http://may2017.archive.ensembl.org/Sus_scrofa/Export/Output/Location?db=core;flank3_display=0;flank5_display=0;output=fasta;r='
url_last=';strand=feature;peptide=yes;coding=yes;utr3=yes;utr5=yes;intron=yes;genomic=unmasked;cdna=yes;exon=yes;_format=Text'
#遍历esmbel,爬取单倍型碱基序列,blast比对
for i in d3[36:]:
#爬取单倍型的碱基序列
url = url_pre + str(i) + url_last
r = requests.get(url)
time.sleep(20)
#打开Firefox浏览器,做blast比对
browser = webdriver.Firefox()
browser.get('https://blast.ncbi.nlm.nih.gov/Blast.cgi?PROGRAM=blastn&PAGE_TYPE=BlastSearch&LINK_LOC=blasthome')
time.sleep(20)
#定位输入碱基数据的位置
linkElem = browser.find_element_by_xpath('//*[@id="seq"]')
type(linkElem)
linkElem.click()
type(r.text)
pyperclip.copy(r.text)
pyperclip.paste()
linkElem.send_keys(Keys.CONTROL,'v' )
time.sleep(20)
#定位选择人类基因组的位置,并click选择,提交
linkElem = browser.find_element_by_xpath('//*[@id="Rhc"]')
linkElem.click()
linkElem.submit()
web自动化 从excel 单倍型位置数据读取到网页碱基序列,自动填写NCBI的blast表单 并提交自动化流程
最新推荐文章于 2022-09-23 22:30:00 发布