Open nick-youngblut opened 4 years ago
Yeah, I suspect it's ending up with an uninitialized variable because of insufficient coverage, but still a bug in any case. I'll take a look.
Quick suggestion here: The standard deviation can only be computed if coverage >= 3
@GDelevoye that doesn't explain why I get the error when using --maxCoverage 100
but not when using --maxCoverage 1
@nick-youngblut Looks like the --methylFraction
option got broken in the process of the py3 porting. Sorry! I'll post a diff here once I have a fix.
@nick-youngblut Try this patch:
diff --git a/kineticsTools/MultiSiteCommon.py b/kineticsTools/MultiSiteCommon.py
index 96d06e8..aed1350 100644
--- a/kineticsTools/MultiSiteCommon.py
+++ b/kineticsTools/MultiSiteCommon.py
@@ -143,7 +143,7 @@ class MultiSiteCommon(object):
def getContextMeans(self, start, end, sequence):
meanVector = []
for pos in range(start, end + 1):
- ctx = sequence[(pos - self.pre):(pos + self.post + 1)].tostring()
+ ctx = sequence[(pos - self.pre):(pos + self.post + 1)].tostring().decode("ascii")
if ctx in self.contextMeanTable:
meanVector.append(self.contextMeanTable[ctx])
else:
That's in the file /ebio/abt3_projects/software/bin/smrtlink/install/smrtlink-release_9.0.0.92188/bundles/smrttools/install/smrttools-release_9.0.0.92188/private/thirdparty/python3/python3_3.7.3/site-packages/kineticsTools/MultiSiteCommon.py
. (It fixes the crash using test inputs, but I haven't tried with real data yet.)
I am running ipdSummary as such:
and am getting the following uninformative error:
I've installed ipdSummary via:
The amount of input sequence data is fairly low, which might be causing the error, but still, the error should then be more informative if that is the case.