| | import os |
| | from rdkit import Chem |
| | import torch |
| | import numpy as np |
| |
|
| | |
| | |
| | |
| | FLOAT_TYPE = torch.float32 |
| | INT_TYPE = torch.int64 |
| |
|
| |
|
| | |
| | |
| | |
| |
|
| | atom_dict = os.environ.get('ATOM_DICT') |
| | if atom_dict == 'simple': |
| | atom_encoder = {'C': 0, 'N': 1, 'O': 2, 'S': 3, 'B': 4, 'Br': 5, 'Cl': 6, 'P': 7, 'I': 8, 'F': 9, 'NOATOM': 10} |
| | atom_decoder = ['C', 'N', 'O', 'S', 'B', 'Br', 'Cl', 'P', 'I', 'F', 'NOATOM'] |
| |
|
| | else: |
| | atom_encoder = {'C': 0, 'N': 1, 'O': 2, 'S': 3, 'B': 4, 'Br': 5, 'Cl': 6, 'P': 7, 'I': 8, 'F': 9, 'NH': 10, 'N+': 11, 'O-': 12, 'NOATOM': 13} |
| | atom_decoder = ['C', 'N', 'O', 'S', 'B', 'Br', 'Cl', 'P', 'I', 'F', 'NH', 'N+', 'O-', 'NOATOM'] |
| |
|
| | bond_encoder = {"NOBOND": 0, "SINGLE": 1, "DOUBLE": 2, "TRIPLE": 3, 'AROMATIC': 4} |
| | bond_decoder = [None, Chem.rdchem.BondType.SINGLE, Chem.rdchem.BondType.DOUBLE, Chem.rdchem.BondType.TRIPLE, Chem.rdchem.BondType.AROMATIC] |
| |
|
| | aa_encoder = {'A': 0, 'C': 1, 'D': 2, 'E': 3, 'F': 4, 'G': 5, 'H': 6, 'I': 7, 'K': 8, 'L': 9, 'M': 10, 'N': 11, 'P': 12, 'Q': 13, 'R': 14, 'S': 15, 'T': 16, 'V': 17, 'W': 18, 'Y': 19} |
| | aa_decoder = ['A', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'W', 'Y'] |
| |
|
| | residue_encoder = {'CA': 0, 'SS': 1} |
| | residue_decoder = ['CA', 'SS'] |
| |
|
| | residue_bond_encoder = {'CA-CA': 0, 'CA-SS': 1, 'NOBOND': 2} |
| | residue_bond_decoder = ['CA-CA', 'CA-SS', None] |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | aa_atom_index = { |
| | 'A': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4}, |
| | 'C': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'SG': 5}, |
| | 'D': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'CG': 5, 'OD1': 6, 'OD2': 7}, |
| | 'E': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'CG': 5, 'CD': 6, 'OE1': 7, 'OE2': 8}, |
| | 'F': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'CG': 5, 'CD1': 6, 'CD2': 7, 'CE1': 8, 'CE2': 9, 'CZ': 10}, |
| | 'G': {'N': 0, 'CA': 1, 'C': 2, 'O': 3}, |
| | 'H': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'CG': 5, 'ND1': 6, 'CD2': 7, 'CE1': 8, 'NE2': 9}, |
| | 'I': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'CG1': 5, 'CG2': 6, 'CD1': 7}, |
| | 'K': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'CG': 5, 'CD': 6, 'CE': 7, 'NZ': 8}, |
| | 'L': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'CG': 5, 'CD1': 6, 'CD2': 7}, |
| | 'M': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'CG': 5, 'SD': 6, 'CE': 7}, |
| | 'N': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'CG': 5, 'OD1': 6, 'ND2': 7}, |
| | 'P': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'CG': 5, 'CD': 6}, |
| | 'Q': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'CG': 5, 'CD': 6, 'OE1': 7, 'NE2': 8}, |
| | 'R': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'CG': 5, 'CD': 6, 'NE': 7, 'CZ': 8, 'NH1': 9, 'NH2': 10}, |
| | 'S': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'OG': 5}, |
| | 'T': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'OG1': 5, 'CG2': 6}, |
| | 'V': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'CG1': 5, 'CG2': 6}, |
| | 'W': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'CG': 5, 'CD1': 6, 'CD2': 7, 'NE1': 8, 'CE2': 9, 'CE3': 10, 'CZ2': 11, 'CZ3': 12, 'CH2': 13}, |
| | 'Y': {'N': 0, 'CA': 1, 'C': 2, 'O': 3, 'CB': 4, 'CG': 5, 'CD1': 6, 'CD2': 7, 'CE1': 8, 'CE2': 9, 'CZ': 10, 'OH': 11}, |
| | } |
| |
|
| | |
| | |
| | |
| |
|
| | |
| | aa_atom_mask = { |
| | 'A': [True, True, True, True, True, False, False, False, False, False, False, False, False, False], |
| | 'C': [True, True, True, True, True, True, False, False, False, False, False, False, False, False], |
| | 'D': [True, True, True, True, True, True, True, True, False, False, False, False, False, False], |
| | 'E': [True, True, True, True, True, True, True, True, True, False, False, False, False, False], |
| | 'F': [True, True, True, True, True, True, True, True, True, True, True, False, False, False], |
| | 'G': [True, True, True, True, False, False, False, False, False, False, False, False, False, False], |
| | 'H': [True, True, True, True, True, True, True, True, True, True, False, False, False, False], |
| | 'I': [True, True, True, True, True, True, True, True, False, False, False, False, False, False], |
| | 'K': [True, True, True, True, True, True, True, True, True, False, False, False, False, False], |
| | 'L': [True, True, True, True, True, True, True, True, False, False, False, False, False, False], |
| | 'M': [True, True, True, True, True, True, True, True, False, False, False, False, False, False], |
| | 'N': [True, True, True, True, True, True, True, True, False, False, False, False, False, False], |
| | 'P': [True, True, True, True, True, True, True, False, False, False, False, False, False, False], |
| | 'Q': [True, True, True, True, True, True, True, True, True, False, False, False, False, False], |
| | 'R': [True, True, True, True, True, True, True, True, True, True, True, False, False, False], |
| | 'S': [True, True, True, True, True, True, False, False, False, False, False, False, False, False], |
| | 'T': [True, True, True, True, True, True, True, False, False, False, False, False, False, False], |
| | 'V': [True, True, True, True, True, True, True, False, False, False, False, False, False, False], |
| | 'W': [True, True, True, True, True, True, True, True, True, True, True, True, True, True], |
| | 'Y': [True, True, True, True, True, True, True, True, True, True, True, True, False, False], |
| | } |
| |
|
| | |
| | |
| | aa_nerf_indices = { |
| | 'A': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'C': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'D': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [5, 4, 1], [5, 4, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'E': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [5, 4, 1], [6, 5, 4], [6, 5, 4], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'F': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [5, 4, 1], [5, 4, 1], [6, 5, 4], [7, 5, 4], [8, 6, 5], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'G': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'H': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [5, 4, 1], [5, 4, 1], [6, 5, 4], [7, 5, 4], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'I': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [4, 1, 0], [5, 4, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'K': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [5, 4, 1], [6, 5, 4], [7, 6, 5], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'L': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [5, 4, 1], [5, 4, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'M': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [5, 4, 1], [6, 5, 4], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'N': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [5, 4, 1], [5, 4, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'P': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [5, 4, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'Q': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [5, 4, 1], [6, 5, 4], [6, 5, 4], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'R': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [5, 4, 1], [6, 5, 4], [7, 6, 5], [8, 7, 6], [8, 7, 6], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'S': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'T': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [4, 1, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'V': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [4, 1, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], |
| | 'W': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [5, 4, 1], [5, 4, 1], [6, 5, 4], [7, 5, 4], [7, 5, 4], [9, 7, 5], [10, 7, 5], [11, 9, 7]], |
| | 'Y': [[0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 1, 0], [1, 0, 0], [4, 1, 0], [5, 4, 1], [5, 4, 1], [6, 5, 4], [7, 5, 4], [8, 6, 5], [10, 8, 6], [0, 0, 0], [0, 0, 0]], |
| | } |
| |
|
| | |
| | aa_bond_to_chi = { |
| | 'A': {}, |
| | 'C': {('CA', 'CB'): 0}, |
| | 'D': {('CA', 'CB'): 0, ('CB', 'CG'): 1}, |
| | 'E': {('CA', 'CB'): 0, ('CB', 'CG'): 1, ('CG', 'CD'): 2}, |
| | 'F': {('CA', 'CB'): 0, ('CB', 'CG'): 1}, |
| | 'G': {}, |
| | 'H': {('CA', 'CB'): 0, ('CB', 'CG'): 1}, |
| | 'I': {('CA', 'CB'): 0, ('CB', 'CG2'): 1}, |
| | 'K': {('CA', 'CB'): 0, ('CB', 'CG'): 1, ('CG', 'CD'): 2, ('CD', 'CE'): 3}, |
| | 'L': {('CA', 'CB'): 0, ('CB', 'CG'): 1}, |
| | 'M': {('CA', 'CB'): 0, ('CB', 'CG'): 1, ('CG', 'SD'): 2}, |
| | 'N': {('CA', 'CB'): 0, ('CB', 'CG'): 1}, |
| | 'P': {}, |
| | 'Q': {('CA', 'CB'): 0, ('CB', 'CG'): 1, ('CG', 'CD'): 2}, |
| | 'R': {('CA', 'CB'): 0, ('CB', 'CG'): 1, ('CG', 'CD'): 2, ('CD', 'NE'): 3, ('NE', 'CZ'): 4}, |
| | 'S': {('CA', 'CB'): 0}, |
| | 'T': {('CA', 'CB'): 0}, |
| | 'V': {('CA', 'CB'): 0}, |
| | 'W': {('CA', 'CB'): 0, ('CB', 'CG'): 1}, |
| | 'Y': {('CA', 'CB'): 0, ('CB', 'CG'): 1}, |
| | } |
| |
|
| | |
| | aa_chi_indices = { |
| | 'A': [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], |
| | 'C': [-1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1], |
| | 'D': [-1, -1, -1, -1, -1, 0, 1, 1, -1, -1, -1, -1, -1, -1], |
| | 'E': [-1, -1, -1, -1, -1, 0, 1, 2, 2, -1, -1, -1, -1, -1], |
| | 'F': [-1, -1, -1, -1, -1, 0, 1, 1, -1, -1, -1, -1, -1, -1], |
| | 'G': [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], |
| | 'H': [-1, -1, -1, -1, -1, 0, 1, 1, -1, -1, -1, -1, -1, -1], |
| | 'I': [-1, -1, -1, -1, -1, 0, 0, 1, -1, -1, -1, -1, -1, -1], |
| | 'K': [-1, -1, -1, -1, -1, 0, 1, 2, 3, -1, -1, -1, -1, -1], |
| | 'L': [-1, -1, -1, -1, -1, 0, 1, 1, -1, -1, -1, -1, -1, -1], |
| | 'M': [-1, -1, -1, -1, -1, 0, 1, 2, -1, -1, -1, -1, -1, -1], |
| | 'N': [-1, -1, -1, -1, -1, 0, 1, 1, -1, -1, -1, -1, -1, -1], |
| | 'P': [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], |
| | 'Q': [-1, -1, -1, -1, -1, 0, 1, 2, 2, -1, -1, -1, -1, -1], |
| | 'R': [-1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 4, -1, -1, -1], |
| | 'S': [-1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1], |
| | 'T': [-1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1], |
| | 'V': [-1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1], |
| | 'W': [-1, -1, -1, -1, -1, 0, 1, 1, -1, -1, -1, -1, -1, -1], |
| | 'Y': [-1, -1, -1, -1, -1, 0, 1, 1, -1, -1, -1, -1, -1, -1], |
| | } |
| |
|
| | |
| | aa_chi_anchor_atom = { |
| | 'A': {}, |
| | 'C': {0: 5}, |
| | 'D': {0: 5, 1: 6}, |
| | 'E': {0: 5, 1: 6, 2: 7}, |
| | 'F': {0: 5, 1: 6}, |
| | 'G': {}, |
| | 'H': {0: 5, 1: 6}, |
| | 'I': {0: 5, 1: 7}, |
| | 'K': {0: 5, 1: 6, 2: 7, 3: 8}, |
| | 'L': {0: 5, 1: 6}, |
| | 'M': {0: 5, 1: 6, 2: 7}, |
| | 'N': {0: 5, 1: 6}, |
| | 'P': {}, |
| | 'Q': {0: 5, 1: 6, 2: 7}, |
| | 'R': {0: 5, 1: 6, 2: 7, 3: 8, 4: 9}, |
| | 'S': {0: 5}, |
| | 'T': {0: 5}, |
| | 'V': {0: 5}, |
| | 'W': {0: 5, 1: 6}, |
| | 'Y': {0: 5, 1: 6}, |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | colors_dic = ['#33ff33', '#3333ff', '#ff4d4d', '#e6c540', '#ffb5b5', '#A62929', '#1FF01F', '#ff8000', '#940094', '#B3FFFF', '#b3e3f5'] |
| | radius_dic = [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3] |
| |
|
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | N_CA_DIST = 1.47 |
| | CA_C_DIST = 1.53 |
| | N_CA_C_ANGLE = 110 * np.pi / 180 |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | |
| | vdw_radii = {'N': 1.55, 'O': 1.52, 'C': 1.70, 'H': 1.10, 'S': 1.80, 'P': 1.80, |
| | 'Se': 1.90, 'K': 2.75, 'Na': 2.27, 'Mg': 1.73, 'Zn': 1.39, 'B': 1.92, |
| | 'Br': 1.85, 'Cl': 1.75, 'I': 1.98, 'F': 1.47} |
| |
|
| |
|
| | WEBDATASET_SHARD_SIZE = 50000 |
| | WEBDATASET_VAL_SIZE = 100 |