def likelihood(self, mapping_data, database='default.db.dists', db_obj=None): frags = self.explode() if not db_obj: db = pickle.load(open('%s/models/%s' % (settings.MAPPING_DATABASE_PATH, database))) else: db = db_obj data = mapping.normalize(mapping_data) probs = array([1.]*len(self.dbn)) for k in frags: if len(frags[k]) > 0 and k in db: g = stats.gamma(db[k][0], db[k][1], db[k][2]) for frag in frags[k]: for i in frag: if g.pdf(data[i]) > 0: probs[i] = g.pdf(data[i]) return probs, prod(probs)
from matplotlib.pylab import * from rdatkit.datahandlers import RDATFile from rdatkit.view import VARNA from rdatkit.secondary_structure import fold from rdatkit.mapping import MappingData, normalize from analysis import eigen_reactivities import sys rdat = RDATFile() rdat.load(open(sys.argv[1])) vals = array(rdat.values.values()[0]) for i in xrange(shape(vals)[0]): vals[i, :] = normalize(vals[i, :]) eigenrs = eigen_reactivities(vals) matshow(vals) #mshow(vals, cmap=get_cmap('Greys'), vmin=0, vmax=vals.mean(), aspect='auto', interpolation='nearest') matshow(eigenrs) #imshow(eigenrs, cmap=get_cmap('Greys'), vmin=eigenrs.min(), vmax=eigenrs.mean(), aspect='auto', interpolation='nearest') show() construct = rdat.constructs.values()[0] for i, e in enumerate(eigenrs[:35]): sequence = construct.sequence md = MappingData( data=e, seqpos=[s - construct.offset - 1 for s in construct.seqpos]) print fold(sequence, mapping_data=md) structure = fold(sequence, mapping_data=md)[0].dbn VARNA.cmd(sequence, structure, 'test_results/eigen_struct%s.png' % i)
from matplotlib.pylab import * from rdatkit.datahandlers import RDATFile from rdatkit.view import VARNA from rdatkit.secondary_structure import fold from rdatkit.mapping import MappingData, normalize from analysis import eigen_reactivities import sys rdat = RDATFile() rdat.load(open(sys.argv[1])) vals = array(rdat.values.values()[0]) for i in xrange(shape(vals)[0]): vals[i,:] = normalize(vals[i,:]) eigenrs = eigen_reactivities(vals) matshow(vals) #mshow(vals, cmap=get_cmap('Greys'), vmin=0, vmax=vals.mean(), aspect='auto', interpolation='nearest') matshow(eigenrs) #imshow(eigenrs, cmap=get_cmap('Greys'), vmin=eigenrs.min(), vmax=eigenrs.mean(), aspect='auto', interpolation='nearest') show() construct = rdat.constructs.values()[0] for i, e in enumerate(eigenrs[:35]): sequence = construct.sequence md = MappingData(data=e, seqpos=[s - construct.offset - 1 for s in construct.seqpos]) print fold(sequence, mapping_data=md) structure = fold(sequence, mapping_data=md)[0].dbn VARNA.cmd(sequence, structure, 'test_results/eigen_struct%s.png' % i)