#!/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/#importcollectionsimportpypath.share.curlascurlimportpypath.resources.urlsasurlsimportpypath.utils.mappingasmappingimportpypath.inputs.uniprot_dbasuniprot_db
def_matrixdb_protein_list(category,organism=9606):""" Returns a set of proteins annotated by MatrixDB. :arg str category: The protein annotation category. Possible values: `ecm`, `membrane` or `secreted`. """url=urls.urls['matrixdb']['%s_proteins'%category]c=curl.Curl(url,silent=False,large=True)proteins=set()# header row_=next(c.result)forlinc.result:ifnotl:continueproteins.add(l.strip().replace('"','').split('\t')[0])proteins=mapping.map_names(proteins,'uniprot','uniprot')iforganism:uniprots=uniprot_db.all_uniprots(organism=organism,swissprot=True,)proteins=proteins&set(uniprots)returnproteins
[docs]defmatrixdb_membrane_proteins(organism=9606):""" Returns a set of membrane protein UniProt IDs retrieved from MatrixDB. """return_matrixdb_protein_list('membrane',organism=organism)
[docs]defmatrixdb_secreted_proteins(organism=9606):""" Returns a set of secreted protein UniProt IDs retrieved from MatrixDB. """return_matrixdb_protein_list('secreted',organism=organism)
[docs]defmatrixdb_ecm_proteins(organism=9606):""" Returns a set of ECM (extracellular matrix) protein UniProt IDs retrieved from MatrixDB. """return_matrixdb_protein_list('ecm',organism=organism)