FelixKrueger / Bismark

A tool to map bisulfite converted sequence reads and determine cytosine methylation states
http://felixkrueger.github.io/Bismark/
GNU General Public License v3.0
394 stars 103 forks source link

[Question] Questions about adding new aligners #696

Closed YuanfengZhang closed 2 months ago

YuanfengZhang commented 2 months ago

I have a series of associated questions to ask:

  1. Why only Bowtie2, HISAT2, minimap2 are supported now, since there are various aligners available? I means the main reasons you concerned, like performance issue in pretest? Popularity? Scalability? Feasibility? Compatibility?
  2. If I wanna fork this repo and add some new aligners for Bismark, how would you suggest me to do it? Direct modification on Bismark(.pl)? Or use a wrapper to package them into Bismark? If a wrapper is recommended, could you please tell me where it is? I'm sorry that I'm not familar with Perl.
  3. If there is no wrapper, do you think it's necessary to build it and make the custom addition a API? I'm willing to help listing and testing some aligners.

Thank you all.

FelixKrueger commented 2 months ago

I'll do my best to provide some answers.

  1. Bismark goes a while back now, I believe it was started in 2009. At the time it used Bowtie exclusively. This was then extended to Bowtie2 to allow gapped alignments in 2013 or so. As reads became a lot longer, and the sequencing world had moved on. Bowtie (1) was eventually dropped entirely. For some niche cases, we added an RNA-seq capable aligner (HISAT2), and eventually long read capability (minimap2).

Adding new aligners is quite involved as it depends on various specifics, and it isn't exactly a mix-n-match procedure. Since aligners overall agree extremely well each other, it doesn't make much sense to support dozens of different ones.

2 & 3) As mentioned above, a different aligner would have to have to be implemented directly. There isn't really a guideline for such a procedure at the current time. There are at least 30 different bisulfite aligners out there somewhere, I am not sure spending a lot of effort on adding an array of different ones would be very well received.

Not sure if these are the answers you were hoping to get, but adding new aligners is not currently planned.

YuanfengZhang commented 2 months ago

OK, thank you for the clarification. I will do some pilot experiments myself. If there are any noticeable improvements in performance, I will let you know.