waynebhayes / SANA

Simulating Annealing Network Aligner
25 stars 40 forks source link

Working and completing Pareto mode for SANA #36

Closed balexanderd closed 6 years ago

balexanderd commented 6 years ago

Upon pulling this into the repo, you will be able to execute the command such as:

./sana -g1 yeast -g2 human -mode pareto

and be able to witness pareto mode in action.

Pareto mode gives Sana the ability to hold multiple alignments, each alignment's existence is dictated by it's scores and ability to be inserted into the Pareto front. An alignment can exist in, or be inserted into, the Pareto front if there's no other Alignment, also residing in the Pareto front, whose scores are higher in every measure.

Currently, for the simulated annealing, the energy function to decide to accept a change or swap in the network for a particular alignment is calculated as a sum across all measures, since it currently gives the best results. However, this may need to be changed in the future for something more suitable, for instance, something more relevant toward the Pareto front.