I'm still working out the issues of mapping reads back to an assembly
with a different value of k than the assembly value of k.
DistanceEst must use the same value of k as abyss-map. I've attached a
patched version of abyss-pe that takes care of this. Use it like so:
abyss-pe name=Btk65 k=65 aligner=map
n=4 v=-v np=8 lib='lib1 lib2 lib3 lib4'
mp='lib5 lib6' lib5_k=24 lib6_k=24
lib1='...
DistancEst outputs the value of k that it was run with, and later stages
will complain that it doesn't agree with the assembly value. The
attached patch works around this by patching DistanceEst to not output
the value of k.
I plan to have this all sorted out for the next release of ABySS. Sorry
for the trouble it's causing you.
Cheers,
Shaun
--- DistanceEst/DistanceEst.cpp (revision 75194)
+++ DistanceEst/DistanceEst.cpp (working copy)
@@ -392,10 +392,7 @@ int main(int argc, char** argv)
ostream& out = opt::out.empty() ? cout : outFile;
if (opt::format == DOT)
- out << "digraph dist {\ngraph ["
- "k=" << opt::k << " "
- "s=" << opt::seedLen << " "
- "n=" << opt::npairs << "]\n";
+ out << "digraph dist {\n";
// Read the fragment size distribution.
Histogram distanceHist = loadHist(distanceCountFile);
Yes, that’s correct.
Cheers,
Shaun
Yes, you should use the attached abyss-pe. You can use the -n,--dry-run option of abyss-pe to ensure that abyss-map will use the intended value of k.
The next release of ABySS (1.3.3) will include this feature.
Cheers,
Shaun