#!/usr/bin/env python# -*- coding: utf-8 -*-## This file is part of the `pypath` python module## Copyright 2014-2023# EMBL, EMBL-EBI, Uniklinik RWTH Aachen, Heidelberg University## Authors: see the file `README.rst`# Contact: Dénes Türei (turei.denes@gmail.com)## Distributed under the GPLv3 License.# See accompanying file LICENSE.txt or copy at# https://www.gnu.org/licenses/gpl-3.0.html## Website: https://pypath.omnipathdb.org/#fromtypingimportLiteralimportlxml.etreeasetreefrompypath.inputs.hmdb.schema.commonimportXMLNSimportpypath.resources.urlsasurlsimportpypath.share.curlascurl
[docs]defhmdb_xml(dataset:Literal['metabolites'])->etree.iterparse:""" Download and open the XML file of a dataset from the HMDB. """RECORD_TAGNAMES={'metabolites':'metabolite','proteins':'protein',}url=urls.urls['hmdb'][dataset]c=curl.Curl(url,large=True,silent=False,slow=True,default_mode='rb',)returnetree.iterparse(c.result[f'hmdb_{dataset}.xml'],tag=f'{XMLNS}{RECORD_TAGNAMES[dataset]}',)