import importlib.util import logging import os import time from typing import List, NamedTuple, Optional, Tuple from graphein.protein.config import ProteinMeshConfig from graphein.utils.pymol import MolViewer from graphein.utils.utils import import_message try: from pytorch3d.structures import Meshes except ImportError: import_message( submodule="graphein.protein.meshes", package="pytorch3d", conda_channel="pytorch3d", pip_install=True, ) log = logging.getLogger(__name__) def check_for_pymol_installation(): """Checks for presence of a pymol installation""" spec = importlib.util.find_spec("pymol") if spec is None: log.error( "Please install pymol: conda install -c schrodinger pymol or conda install -c tpeulen pymol-open-source" )
from pathlib import Path import networkx as nx from graphein.protein.features.sequence.utils import ( compute_feature_over_chains, subset_by_node_feature_value, ) from graphein.utils.utils import import_message try: import torch except ImportError: import_message( submodule="graphein.protein.features.sequence.embeddings", package="torch", pip_install=True, conda_channel="pytorch", ) try: import biovec except ImportError: import_message( submodule="graphein.protein.features.sequence.embeddings", package="biovec", pip_install=True, ) @lru_cache() def _load_esm_model(model_name: str = "esm1b_t33_650M_UR50S"):
from typing import Dict, Tuple import networkx as nx from graphein.utils.utils import import_message, protein_letters_3to1_all_caps try: from pyaaisc import Aaindex except ImportError: import_message( submodule="graphein.protein.features.nodes.aaindex", package="pyaaisc", pip_install=True, ) def fetch_AAIndex(accession: str) -> Tuple[str, Dict[str, float]]: """ Fetches AAindex1 dictionary from an accession code. The dictionary maps one-letter AA codes to float values :param accession: Aaindex1 accession code :type accession: str :return: tuple of record titel(str) and dictionary of AA:value mappings :rtype: Tuple[str, Dict[str, float]] """ # Initialise AAindex object and get data aaindex = Aaindex() record = aaindex.get(accession) return record.title, record.index_data
from __future__ import annotations from typing import List, Optional import networkx as nx import numpy as np import torch from graphein.utils.utils import import_message try: from torch_geometric.data import Data except ImportError: import_message( submodule="graphein.ml.conversion", package="torch_geometric", pip_install=True, conda_channel="rusty1s", ) try: import dgl except ImportError: import_message( submodule="graphein.ml.conversion", package="dgl", pip_install=True, conda_channel="dglteam", ) SUPPORTED_FORMATS = ["nx", "pyg", "dgl"] """Supported conversion formats.
# Author: Ramon Vinas, Arian Jamasb <*****@*****.**> # License: MIT # Project Website: https://github.com/a-r-j/graphein # Code Repository: https://github.com/a-r-j/graphein from typing import Any, Dict import networkx as nx from graphein.utils.utils import import_message try: from bioservices import HGNC, UniProt except ImportError: import_message( submodule="graphein.ppi.features.nodes_features", package="bioservices", conda_channel="bioconda", pip_install=True, ) def add_sequence_to_nodes(n: str, d: Dict[str, Any]): """ Maps UniProt ACC to UniProt ID. Retrieves sequence from UniProt and adds it to the node as a feature :param n: Graph node. :type n: str :param d: Graph attribute dictionary. :type d: Dict[str, Any] """ h = HGNC(verbose=False) u = UniProt(verbose=False)
import networkx as nx import numpy as np import plotly.express as px import plotly.graph_objects as go import seaborn as sns from mpl_toolkits.mplot3d import Axes3D from graphein.protein.subgraphs import extract_k_hop_subgraph from graphein.utils.utils import import_message try: from pytorch3d.ops import sample_points_from_meshes except ImportError: import_message( submodule="graphein.protein.visualisation", package="pytorch3d", conda_channel="pytorch3d", ) log = logging.getLogger() def plot_pointcloud(mesh: Meshes, title: str = "") -> Axes3D: """ Plots pytorch3d Meshes object as pointcloud. :param mesh: Meshes object to plot. :type mesh: pytorch3d.structures.meshes.Meshes :param title: Title of plot. :type title: str :return: returns Axes3D containing plot