Question: ABySS fails with -long reads at BWA step
gravatar for cmstouthamer
4.7 years ago by
United States
cmstouthamer10 wrote:

This question is a semi-follow up to a previous question that I posted, but I have more information now and the nature of the question has changed.

I am assembling Illumina reads and using a PacBio assembly as the "-long" input. The PacBio assembly is in a .fa format, not fq, because it is an assembly and does not have quality scores associated with it. When I run the following command in ABySS to assemble all of this information together:

abyss-pe  k=51 np=28 j=28 v=-v n=1 in="cinaIT.end1.mcf.fq.gz cinaIT.end2.mcf.fq.gz" long="polished_assembly.fasta" name=ITpb_AB19

The assembly errors out at the bwa step, even when BWA is in my PATH for the assembly. I ran a dry run of the ABySS commands needed to complete the assembly and they are as follows:

bwa mem -a -t24 -S -P -k51 ITpb_AB19-8.fa  \
                |gzip >polished_assembly.fasta-8.sam.gz
abyss-longseqdist -k51  polished_assembly.fasta-8.sam.gz \
                |grep -v "l=" >
abyss-scaffold -v   -k51 -s200 -n1 -g ITpb_AB19-8.path
PathConsensus -v --dot -k51  -p0.9 -s ITpb_AB19-9.fa -g -o ITpb_AB19-9.path ITpb_AB19-8.fa ITpb_AB19-8.path
cat ITpb_AB19-8.fa ITpb_AB19-9.fa \
                |MergeContigs -v  -k51 -o ITpb_AB19-10.fa - ITpb_AB19-9.path
ln -sf ITpb_AB19-10.fa ITpb_AB19-long-scaffs.fa
PathOverlap --overlap -v  -k51 --dot ITpb_AB19-9.path >
ln -sf
abyss-fac  ITpb_AB19-unitigs.fa ITpb_AB19-contigs.fa ITpb_AB19-scaffolds.fa ITpb_AB19-long-scaffs.fa |tee
ln -sf ITpb_AB19-stats
tr '\t' , < >ITpb_AB19-stats.csv
abyss-tabtomd >

I've tried running the bwa command directly in the BWA program, but it returns a blank file. I'm wondering if bwa command is right? From what I've gathered from the manual, the bwa mem command asks for two inputs (one .fa and one .fq) and the dry run shows that the assembler is only providing one input file.

Any help on this is greatly appreciated, thank you!

bwa abyss assembly • 1.5k views
ADD COMMENTlink modified 4.7 years ago • written 4.7 years ago by cmstouthamer10

Hi Benv,

Thank you so much for this solution! It worked!

ADD REPLYlink written 4.7 years ago by cmstouthamer10
gravatar for benv
4.7 years ago by
benv720 wrote:

Hi @cmshouthamer,

You need an extra level of indirection when you specify the value for "long". For example, the following altered version of your command should work as intended:

abyss-pe  k=51 np=28 j=28 v=-v n=1 in="cinaIT.end1.mcf.fq.gz cinaIT.end2.mcf.fq.gz" long=longlib longlib="polished_assembly.fasta" name=ITpb_AB19

You can rename the "longlib" variable I have added here to anything you like, as long as it doesn't conflict with parameters that reserved by ABySS (e.g. "in", "lib", "long", "mp", "pe"... see the abyss-pe man page for the full list).

The "lib", "pe", and "mp" variables work in the same sort of way. Here is another example from the

ADD COMMENTlink written 4.7 years ago by benv720
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1054 users visited in the last hour