Skip to content

Commit ed9c8f9

Browse files
committed
[core] fixes #25
1 parent 80201fd commit ed9c8f9

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

smcpp/analysis.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)