diff --git a/modisco/util.py b/modisco/util.py index 86615d2..722aad8 100644 --- a/modisco/util.py +++ b/modisco/util.py @@ -474,9 +474,14 @@ def compute_per_position_ic(ppm, background, pseudocount): assert len(ppm.shape)==2 assert ppm.shape[1]==len(background),\ "Make sure the letter axis is the second axis" - assert (np.max(np.abs(np.sum(ppm, axis=1)-1.0)) < 1e-5),( - "Probabilities don't sum to 1 along axis 1 in " - +str(ppm)+"\n"+str(np.sum(ppm, axis=1))) + if (np.max(np.abs(np.sum(ppm, axis=1)-1.0)) < 1e-5): + print("WARNING: Probabilities don't sum to 1 in all the rows; this can" + +" be caused by zero-padding. Will renormalize. PPM:\n" + +str(ppm) + +"\nProbability sums:\n" + +str(np.sum(ppm, axis=1))) + ppm = ppm/np.sum(ppm, axis=1)[:,None] + alphabet_len = len(background) ic = ((np.log((ppm+pseudocount)/(1 + pseudocount*alphabet_len))/np.log(2)) *ppm - (np.log(background)*background/np.log(2))[None,:]) diff --git a/setup.py b/setup.py index 0c43c38..2012fe4 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ description='TF MOtif Discovery from Importance SCOres', long_description="""Algorithm for discovering consolidated patterns from base-pair-level importance scores""", url='https://github.com/kundajelab/tfmodisco', - version='0.5.10.0', + version='0.5.10.1', packages=find_packages(), package_data={ '': ['cluster/phenograph/louvain/*convert*', 'cluster/phenograph/louvain/*community*', 'cluster/phenograph/louvain/*hierarchy*']