alevchuk / pairwise-alignment-in-python

Pairwise string alignment in Python (Needleman-Wunsch and Smith-Waterman algorithms)
GNU General Public License v3.0
96 stars 50 forks source link

REALLY BAD PROGRAMMED #2

Open luisdiego19 opened 8 years ago

luisdiego19 commented 8 years ago

Divide that thing !

The water method really made me laugh !! Why would you name it like that doesn't make sense

You really suck at programming dude im sorry

aminomegusta commented 6 years ago

Hi Luisdiego19,

I'm new to programming. What changes would you make?

I'm trying to run this on eclipse and trying to figure out how to put in a sample sequence.

Kind Regards,

Aminomegusta

weiwchu commented 1 year ago

@aminomegusta You code LGTM, it is a nice work to save other's time. Though the space complexity of score matrix can/may be improved, I think you can reduce it from o(n^2) to o(n). But that is trivial, since you need to keep a pointer matrix of n x n.

jeremyButtler commented 1 year ago

Your code looks good. It is a basic Needleman and Smith Waterman alignment in python. To be honest, I think it is fine as is and I would not recomend changing it. The only exception is if you want to use the project to learn something new.

It looks like this repository is a bit old, so you probably already know what I am going to suggest for some possible improvements. You can get this code more memory efficient and faster by converting the Needlman and Smith Waterman alignments into cython (C++ in python). But that is a language change, not a code change. To be honest, it probably is not worth the time unless you really want to get some practice at cython. It looks like you have done some C and C++ stuff, so you probably have a good base.

I think the O(n) case Weiwchu is refering to is an Heirschberg or Myers Miller algorithm. These are intresting derivations of the Needleman, but my impression of your poject is that these were not your goals, which was a Waterman and Needleman alignment. You have acheived these goals. Again, this not really worth coding, unless you want to understand how the Hirschberg and Myers Miller alignments work.

I do not know of a good solution to a Smith Waterman. There are likely solutions out there, I just have not looked.

Overall, this project looks good and is a good base for someone wanting to learn how these alignments work.

odoluca commented 1 year ago

Divide that thing !

The water method really made me laugh !! Why would you name it like that doesn't make sense

You really suck at programming dude im sorry

how old are you?