コード例 #1
0
import os

from pickle import load, dump

from types import MethodType

import sys
import logging

from ve.config import data237_paraepi_cache as cache_dir

from common import make_logger
logger = make_logger("Paratope Epitope Detection")

#cache utility
from ve.fp.complex_util.cache import ParatopeCache as PCache, EpitopeCache as ECache

#solving trait dependency issue
from ve.fp.complex_util.propagate_distcache import DistanceCachePropagationTrait

class ParatopeNotFoundError(Exception):pass
class EpitopeNotFoundError(Exception):pass

class FindParaEpiTrait(DistanceCachePropagationTrait):
    """
    find epitope and paratope trait
    
    Dependency:
    1. dist cache propagation
    """
コード例 #2
0
"""
Propagate the complex's distance matrix cache to all its residues
"""
from itertools import chain
from types import MethodType

from ve.util.dist import ResDistCache

from common import make_logger
logger = make_logger("Distance Cache Propagation")

class DistanceCachePropagationTrait(object):
    """
    Distance cache needs to be populated to residues
    propagate the distance matrix cache to all the subordinating residues
    """
    def __init__(self, cache_cls = ResDistCache):
        super(DistanceCachePropagationTrait,self).__init__()
        self.distcache = cache_cls()

        self.prop_dist_cache()
        
    def prop_dist_cache(self):
        """
        propagate the distance matrix cache to all the subordinating residues
        """
        logger.debug("propagating distance cache to residues")
        for r in chain(self.atg.residues, self.atb.residues):
            r.distcache = self.distcache
"""
def init_propagate_distcache_trait(self, cache_cls = ResDistCache):
コード例 #3
0
from ve.fp.residue_util.res_triangle import ResTriangle

from ve.fp.complex_util.paraepi import FindParaEpiTrait
from types import MethodType

from common import make_logger
logger = make_logger("Residue Triangle Detection")

from ve.fp.complex_util.cache import TriangleCache as cache

class ResidueTriangleTrait(FindParaEpiTrait):
    """
    find triangles in the epitope part of the complex.

    Dependency:
    1, epitope finding trait
    """
    def get_triangles(self, refresh = False):
        #cached in memory already
        if hasattr(self, "triangles"):
            return self.triangles
            
        #cached in local file already
        if not refresh and cache.has_cache(self.c_id):
            self.triangles = cache.load(self.c_id, self)
            assert(len(self.triangles) != 0)
            return self.triangles
            
        #stores residue tuples that are possible to form triangle with external residue
        still_possible_pairs = []