I have several sets paired-end libraries and two sets of mate-pair libraries that I am trying to use. I've been able to get abyss to run the paired-end libraries without issue, but adding the mate-pairs hasn't been so easy.
It starts running but then has an error when it gets to the abyss-map step...I don't know what the issue is (see below). I tried looking through Google Groups and tried some of the suggestions but it kept giving me the same error. I don't know what to make of it.
Any suggestions would be greatly appreciated! Hopefully it's just a silly error on my part that is easily remedied.
Here is the set of commands I'm using (running it on a server):
abyss-pe k=33 name=speckledteal_scaff \
lib='pe300_1 pe300_2 pe400_2 pe500_1 pe500_2' mp='mp_1 mp_2'\
pe300_1='SIPE_300_A1_FILTER_2.fastq SIPE_300_A2_FILTER_2.fastq' \
pe300_2='SIPE_300_B1_FILTER_2.fastq SIPE_300_B2_FILTER_2.fastq' \
pe400_2='SIPE_400_B1_FILTER_2.fastq SIPE_400_B2_FILTER_2.fastq' \
pe500_1='SIPE_500_A1_FILTER_2.fastq SIPE_500_A2_FILTER_2.fastq' \
pe500_2='SIPE_500_B1_FILTER_2.fastq SIPE_500_B2_FILTER_2.fastq' \
mp_1='LIMP_A1_FILTER_2.fastq LIMP_A2_FILTER_2.fastq' \
mp_2='LIMP_B1_FILTER_2.fastq LIMP_B2_FILTER_2.fastq'
(there's a lot before this, but I didn't want to clog up the entry so I just included the tail end)
Assembled 1060560743 k-mer in 6108148 contigs.
Concatenating fasta files to speckledteal_scaff-1.fa
Concatenating fasta files to speckledteal_scaff-bubbles.fa
Done.
AdjList -k33 -m50 speckledteal_scaff-1.fa >speckledteal_scaff-1.adj
abyss-filtergraph -k33 -g speckledteal_scaff-2.adj speckledteal_scaff-1.adj >speckledteal_scaff-1.path
PopBubbles -j64 -k33 -p0.9 -g speckledteal_scaff-3.adj speckledteal_scaff-1.fa speckledteal_scaff-2.adj >speckledteal_scaff-2.path
MergeContigs -k33 -o speckledteal_scaff-3.fa speckledteal_scaff-1.fa speckledteal_scaff-2.adj speckledteal_scaff-2.path
The minimum coverage of single-end contigs is 1.14035.
The minimum coverage of merged contigs is 2.95652.
Consider increasing the coverage threshold parameter, c, to 2.95652.
awk '!/^>/ {x[">" $1]=1; next} {getline s} $1 in x {print $0 "\n" s}' \
speckledteal_scaff-2.path speckledteal_scaff-1.fa >speckledteal_scaff-indel.fa
ln -sf speckledteal_scaff-3.fa speckledteal_scaff-unitigs.fa
abyss-map -j64 -l33 speckledteal_scaff-3.fa \
|abyss-fixmate -l33 -h pe300_1-3.hist \
|sort -snk3 -k4 \
|DistanceEst -j64 -k33 -l33 -s200 -n10 -o pe300_1-3.dist pe300_1-3.hist
abyss-map: missing arguments
Try `abyss-map --help' for more information.
Mateless 0
Unaligned 0
Singleton 0
FR 0
RF 0
FF 0
Different 0
Total 0
abyss-fixmate: error: All reads are mateless. This can happen when first and second read IDs do not match.
error: no @SQ records in the SAM header
make: *** [pe300_1-3.dist] Error 1
make: *** Deleting file `pe300_1-3.dist'
That is indeed strange. Everything about your command line does looks correct. But you are right that it must have something to do with how the libraries are specified, because the line
should instead look like:
If you aren't aware of it already, a good tool for debugging is the
--dry-run
option of GNU make. Just add--dry-run
to the end of yourabyss-pe
command and it will print the full list of commands that it would run without actually running them. I recommend fiddling with theabyss-pe
command (adding and removing libraries, changing library names, etc.) while checking with the--dry-run
option to see if theabyss-map
commands look correct. (There will be a separateabyss-map
command for each library.)