三级结构_kegg pathway三级层级结构转对应表格

博客介绍了如何将KEGG Pathway的三级层级结构转换成表格形式。提供了转化后的表格示例,并分享了完整代码,虽然变量命名随意,但代码理解不难。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先上图,如果不是需要的就可以不用往下看了。

首先是什么样的层级结构,如下图,有些长,不完整,完整的图太长上传不了,打开链接https://www.genome.jp/kegg/pathway.html查看。

9aa5501d6b2bfef9fde8522c845a8ce4.png

转化后的表格

e16655075ef813318013163652566a3d.png

完整代码

import reimport lxmlimport requestsfrom bs4 import BeautifulSoupfrom fake_useragent import UserAgentclass kegg(object):    def __init__(self):        self.url = 'https://www.genome.jp/kegg/pathway.html'        ua = UserAgent(verify_ssl=False)        self.headers = {'User-Agent': ua.random}    def get_html(self, url):        response = requests.get(url, headers=self.headers)        if response.status_code == 200:            return response        else:            return None    def keggPathway(self, url):        if self.get_html(url):            html = self.get_html(url).text            soup = BeautifulSoup(html, "lxml")            Kmain = soup.find(id="main")            fp = []            sp = []            for i in Kmain:                if re.findall(r"
(.*?)
", str(i)): fp.append(re.findall(r"
(.*?)
", str(i))) if re.findall(r"(.*?)", str(i)): sp.append(re.findall(r"(.*?)", str(i))) del sp[0] kt = Kmain.find_all(class_="list") print(len(fp), len(sp), len(kt)) tpw = [] for i in fp: for j, k in zip(sp, kt): if i[0][0] == j[0][0]: fs = re.sub(r'^[^A-Z]*', '', i[0]) + "\t" + re.sub( r'^[^A-Z]*', '', j[0]) ka = k.find_all('a') for l in ka: kau = l.get("href") kat = l.get_text() mapN = re.findall(r'\?(.*?)$', str(kau))[0] tpw.append(fs + "\t" + kat + "\t" + mapN) return tpw def main(self): tpw = self.keggPathway(self.url) with open("temptpw.tsv", "w") as f: for i in tpw: f.write(i + "\n")if __name__ == "__main__": kp = kegg() kp.main()

变量名起的很随意,上面代码理解起来不难,暂不解释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值