@@ -89,10 +89,13 @@ def _load_data(self, files):
8989 logger .debug ("Contig(pid=%r, fn=%r, n=%r, a=%r)" , c .pid , c .fn , c .n , c .a )
9090 logger .info ("%d population%s" , self .npop , "" if self .npop == 1 else "s" )
9191 self ._esfs = estimation_tools .empirical_sfs (self ._contigs )
92- logger .debug ("Empirical CSFS:\n %s\n %s" , self ._esfs ,
93- self ._esfs .astype ('float' ) / self ._esfs .sum ())
92+ logger .debug ("Empirical CSFS:\n %s" , self ._esfs )
9493 sfs = util .undistinguished_sfs (self ._esfs )
95- logger .debug ("Empirical SFS:\n %s" , sfs .astype ('float' ) / sfs .sum ())
94+ try :
95+ logger .debug ("Normalized empirical CSFS:\n %s" , self ._esfs .astype ('float' ) / self ._esfs .sum ())
96+ logger .debug ("Normalized empirical SFS:\n %s" , sfs .astype ('float' ) / sfs .sum ())
97+ except :
98+ pass
9699
97100 def _validate_data (self ):
98101 for c in self ._contigs :
@@ -142,7 +145,12 @@ def _normalize_data(self, length_cutoff, filter):
142145 w , het = np .array ([a [2 :] for k in attrs for a in attrs [k ]]).T
143146 self ._het = avg = np .average (het , weights = w )
144147 logger .debug ("Heterozygosity: %f" , self ._het )
145- logger .debug ("1. - esfs[0]: %f" , 1. - (self ._esfs .flat [0 ] / self ._esfs .sum ()))
148+ try :
149+ logger .debug ("1. - esfs[0]: %f" , 1. - (self ._esfs .flat [0 ] / self ._esfs .sum ()))
150+ except :
151+ # self._esfs.sum() == 0
152+ logger .warn ("sum(esfs) = 0?" )
153+ pass
146154 if self ._het == 0 :
147155 logger .error ("Data contain *no* mutations. Inference is impossible." )
148156 sys .exit (1 )
0 commit comments