**Basic-Algorithms-of-Bioinformatics Applet**
BABA is an applet/java executable that aims to explain a few basic algorithms of bioinformatics.

You can get the source code on sourceforge

The applet covers:

- Basic Dynamic Programming table.
- Needleman & Wunsch algorithm, with score table.
- Smith & Waterman algorithm, with local alignment selection.
- Four Russians algorithm.
- Thanks to the great work of
**Patrick Dekker** now B.A.B.A. includes the **Nussinov** algorithm! Cheers Patrick!
- May 2010: Fixed a few dumb indexing bugs on the interface. Thanks to all the kind people that have pointed them out.
**April 2014**: Fixed bad starting gap values in Smith-Waterman. A big thank you to Ishwar.
**April 2014**: Added a standalone runnable version
**October 2014**: Fixed flipped indexes in the interface
**March 2015**: Refactored/cleaned up the code, added "history" to show all the arrows computed in the process.
**November 2015**: More refactoring, fixed a bunch of bugs (including a silly indexing issue),
added support for a configuration. See this config file for an example or below
(must be placed in the same dir of the applet).

Since java applets have become a sort of security liability in the last few years, you
might have troubles running the applet. If you have java installed, you can
download the runnable version and just double
click it to run it.

#### Screenshots

#### Useful Links

#### Known bugs

- In unix the scolling panel does not behave properly.
- Cut&Paste sometimes doesn't work within the strings set.

#### Example Configuration File

# Baba config example
# Valid gap costs:
# (a) a value: 4 or -1 (will be repeated over the string)
# (b) a sequence: 1,3,5 or {1, 4, 2} (must have the same length of the string)
# (c) an empty string: interpreted as sequence starting from 1.
# Valid score tables: PAM250, BLOSUM50, BLOSUM62, VTML160, PENALIZEMISMATCH_1, PENALIZEMISMATCH_2, PENALIZEMISMATCH_3
[simple_dp]
S1=END
s2=SEND
s1_gap_cost=
s2_gap_cost=-4
[needleman_wunsch]
s1=HEAGAWGHEE
s2=PAWHEAE
score_table=BLOSUM62
s1_gap_cost=-6
s2_gap_cost=-6
[smith_waterman]
s1=HEAGAWGHEE
s2=PAWHEAE
score_table=
s1_gap_cost=
s2_gap_cost=
[four_russians]
s1=ATGTCA
s2=ATTAGTCA
[nussinov]
s1=GGGAAAUCC
score_table=

Note: A loooooong while ago I wrote a report and
a powerpoint presentation on BABA. It's outdated now but
it might be a good starting point if you want to modify the source.

For any question e-mail me at norman.casagrande (at) yahoo (dot) com