Ejemplo n.º 1
0
 def __init__(
         self,
         K,
         p_binding_site,
         background_order,
         num_background_mosaics,
         background_model_creator,
         emission_dists = None,
         prior_strength = 0.0,
         interesting_ic_per_base = .3
 ):
     BaseTraits.__init__(
             self,
             K,
             p_binding_site,
             background_order,
             num_background_mosaics,
             background_model_creator,
             prior_strength = prior_strength
     )
     self.model_builder = hmm.pssm.ModelBuilder(self.order)
     self.background_states = set(xrange(num_background_mosaics))
     self.reverse_complements = set()
     self.reverse_complements = dict(
       (state, state - self.K)
       for state in
             xrange(num_background_mosaics + K, num_background_mosaics + 2*K)
     )
     self.emission_dists = emission_dists
     self.prior_strength = prior_strength
     self.interesting_ic_per_base = interesting_ic_per_base
     if None != emission_dists and self.K != len(emission_dists):
         raise RuntimeError('K and len(emission_dists) mismatch')
Ejemplo n.º 2
0
 def __init__(
         self,
         K,
         p_binding_site,
         background_order,
         num_background_mosaics,
         background_model_creator,
         emission_dists = None,
         p_gap = 0.35,
         gap_threshold = 0.1,
         ic_threshold = 0.5,
         prior_strength = 0.0
 ):
     BaseTraits.__init__(
             self,
             K,
             p_binding_site,
             background_order,
             num_background_mosaics,
             background_model_creator,
             prior_strength = prior_strength
     )
     self.K_prime = 2 * self.K - 1
     self.model_builder = hmm.pssm.ModelBuilder(self.order)
     self.background_states = range(num_background_mosaics)
     self.reverse_complements = dict(
       (state, state - self.K_prime)
       for state in
             xrange(num_background_mosaics + self.K_prime, num_background_mosaics + 2*self.K_prime)
     )
     self.emission_dists = emission_dists
     self.p_gap = p_gap
     self.gap_threshold = gap_threshold
     self.ic_threshold = ic_threshold
Ejemplo n.º 3
0
 def log_info(self, model, log):
     model = hmm.as_model(model)
     BaseTraits.log_info(self, model, log)
     log.info('Adjusted IC/base = %.4f' % self.information_content_per_base(model))
     A = model.A
     for k in xrange(self.K):
         p_gap = self.p_gap_for_model(model, k)
         if p_gap > self.gap_threshold:
             log.info('p(gap at %d) = %.4f' % (k, p_gap))