Introduction

Pypath also provides access to databases reporting protein complexes, such as CORUM (http://mips.helmholtz-muenchen.de/genre/proj/corum). In this notebook, we take a look at this information.

Analysis

In [1]:
# Show all the plots inside the notebook
%matplotlib inline
In [2]:
# load packages
import pypath
import igraph  # import igraph to use the plot function

import numpy as np
import pandas as pd
import seaborn as sns
In [3]:
# Load the ipython display and image module
from IPython.display import Image
from IPython.display import display
In [4]:
pa = pypath.main.PyPath()

	=== d i s c l a i m e r ===

	All data coming with this module
	either as redistributed copy or downloaded using the
	programmatic interfaces included in the present module
	are available under public domain, are free to use at
	least for academic research or education purposes.
	Please be aware of the licences of all the datasets
	you use in your analysis, and please give appropriate
	credits for the original sources when you publish your
	results. To find out more about data sources please
	look at `pypath.descriptions` and
	`pypath.data_formats.urls`.

	» New session started,
	session ID: 'v3cjg'
	logfile:'./log/v3cjg.log'.
In [5]:
pa.init_network()
	:: Loading data from cache previously downloaded from www.uniprot.org
	:: Ready. Resulted `plain text` of type file object. 
	:: Local file at `/Users/admin/Documents/ltobalina/COMBINE/Projects/PrECISE/Code/Omnipath/cache/ec920965677ac83b8805d72853c79d45-`.
	:: Loading data from cache previously downloaded from www.uniprot.org
	:: Ready. Resulted `plain text` of type file object. 
	:: Local file at `/Users/admin/Documents/ltobalina/COMBINE/Projects/PrECISE/Code/Omnipath/cache/ec920965677ac83b8805d72853c79d45-`.
	:: Loading data from cache previously downloaded from ftp.uniprot.org
	:: Ready. Resulted `gz extracted data` of type file object. 
	:: Local file at `/Users/admin/Documents/ltobalina/COMBINE/Projects/PrECISE/Code/Omnipath/cache/079410d8e3f429e7699c167b9d4ef3b7-HUMAN_9606_idmapping.dat.gz`.
	:: Processing ID conversion list: finished, 100.0%
 » NetPath
	:: Reading from cache: cache/netpath.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
 » DOMINO
	:: Reading from cache: cache/domino.edges.pickle
	:: Loading 'genesymbol' to 'uniprot' mapping table
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
 » AlzPathway
	:: Reading from cache: cache/alzpathway.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
 » CancerCellMap
	:: Reading from cache: cache/cancercellmap.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
 » ARN
	:: Reading from cache: cache/arn.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
 » DeathDomain
	:: Reading from cache: cache/deathdomain.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
 » ELM
	:: Reading from cache: cache/elm.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
 » CA1
	:: Reading from cache: cache/ca1.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
 » DEPOD
	:: Reading from cache: cache/depod.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
 » TRIP
	:: Reading from cache: cache/trip.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
 » HPRD
	:: Reading from cache: cache/hprd.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `hprd_mechanism` has multiple types of values: str, list
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
 » SPIKE
	:: Reading from cache: cache/spike.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
 » LMPID
	:: Reading from cache: cache/lmpid.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
 » dbPTM
	:: Reading from cache: cache/dbptm.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
 » SignaLink3
	:: Reading from cache: cache/signalink3.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `netbiol_is_direct` has multiple types of values: str, list
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `netbiol_effect` has multiple types of values: unicode, str, list
WARNING:pypath.logn:### WARNING ###### Edge attribute `netbiol_mechanism` has multiple types of values: str, list
 » MatrixDB
	:: Reading from cache: cache/matrixdb.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `netbiol_effect` has multiple types of values: unicode, list
 » InnateDB
	:: Reading from cache: cache/innatedb.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `netbiol_effect` has multiple types of values: unicode, list
 » MPPI
	:: Reading from cache: cache/mppi.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `netbiol_effect` has multiple types of values: unicode, list
 » NRF2ome
	:: Reading from cache: cache/nrf2ome.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `netbiol_effect` has multiple types of values: unicode, list
 » Signor
	:: Reading from cache: cache/signor.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `netbiol_effect` has multiple types of values: unicode, list
 » Macrophage
	:: Reading from cache: cache/macrophage.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `netbiol_effect` has multiple types of values: unicode, list
 » PDZBase
	:: Reading from cache: cache/pdzbase.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `netbiol_effect` has multiple types of values: unicode, list
 » PhosphoSite
	:: Reading from cache: cache/phosphosite.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `netbiol_effect` has multiple types of values: unicode, list
 » BioGRID
	:: Reading from cache: cache/biogrid.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `netbiol_effect` has multiple types of values: unicode, list
 » Guide2Pharma
	:: Reading from cache: cache/guide2pharma.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `netbiol_effect` has multiple types of values: unicode, list
 » DIP
	:: Reading from cache: cache/dip.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `netbiol_effect` has multiple types of values: unicode, list
 » phosphoELM
	:: Reading from cache: cache/phosphoelm.edges.pickle
	:: Processing nodes: finished, 100.0%
	:: Processing edges: finished, 100.0%
	:: Processing attributes: finished, 100.0%
WARNING:pypath.logn:### WARNING ###### Vertex attribute `name` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `label` has multiple types of values: str, unicode
WARNING:pypath.logn:### WARNING ###### Vertex attribute `exp` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `negative_refs` has only None values
WARNING:pypath.logn:### WARNING ###### Edge attribute `netbiol_effect` has multiple types of values: unicode, list
 :: Comparing with reference lists... done.

 » 29949 interactions between 7476 nodes
 from 27 resources have been loaded,
 for details see the log: ./log/v3cjg.log
In [6]:
# remove links reported in papers with more than 50 interactions (by default)
pa.remove_htp()
	:: Interactions from only high-throughput resources have been removed.
	   4009 interactions removed.
	   Number of edges decreased from 29949 to 25940, number of vertices from 7476 to 6820.
In [7]:
# load CORUM database (http://mips.helmholtz-muenchen.de/genre/proj/corum)
pa.load_corum()
	:: Loading data from cache previously downloaded from mips.helmholtz-muenchen.de
	:: Ready. Resulted `plain text` of type file object. 
	:: Local file at `/Users/admin/Documents/ltobalina/COMBINE/Projects/PrECISE/Code/Omnipath/cache/0ae62365c8f43bed0f7ddadd90c948f0-allComplexes.csv`.
	:: Processing data: finished, 100.0%
	:: Loading 'uniprot-sec' to 'uniprot-pri' mapping table
	:: Loading 'genesymbol' to 'trembl' mapping table
	:: Loading 'genesymbol' to 'swissprot' mapping table
	:: Loading 'genesymbol-syn' to 'swissprot' mapping table

The following are 5 frequently mutated genes in prostate cancer. We will check if any of them belongs to a protein complex.

In [8]:
query_nodes = set(['PTEN', 'FOXA1', 'TP53', 'SPOP', 'AR'])
In [9]:
for i_node in query_nodes:
    i_complex_list = pa.gs(i_node)['complexes']['corum'].keys()
    if len(i_complex_list)>0:
        print("Gene {} is reported in the following complexes in the CORUM database:".format(i_node))
        for i in i_complex_list:
            print("\t{}".format(i))
    else:
        print("Gene {} is not reported to belong to any protein complex in the CORUM database".format(i_node))  
    print("---")
Gene FOXA1 is not reported to belong to any protein complex in the CORUM database
---
Gene PTEN is not reported to belong to any protein complex in the CORUM database
---
Gene SPOP is reported in the following complexes in the CORUM database:
	Ubiquitin E3 ligase
---
Gene AR is reported in the following complexes in the CORUM database:
	AR-AKT-APPL complex
	AOF2-AR complex
---
Gene TP53 is reported in the following complexes in the CORUM database:
	CNS-P53 complex
	p300-MDM2-p53 protein complex
	FHL2-p53-HIPK2 complex
	Axin-p53-HIPK2 complex
	P53-BARD1-Ku70 complex
	DAXX-Axin-p53-HIPK2 complex
	hSIR2-p53 complex
	FOXO3-TP53 complex, oxidative stress stimulated
	YY1-MDM2-p53 complex
	Daxx-Axin-p53 complex
	p53-BCL2 complex
	p53-SP1 complex
	NUMB-TP53-MDM2 complex
	MSH2/6-BLM-p53-RAD51 complex
	p53 homotetramer complex
	Er-alpha-p53-hdm2 complex
---

We can check the details of these complexes, for instance, the Ubiquitin E3 ligase complex in which SPOP participates.

In [10]:
prot_complex_details = pa.gs("SPOP")['complexes']['corum']['Ubiquitin E3 ligase']
prot_complex_details
Out[10]:
{'all_members': [u'Q13618', u'Q9UER7', u'O43791'],
 'all_members_original': [u'Q13618', u'Q9UER7', u'O43791'],
 'diseases': u'',
 'full_name': u'Ubiquitin E3 ligase (SPOP, DAXX, CUL3)',
 'functions': u'Ubiquitin E3 ligases covalently attach ubiquitin to a lysine residue on a target protein. Polyubiquitination marks proteins for degradation by the proteasome. SPOP serves as an adaptor of Daxx for the ubiquitination by Cul3-based ubiquitin ligase and subsequent degradation by the proteasome. Experiments suggest that SPOP/Cul3-ubiquitin ligase plays an essential role in the control of Daxx level and, thus, in the regulation of Daxx-mediated cellular processes, including transcriptional regulation and apoptosis.',
 'references': [u'16524876']}

The references field contains the pmid of the article supporting this complex. We can query some details of it with the following code:

In [11]:
ref_pmid = prot_complex_details['references'][0]
pypath.main.Reference(ref_pmid).info()
# we can also open the webpage with the article abstract in a separate window with the following command
# pypath.main.Reference(ref_pmid).open()
	:: Retrieving data from NCBI e-utils: working on it, 1/1 	:: Loading data from cache previously downloaded from eutils.ncbi.nlm.nih.gov
	:: Ready. Resulted `plain text` of type file object. 
	:: Local file at `/Users/admin/Documents/ltobalina/COMBINE/Projects/PrECISE/Code/Omnipath/cache/e745ee0c568cc26ca9bdd379ee03019b-esummary.fcgi`.
	:: Retrieving data from NCBI e-utils: finished, 1/1
Out[11]:
{u'16524876': {u'articleids': [{u'idtype': u'pii',
    u'idtypen': 4,
    u'value': u'M600204200'},
   {u'idtype': u'doi', u'idtypen': 3, u'value': u'10.1074/jbc.M600204200'},
   {u'idtype': u'pubmed', u'idtypen': 1, u'value': u'16524876'},
   {u'idtype': u'eid', u'idtypen': 8, u'value': u'16524876'},
   {u'idtype': u'rid', u'idtypen': 8, u'value': u'16524876'}],
  u'attributes': [u'Has Abstract'],
  u'authors': [{u'authtype': u'Author',
    u'clusterid': u'',
    u'name': u'Kwon JE'},
   {u'authtype': u'Author', u'clusterid': u'', u'name': u'La M'},
   {u'authtype': u'Author', u'clusterid': u'', u'name': u'Oh KH'},
   {u'authtype': u'Author', u'clusterid': u'', u'name': u'Oh YM'},
   {u'authtype': u'Author', u'clusterid': u'', u'name': u'Kim GR'},
   {u'authtype': u'Author', u'clusterid': u'', u'name': u'Seol JH'},
   {u'authtype': u'Author', u'clusterid': u'', u'name': u'Baek SH'},
   {u'authtype': u'Author', u'clusterid': u'', u'name': u'Chiba T'},
   {u'authtype': u'Author', u'clusterid': u'', u'name': u'Tanaka K'},
   {u'authtype': u'Author', u'clusterid': u'', u'name': u'Bang OS'},
   {u'authtype': u'Author', u'clusterid': u'', u'name': u'Joe CO'},
   {u'authtype': u'Author', u'clusterid': u'', u'name': u'Chung CH'}],
  u'availablefromurl': u'',
  u'bookname': u'',
  u'booktitle': u'',
  u'chapter': u'',
  u'doccontriblist': [],
  u'docdate': u'',
  u'doctype': u'citation',
  u'edition': u'',
  u'elocationid': u'',
  u'epubdate': u'2006 Mar 8',
  u'essn': u'1083-351X',
  u'fulljournalname': u'The Journal of biological chemistry',
  u'history': [{u'date': u'2006/03/08 00:00', u'pubstatus': u'aheadofprint'},
   {u'date': u'2006/03/10 09:00', u'pubstatus': u'pubmed'},
   {u'date': u'2006/06/29 09:00', u'pubstatus': u'medline'},
   {u'date': u'2006/03/10 09:00', u'pubstatus': u'entrez'}],
  u'issn': u'0021-9258',
  u'issue': u'18',
  u'lang': [u'eng'],
  u'lastauthor': u'Chung CH',
  u'locationlabel': u'',
  u'medium': u'',
  u'nlmuniqueid': u'2985121R',
  u'pages': u'12664-72',
  u'pmcrefcount': 46,
  u'pubdate': u'2006 May 5',
  u'publisherlocation': u'',
  u'publishername': u'',
  u'pubstatus': u'256',
  u'pubtype': [u'Journal Article'],
  u'recordstatus': u'PubMed - indexed for MEDLINE',
  u'references': [],
  u'reportnumber': u'',
  u'sortfirstauthor': u'Kwon JE',
  u'sortpubdate': u'2006/05/05 00:00',
  u'sorttitle': u'btb domain containing speckle type poz protein spop serves as an adaptor of daxx for ubiquitination by cul3 based ubiquitin ligase ',
  u'source': u'J Biol Chem',
  u'srccontriblist': [],
  u'srcdate': u'',
  u'title': u'BTB domain-containing speckle-type POZ protein (SPOP) serves as an adaptor of Daxx for ubiquitination by Cul3-based ubiquitin ligase.',
  u'uid': u'16524876',
  u'vernaculartitle': u'',
  u'viewcount': 109,
  u'volume': u'281'},
 u'uids': [u'16524876']}

We might be curious about wether all the proteins in the complex share the same neighbours.

In [12]:
proteins_in_complex = prot_complex_details['all_members']
for i_protein in proteins_in_complex:
    print("Neighbours of {}: ".format(pa.up(i_protein)['label']))
    print(', '.join([i['label'] for i in pa.up_neighbors(i_protein)]))
    print('---')
Neighbours of CUL3: 
SKP1, RBX1, KEAP1, NFE2L2, DCUN1D1, DCUN1D2, DCUN1D3, SPOP, KLHL3, CAND1, KLHL25, KCTD5, KLHL11, KCTD7, KCTD11, UBXN7
---
Neighbours of DAXX: 
HDAC2, MDM2, MAPK3, PIN1, RIPK3, PML, RELB, ETS1, TP53, MAP3K5, SUMO1, HDAC1, TGFBR2, HIST1H4C, HIST1H3B, AIRE, CSNK2A1, FAS, ATM, CFLAR, UBE2I, SUMO2, HIPK2, SPOP, HDAC3, SUMO3, H3F3B, RASSF1, HIST2H3D, MCRS1, ATRX
---
Neighbours of SPOP: 
TRAF6, H2AFY, DAXX, CUL3
---

We can see that these genes do not necesarily share the same neighbours. In fact, they can also participate in other complexes:

In [13]:
print("Gene {} is reported in the following complexes in the CORUM database:".format("CUL3"))
print(pa.gs("CUL3")['complexes']['corum'].keys())
print("---")
print("Gene {} is reported in the following complexes in the CORUM database:".format("DAXX"))
print(pa.gs("DAXX")['complexes']['corum'].keys())
print("---")
Gene CUL3 is reported in the following complexes in the CORUM database:
[u'Ubiquitin E3 ligase', u'CAND1-CUL3-RBX1 complex']
---
Gene DAXX is reported in the following complexes in the CORUM database:
[u'DAXX-DNMT1-DMAP1 complex', u'Daxx-Axin-p53 complex', u'ATRX-DAXX complex', u'Ubiquitin E3 ligase', u'DAXX-AXIN complex', u'DAXX-Axin-p53-HIPK2 complex']
---
In [ ]: