Source code for rhapsody.features.BLOSUM

# -*- coding: utf-8 -*-
"""This module defines a function for deriving features
from a precomputed BLOSUM substitution matrix."""

import numpy as np
from Bio.SubsMat.MatrixInfo import blosum62

__author__ = "Luca Ponzoni"
__date__ = "December 2019"
__maintainer__ = "Luca Ponzoni"
__email__ = "lponzoni@pitt.edu"
__status__ = "Production"

__all__ = ['BLOSUM_FEATS', 'calcBLOSUMfeatures']

BLOSUM_FEATS = ['BLOSUM']
"""Features computed from BLOSUM62 substitution matrix."""


[docs]def calcBLOSUMfeatures(SAV_coords): feat_dtype = np.dtype([('BLOSUM', 'f')]) features = np.zeros(len(SAV_coords), dtype=feat_dtype) for i, SAV in enumerate(SAV_coords): aa1 = SAV.split()[2] aa2 = SAV.split()[3] features[i] = blosum62.get((aa1, aa2), blosum62.get((aa2, aa1))) return features