### Install and Initialize Graphein Source: https://github.com/a-r-j/graphein/blob/master/notebooks/protein_tensors.ipynb Installs the Graphein library and sets the verbosity level to False. This is a common setup step for using Graphein. ```python #!pip install graphein import graphein graphein.verbose(False) ``` -------------------------------- ### Install Graphein Source: https://github.com/a-r-j/graphein/blob/master/notebooks/alphafold_protein_graph_tutorial.ipynb Install the graphein library if it is not already installed. This is a prerequisite for running the subsequent code examples. ```python # Install graphein if necessary #!pip install graphein ``` -------------------------------- ### Setup FoldCompLightningDataModule Source: https://github.com/a-r-j/graphein/blob/master/notebooks/foldcomp.ipynb Prepare the datasets by calling the setup method on the initialized data module. ```python data_module.setup() ``` -------------------------------- ### Install Requirements Source: https://github.com/a-r-j/graphein/blob/master/notebooks/tdc_developability.ipynb Installs necessary libraries for Graphein and PyTDC. Run this if you haven't already. ```python # Install requirements if necessary # !pip install graphein # !pip install PyTDC ``` -------------------------------- ### Install Graphein and DSSP Source: https://github.com/a-r-j/graphein/blob/master/notebooks/protein_graph_analytics.ipynb Install the Graphein library and the DSSP tool, which is necessary for computing solvent accessibility features. Use the provided commands for Colab or local installations. ```python # Install graphein if necessary: # !pip install graphein # Install DSSP if necessary: # !sudo apt-get install dssp (better for colab) OR !conda install -c salilab dssp ``` -------------------------------- ### Install Graphein and PyMol Source: https://github.com/a-r-j/graphein/blob/master/notebooks/atom_graph_tutorial.ipynb Installs Graphein and PyMol. PyMol is used for initial visualization in this tutorial. ```python # Install Graphein if necessary # !pip install graphein # Install pymol if necessary - in this tutorial PyMol is only used for the initial plot. Feel free to skip! # sudo apt-get install pymol (recommended for colab) OR conda install -c schrodinger pymol ``` -------------------------------- ### Install Graphein and DSSP Source: https://github.com/a-r-j/graphein/blob/master/notebooks/subgraphing_tutorial.ipynb Install Graphein and DSSP if necessary. DSSP is recommended for Colab environments. ```python # Install Graphein if necessary # !pip install graphein # Install DSSP if necessary # !sudo apt-get install dssp (better for colab) OR !conda install -c salilab dssp ``` -------------------------------- ### Initialize and Setup FoldComp DataModule Source: https://github.com/a-r-j/graphein/blob/master/notebooks/foldcomp.ipynb Instantiate the FoldCompLightningDataModule with dataset parameters and then call `setup()` to prepare the data splits and transformations for training. ```python data_module = FoldCompLightningDataModule( data_dir="./test_data/", database="afdb_swissprot_v4", batch_size=32, num_workers=4 ) data_module.setup() ``` -------------------------------- ### Install PyTorch3D Source: https://github.com/a-r-j/graphein/blob/master/notebooks/protein_mesh_tutorial.ipynb Install PyTorch3D, a library for 3D computer vision that Graphein utilizes for mesh processing and visualization. ```bash # Install pytorch3d # pip install pytorch3d ``` -------------------------------- ### Install Graphein Source: https://github.com/a-r-j/graphein/blob/master/notebooks/interactive_plotly_example.ipynb Install Graphein using pip if it's not already installed. This is a prerequisite for using Graphein's functionalities. ```python # Install Graphein if necessary # !pip install graphein ``` -------------------------------- ### Install PyTorch using Conda Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Install PyTorch using the PyTorch Conda channel. ```bash conda install -c pytorch pytorch ``` -------------------------------- ### Set up vmd-python Library Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Clones and installs the vmd-python library from its GitHub repository. ```bash # Set up vmd-python library git clone https://github.com/Eigenstate/vmd-python.git cd vmd-python python setup.py build python setup.py install cd .. ``` -------------------------------- ### Test getcontacts Installation Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Runs a test command to verify the getcontacts installation by calculating dynamic contacts. ```bash # Test installation cd getcontacts/example/5xnd get_dynamic_contacts.py --topology 5xnd_topology.pdb \ --trajectory 5xnd_trajectory.dcd \ --itypes hb \ --output 5xnd_hbonds.tsv ``` -------------------------------- ### Install Graphein using Pip Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Use pip for the base installation or to include additional featurization dependencies. ```bash pip install graphein # For base install pip install graphein[extras] # For additional featurisation dependencies ``` -------------------------------- ### Install GetContacts and Add to PATH Source: https://github.com/a-r-j/graphein/blob/master/README.md Install GetContacts using Git clone and add its directory to your PATH for use as an alternative intramolecular interaction computation tool. ```bash git clone https://github.com/getcontacts/getcontacts # Add folder to PATH echo "export PATH=$PATH:`pwd`/getcontacts" >> ~/.bashrc source ~/.bashrc ``` -------------------------------- ### Test GetContacts Installation Source: https://github.com/a-r-j/graphein/blob/master/README.md Run a test command to verify the GetContacts installation by computing hydrogen bonds for a sample protein structure. ```bash cd getcontacts/example/5xnd get_dynamic_contacts.py --topology 5xnd_topology.pdb \ --trajectory 5xnd_trajectory.dcd \ --itypes hb \ --output 5xnd_hbonds.tsv ``` -------------------------------- ### Install PyMol Source: https://github.com/a-r-j/graphein/blob/master/notebooks/protein_mesh_tutorial.ipynb Install PyMol, which is used by Graphein for initial mesh generation. This step is recommended for Colab environments. ```bash # Install pymol if necessary - in this tutorial PyMol is only used for the initial plot. Feel free to skip! # sudo apt-get install pymol (recommended for colab) OR conda install -c schrodinger pymol ``` -------------------------------- ### Install Graphein using Conda Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Clone the repository and use the provided environment file for Conda installation. ```bash git clone https://www.github.com/a-r-j/graphein cd graphein conda env create -f environment.yml pip install . ``` -------------------------------- ### Install Graphein and PyTorch Geometric Source: https://github.com/a-r-j/graphein/blob/master/notebooks/creating_datasets_from_the_pdb.ipynb Installs the necessary libraries for using Graphein and PyTorch Geometric. Ensure you have a compatible environment. ```python !pip install graphein !pip install torch_geometric ``` -------------------------------- ### Install Graphein and DSSP Source: https://github.com/a-r-j/graphein/blob/master/notebooks/higher_order_graphs.ipynb Installs the Graphein library and the DSSP tool, which is necessary for secondary structure analysis. Recommended for Colab environments. ```python # Install Graphein if necessary # !pip install graphein # Install DSSP if necessary # !sudo apt-get install dssp (better for colab) OR !conda install -c salilab dssp ``` -------------------------------- ### PPISP Graph Initialization Example 3 Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes a PPISP graph, detecting nodes and calculating edges. This example shows the structure for a protein with 522 nodes and 470 edges, followed by a calculation for 215 edges. ```python DGLGraph(num_nodes=95, num_edges=195, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) Detected 522 total nodes Contact file found: ['ppisp_contacts/4fq0_contacts.tsv'] Calculated 470 intramolecular interaction-based edges DGLGraph(num_nodes=182, num_edges=470, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` -------------------------------- ### PPISP Graph Initialization Example 1 Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes a PPISP graph with specific node and edge data schemes, detecting nodes and calculating edges. This example shows the structure for a protein with 601 nodes and 827 edges. ```python ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) Detected 601 total nodes Contact file found: ['ppisp_contacts/4f6u_contacts.tsv'] Calculated 827 intramolecular interaction-based edges DGLGraph(num_nodes=267, num_edges=827, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` -------------------------------- ### PPISP Graph Initialization Example 2 Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes a PPISP graph, detecting nodes and calculating edges. This example shows the structure for a protein with 713 nodes and 742 edges, followed by a calculation for 195 edges. ```python Detected 713 total nodes Contact file found: ['ppisp_contacts/4fou_contacts.tsv'] Calculated 742 intramolecular interaction-based edges DGLGraph(num_nodes=262, num_edges=742, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) Detected 713 total nodes Contact file found: ['ppisp_contacts/4fou_contacts.tsv'] Calculated 195 intramolecular interaction-based edges ``` -------------------------------- ### Install Graphein and PyTDC Source: https://github.com/a-r-j/graphein/blob/master/notebooks/molecule_model_tutorial_tox.ipynb Install the necessary libraries for Graphein and the Total Drug Combinatorial Library (TDC). Ensure PyTorch and related libraries are configured based on your system's requirements (e.g., CUDA). ```python # Install Graphein if necessary # !pip install graphein[extras] # Install TDC if necessary # !pip install PyTDC # NB you may need to install DL libraries such as pytorch, pytorch-lightning and torch-geometric # These are left to the user to configure as they depend on your particular desired configuration (e.g CUDA) ``` -------------------------------- ### DGLGraph Initialization Example 5 Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes a DGLGraph for a protein, showing node and edge data schemes after detecting nodes and calculating edges. This example is for a protein with 82 nodes and 192 edges. ```python Detected 174 total nodes Contact file found: ['ppisp_contacts/2o2v_contacts.tsv'] Calculated 192 intramolecular interaction-based edges DGLGraph(num_nodes=82, num_edges=192, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` -------------------------------- ### Build and Run Graphein Docker Container (GPU) Source: https://github.com/a-r-j/graphein/blob/master/README.md Build and manage the Graphein Docker container for GPU usage. Ensure NVIDIA Container Toolkit is installed and install the package locally after entering the container. ```bash docker-compose up -d --build # start the container docker-compose down # stop the container ``` -------------------------------- ### DGLGraph Initialization Example 2 Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes a DGLGraph for a protein, showing node and edge data schemes after detecting nodes and calculating edges. This example is for a protein with 158 nodes and 391 edges. ```python Detected 315 total nodes Contact file found: ['ppisp_contacts/2j3r_contacts.tsv'] Calculated 391 intramolecular interaction-based edges DGLGraph(num_nodes=158, num_edges=391, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` -------------------------------- ### Get Node Count from PDB (Fourth Example) Source: https://github.com/a-r-j/graphein/blob/master/notebooks/dataloader_tutorial.ipynb Reads a PDB file, constructs a protein graph, and returns the total number of nodes. This example is for a fourth PDB file. ```python graphein.protein.graphs.Graph.from_pdb(path="/home/arian/graphein/notebooks/2ll6.pdb").number_of_nodes() ``` -------------------------------- ### Get Node Count from PDB (Third Example) Source: https://github.com/a-r-j/graphein/blob/master/notebooks/dataloader_tutorial.ipynb Reads a PDB file, constructs a protein graph, and returns the total number of nodes. This example is for a third PDB file. ```python graphein.protein.graphs.Graph.from_pdb(path="/home/arian/graphein/notebooks/1lds.pdb").number_of_nodes() ``` -------------------------------- ### Get Node Count from PDB (Another Example) Source: https://github.com/a-r-j/graphein/blob/master/notebooks/dataloader_tutorial.ipynb Reads a PDB file, constructs a protein graph, and returns the total number of nodes. This example demonstrates the process for a different PDB file. ```python graphein.protein.graphs.Graph.from_pdb(path="/home/arian/graphein/notebooks/3eiy.pdb").number_of_nodes() ``` -------------------------------- ### Set up getcontacts Library Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Clones the getcontacts library and adds its directory to the system's PATH. ```bash # Set up getcontacts library git clone https://github.com/getcontacts/getcontacts.git echo "export PATH=`pwd`/getcontacts:$PATH" >> ~/.bash_profile source ~/.bash_profile ``` -------------------------------- ### Start Graphein GPU Docker Container Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Build and run the Graphein GPU Docker container in detached mode. Ensure NVIDIA Container Toolkit is installed for GPU usage. ```bash docker-compose up -d --build # start the container ``` -------------------------------- ### Start Graphein CPU Docker Container Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Build and run the Graphein CPU Docker container in detached mode. ```bash docker-compose.cpu up -d --build # start the container ``` -------------------------------- ### Loading PDB Structure and Initializing Graph Source: https://github.com/a-r-j/graphein/blob/master/datasets/pscdb/example_model_nb.ipynb This snippet demonstrates downloading a PDB structure, detecting nodes, and initializing a graph. It also shows the path to the PDB file. ```python Downloading PDB structure '1edz'... Downloaded PDB file for: 1edz Detected 0 HETATOM nodes Detected 317 total nodes 1edz ['../../examples/pdbs/1edz.pdb'] PDB file detected: ../../examples/pdbs/1edz.pdb ``` -------------------------------- ### Install PyTorch 1.9.0 Source: https://github.com/a-r-j/graphein/blob/master/notebooks/protein_mesh_tutorial.ipynb Install the specific version of PyTorch (1.9.0) required for PyTorch3D compatibility. Ensure this version is installed before proceeding. ```bash # Install torch 1.9.0 # pip install torch==1.9.0 ``` -------------------------------- ### Install Graphein and Dependencies Source: https://github.com/a-r-j/graphein/blob/master/notebooks/dataloader_tutorial.ipynb Install Graphein, PyTorch, and PyTorch Geometric if they are not already installed. Ensure compatibility between PyTorch and PyTorch Geometric versions. ```python # Install graphein if necessary # !pip install graphein # Install torch if necessary. See https://pytorch.org/get-started/locally/ # pip install torch==1.11.0 # Install torch geometric if necessary. See: https://pytorch-geometric.readthedocs.io/en/latest/notes/installation.html # pip install torch-scatter torch-sparse torch-cluster torch-spline-conv torch-geometric -f https://data.pyg.org/whl/torch-1.11.0+cpu.html ``` -------------------------------- ### Initialize PyTorch Lightning Trainer Source: https://github.com/a-r-j/graphein/blob/master/notebooks/tdc_developability.ipynb Sets up the trainer with specific configurations for GPU usage, benchmarking, and epoch limits. Use this to control the training environment. ```python #NBVAL_SKIP trainer = pl.Trainer( strategy=None, gpus=1, benchmark=True, deterministic=False, num_sanity_val_steps=0, max_epochs=10, ) ``` -------------------------------- ### Install vmd-python Library (Linux) Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Installs the vmd-python library using conda on Linux. ```bash # Set up vmd-python library conda install -c https://conda.anaconda.org/rbetz vmd-python ``` -------------------------------- ### PDB Download and Graph Construction Source: https://github.com/a-r-j/graphein/blob/master/datasets/pscdb/example_model_nb.ipynb This example shows the process of downloading a PDB structure, detecting nodes, and then computing contacts to form a DGLGraph. It includes the file path to the PDB and the resulting graph details. ```python Output: Downloading PDB structure '1qim'... Downloaded PDB file for: 1qim Detected 0 HETATOM nodes Detected 532 total nodes 1qim ['../../examples/pdbs/1qim.pdb'] PDB file detected: ../../examples/pdbs/1qim.pdb ``` ```python Output: Computed Contacts for: 1qim Calculated 1486 intramolecular interaction-based edges DGLGraph(num_nodes=1064, num_edges=1486, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) Detected 0 HETATOM nodes Detected 456 total nodes ``` -------------------------------- ### Protein Graph Initialization with Contact Data (Example 2) Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes a protein graph with different contact data. Displays node and edge schemes, detected nodes, contact file, and calculated intramolecular edges. ```python Detected 406 total nodes Contact file found: ['ppisp_contacts/3vu9_contacts.tsv'] Calculated 564 intramolecular interaction-based edges DGLGraph(num_nodes=215, num_edges=564, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) Detected 406 total nodes Contact file found: ['ppisp_contacts/3vu9_contacts.tsv'] Calculated 538 intramolecular interaction-based edges DGLGraph(num_nodes=191, num_edges=538, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` -------------------------------- ### Protein Graph Initialization with Contacts Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb This example demonstrates initializing a Protein Graph class with contact file information. It outputs detected nodes, contact file paths, calculated edges, and the resulting DGLGraph structure. ```python Detected 414 total nodes Contact file found: ['ppisp_contacts/3p8b_contacts.tsv'] Calculated 130 intramolecular interaction-based edges DGLGraph(num_nodes=60, num_edges=130, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` ```python Detected 414 total nodes Contact file found: ['ppisp_contacts/3p8b_contacts.tsv'] Calculated 325 intramolecular interaction-based edges DGLGraph(num_nodes=147, num_edges=325, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` ```python Detected 226 total nodes Contact file found: ['ppisp_contacts/3ph0_contacts.tsv'] Calculated 159 intramolecular interaction-based edges ``` -------------------------------- ### Install vmd-python Dependencies (macOS) Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Installs vmd-python dependencies using conda and Homebrew on macOS. ```bash # Install vmd-python dependencies conda install netcdf4 numpy pandas seaborn expat tk=8.5 # Alternatively use pip brew install netcdf pyqt # Assumes https://brew.sh/ is installed ``` -------------------------------- ### Install get_contact_ticc.py Dependencies Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Installs necessary Python packages for get_contact_ticc.py using conda and pip. ```bash # Install get_contact_ticc.py dependencies conda install scipy numpy scikit-learn matplotlib pandas cython seaborn pip install ticc==0.1.4 ``` -------------------------------- ### Protein Graph Initialization with Final Contacts Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb This example shows the final stages of protein graph initialization, including detected nodes, contact files, calculated edges, and the resulting DGLGraph object. ```python Detected 326 total nodes Contact file found: ['ppisp_contacts/3pv6_contacts.tsv'] Calculated 256 intramolecular interaction-based edges DGLGraph(num_nodes=112, num_edges=256, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` ```python Detected 286 total nodes Contact file found: ['ppisp_contacts/3q87_contacts.tsv'] Calculated 293 intramolecular interaction-based edges DGLGraph(num_nodes=122, num_edges=293, ``` -------------------------------- ### Install get_contact_ticc.py Dependencies (Linux) Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Installs Python dependencies for get_contact_ticc.py using conda and pip on Linux. ```bash # Install get_contact_ticc.py dependencies conda install scipy numpy scikit-learn matplotlib pandas cython pip install ticc==0.1.4 ``` -------------------------------- ### Protein Graph Initialization with Contact Data (Example 3) Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes a protein graph with different contact data. Displays node and edge schemes, detected nodes, contact file, and calculated intramolecular edges. ```python Detected 163 total nodes Contact file found: ['ppisp_contacts/3vz9_contacts.tsv'] Calculated 266 intramolecular interaction-based edges DGLGraph(num_nodes=103, num_edges=266, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) Detected 163 total nodes Contact file found: ['ppisp_contacts/3vz9_contacts.tsv'] Calculated 118 intramolecular interaction-based edges DGLGraph(num_nodes=60, num_edges=118, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` -------------------------------- ### PPISP Graph Initialization Example 5 Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Displays the structure of a PPISP graph with 71 nodes and 155 edges, including node and edge data schemes. ```python DGLGraph(num_nodes=71, num_edges=155, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` -------------------------------- ### Install PyTorch Geometric using Conda Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Install PyTorch Geometric using the specified Conda channels. ```bash conda install pytorch-geometric -c rusty1s -c conda-forge ``` -------------------------------- ### Protein Graph Initialization with Contact Data (Example 5) Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes a protein graph with different contact data. Displays node and edge schemes, detected nodes, contact file, and calculated intramolecular edges. ```python Detected 2008 total nodes Contact file found: ['ppisp_contacts/3w0l_contacts.tsv'] Calculated 1742 intramolecular interaction-based edges DGLGraph(num_nodes=598, num_edges=1742, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} ``` -------------------------------- ### Set up getcontacts Library (Linux) Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Clones the getcontacts library and updates the .bashrc file to include it in the PATH on Linux. ```bash # Set up getcontacts library git clone https://github.com/getcontacts/getcontacts.git echo "export PATH=`pwd`/getcontacts:$PATH" >> ~/.bashrc source ~/.bashrc ``` -------------------------------- ### Install PyMol using Conda Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Install PyMol via Conda, necessary for visualizations and mesh generation. ```bash conda install -c schrodinger pymol # Required for PyMol visualisations & mesh generation ``` -------------------------------- ### Protein Graph Initialization with Contact Data (Example 4) Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes a protein graph with different contact data. Displays node and edge schemes, detected nodes, contact file, and calculated intramolecular edges. ```python Detected 2008 total nodes Contact file found: ['ppisp_contacts/3w0l_contacts.tsv'] Calculated 1239 intramolecular interaction-based edges DGLGraph(num_nodes=426, num_edges=1239, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` -------------------------------- ### DGLGraph Initialization Example 5 Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes a DGLGraph with 115 nodes and 297 edges, detailing node and edge data schemes after detecting nodes and finding a contact file. ```text DGLGraph(num_nodes=115, num_edges=297, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) Detected 645 total nodes Contact file found: ['ppisp_contacts/3tu3_contacts.tsv'] Calculated 270 intramolecular interaction-based edges ``` -------------------------------- ### Initialize FoldCompLightningDataModule Source: https://github.com/a-r-j/graphein/blob/master/notebooks/foldcomp.ipynb Instantiate the data module with specified parameters for data directory, database, batch size, number of workers, and data splits. ```python data_module = FoldCompLightningDataModule( data_dir="./test_data/", database="afdb_swissprot_v4", batch_size=32, num_workers=4, train_split=0.7, val_split=0.2, test_split=0.1 ) ``` -------------------------------- ### Progress Bar Output Example 4 Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Example of a progress bar output during a computation, indicating 67% completion. ```text 67%|██████▋ | 282/422 [00:40<00:24, 5.83it/s] ``` -------------------------------- ### Progress Bar Output Example 3 Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Example of a progress bar output during a computation, indicating 66% completion. ```text 66%|██████▋ | 280/422 [00:40<00:28, 4.90it/s] ``` -------------------------------- ### Install Graphein Development Environment using Conda Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Clone the repository and create a Conda environment for development, including GPU builds. ```bash git clone https://www.github.com/a-r-j/graphein cd graphein conda env create -f environment-dev.yml pip install -e . # Install in editable mode ``` -------------------------------- ### Progress Bar Output Example 2 Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Example of a progress bar output during a computation, indicating 66% completion. ```text 66%|██████▌ | 278/422 [00:40<00:39, 3.66it/s] ``` -------------------------------- ### Progress Bar Output Example 1 Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Example of a progress bar output during a computation, indicating 66% completion. ```text 66%|██████▌ | 277/422 [00:39<00:35, 4.04it/s] ``` -------------------------------- ### DGLGraph Initialization Example 4 Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes a DGLGraph with 208 nodes and 432 edges, detailing node and edge data schemes after detecting nodes and finding a contact file. ```text DGLGraph(num_nodes=208, num_edges=432, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) Detected 2571 total nodes Contact file found: ['ppisp_contacts/3tgx_contacts.tsv'] Calculated 432 intramolecular interaction-based edges ``` -------------------------------- ### Install PyTorch3D using Conda Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Install PyTorch3D using the PyTorch Conda channel. Note that this requires fvcore and iopath. ```bash conda install -c pytorch3d pytorch3d # NB requires fvcore and iopath ``` -------------------------------- ### Protein Graph Initialization with Multiple Contact Files Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes protein graphs from multiple contact files, showing the resulting node and edge counts for each graph. ```python DGLGraph(num_nodes=119, num_edges=293, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) Detected 186 total nodes Contact file found: ['ppisp_contacts/1z3e_contacts.tsv'] Calculated 176 intramolecular interaction-based edges DGLGraph(num_nodes=67, num_edges=176, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) Detected 254 total nodes Contact file found: ['ppisp_contacts/1z5y_contacts.tsv'] Calculated 247 intramolecular interaction-based edges DGLGraph(num_nodes=118, num_edges=247, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) Detected 254 total nodes Contact file found: ['ppisp_contacts/1z5y_contacts.tsv'] ``` -------------------------------- ### DGLGraph Initialization Example 7 Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes a DGLGraph with 526 nodes and 1510 edges, detailing node and edge data schemes after detecting nodes and finding a contact file. ```text Detected 645 total nodes Contact file found: ['ppisp_contacts/3tu3_contacts.tsv'] Calculated 1510 intramolecular interaction-based edges DGLGraph(num_nodes=526, num_edges=1510, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` -------------------------------- ### Install DSSP using Conda Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Install the DSSP package via Conda, which is required for computing secondary structural features. ```bash conda install -c salilab dssp # Required for computing secondary structural features ``` -------------------------------- ### DGLGraph Initialization Example 1 Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes a DGLGraph with 197 nodes and 447 edges, detailing node and edge data schemes. ```text Calculated 447 intramolecular interaction-based edges DGLGraph(num_nodes=197, num_edges=447, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` -------------------------------- ### Install Graphein Development Dependencies using Pip Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Use pip to install Graphein with development dependencies or all available dependencies. ```bash pip install graphein[dev] # For dev dependencies pip install graphein[all] # To get the lot ``` -------------------------------- ### DGLGraph Initialization Example 2 Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes a DGLGraph with 198 nodes and 592 edges, including node and edge data schemes. ```text Calculated 592 intramolecular interaction-based edges DGLGraph(num_nodes=198, num_edges=592, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` -------------------------------- ### Graph Construction with HETATOM Nodes and Interaction Edges Source: https://github.com/a-r-j/graphein/blob/master/datasets/pscdb/example_model_nb.ipynb This example shows graph construction for a protein structure with a specific number of HETATOM nodes and total nodes, including the calculation of intramolecular interaction-based edges. ```python Detected 21 HETATOM nodes Detected 1345 total nodes Contact file found: ['../../examples/contacts/2p0m_contacts.tsv'] Calculated 1850 intramolecular interaction-based edges DGLGraph(num_nodes=663, num_edges=1850, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` -------------------------------- ### Install DGL using Conda Source: https://github.com/a-r-j/graphein/blob/master/docs/source/getting_started/installation.rst Install the Deep Graph Library (DGL) using the DGL team's Conda channel. ```bash conda install -c dglteam dgl ``` -------------------------------- ### DGLGraph Initialization with Contact File Information Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Illustrates the initialization of a DGLGraph, including detected node counts and contact file information. This helps in understanding the data source and graph size. ```python Detected 343 total nodes Contact file found: ['ppisp_contacts/3r07_contacts.tsv'] Calculated 203 intramolecular interaction-based edges DGLGraph(num_nodes=88, num_edges=203, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` -------------------------------- ### Protein Graph Initialization and Edge Calculation (Variant 2) Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Demonstrates protein graph initialization with a different contact file and edge calculation. This output shows the DGLGraph structure after processing another protein. ```text Detected 530 total nodes Contact file found: ['ppisp_contacts/1k74_contacts.tsv'] Calculated 697 intramolecular interaction-based edges DGLGraph(num_nodes=242, num_edges=697, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` -------------------------------- ### Structural Interactomics Setup Source: https://github.com/a-r-j/graphein/blob/master/notebooks/ppi_graph.ipynb Imports and configuration for constructing and visualizing structural interactomes. This setup is necessary for analyzing protein-protein interactions at a structural level. ```python import matplotlib.pyplot as plt logging.getLogger("matplotlib").setLevel(logging.WARNING) from graphein.protein.config import ProteinGraphConfig from graphein.protein.graphs import construct_graph from graphein.protein.utils import download_alphafold_structure from graphein.protein.visualisation import plot_protein_structure_graph pg_config = ProteinGraphConfig() ``` -------------------------------- ### Protein Graph Initialization for 1e4k (First Instance) Source: https://github.com/a-r-j/graphein/blob/master/datasets/ppisp/ppisp_example.ipynb Initializes a protein graph for '1e4k', calculating edges from its contact file. Displays the DGLGraph structure. ```python Detected 604 total nodes Contact file found: ['ppisp_contacts/1e4k_contacts.tsv'] Calculated 882 intramolecular interaction-based edges DGLGraph(num_nodes=432, num_edges=882, ndata_schemes={'id': Scheme(shape=(), dtype=dtype('O')), 'residue_name': Scheme(shape=(), dtype=dtype('O')), 'h': Scheme(shape=(7,), dtype=torch.float32), 'coords': Scheme(shape=(3,), dtype=torch.float32), 'ss': Scheme(shape=(9,), dtype=torch.float32), 'asa': Scheme(shape=(1,), dtype=torch.float32), 'rsa': Scheme(shape=(1,), dtype=torch.float32)} edata_schemes={'rel_type': Scheme(shape=(17,), dtype=torch.float64), 'norm': Scheme(shape=(), dtype=torch.float32)}) ``` -------------------------------- ### Install Optional Conda Dependencies Source: https://github.com/a-r-j/graphein/blob/master/README.md Install DSSP and PyMol using Conda, which are required for specific features like secondary structure computation and PyMol visualizations. ```bash conda install -c salilab dssp # Required for computing secondary structural features conda install -c schrodinger pymol # Required for PyMol visualisations & mesh generation ```