Thanks @lh3, I accept your answer; but I am trying SOAPaligner/soap2
I am mapping illumina reads using bowtie/bwa to a reference genome with ambiguous reference characters (N, -, R, Y,K,M,S,W etc.).
For example: At a particular location where ambiguous reference character exists (R), I want read with either A or G to be matched as perfect match.
In the below case using bowtie, read is not able to match to the reference.
Reference: ATTCAAGCCCMGAGCGTMTATAAKGGAAGCTKCGCGTGTGTATGCATCAATTGGCAAGATGTTGTG Read:
ATTCAAGCCCAGAGCGTCTATAATGGAAGCTTCGCGTGTGTATGCATCAATTGGCAAGATGTTGTG
Can you suggest options to set within bowtie/bwa or suggest other alignment tool where I can acheive this.
I learnt that "Alignments involving one or more ambiguous reference characters (N, -, R, Y, etc.) are considered invalid by Bowtie."
2 answers
GSNAP, Mosaik and novoalign.
I do not know if soap2 accepts ambiguous bases. In general, soap2 is great, but it does not natively support SAM output, which might cause problems for downstream analyses. If you have to use one, I would recommend novoalign.
By design, it is hard for a BWT based aligner to work with ambiguous bases in the expected way.
I am not happy with SOAPaliner...currently trying GSNAP....
@Lh3; finally after looking to all three you suggested, going ahead with Mosaik. Thanks!
If your intention is to reduce the reference bias, I am sure novoalign and gsnap implement that correctly. As mosaik is not published (novoalign is not published but I have discussed this with its developer), I do not know if it does that correctly. Note that claiming a feature does not necessarily mean the feature is implemented correctly.
RazerS accepts ambiguity characters as well: http://www.seqan.de/projects/razers.html
Andreas
Edit: Does not seem to be fully correct. See comments. Only N is supported.
thanks @Andreas, BTW do you know which options to use in razer to make use of ambiguous bases in reference sequence
In RazerS, I did not see any parameter to support ambiguous bases except "-mN" which only allows "N" to match to any base (ATGC).
I enquired with the Razers authors they say it doesnot support the Ambiguous bases except "N"
Ok. Thanks for your investigation and clarification. Edited my answer.
Log in to answer this question.
Strictly speaking, bowtie, as well as bwa, takes an ambiguous base as a random A/C/G/T. They regard a match to an ambiguous base as a mismatch after mapping.