openalea.phenomenal.tracking.alignment.multi_alignment

openalea.phenomenal.tracking.alignment.multi_alignment(sequences, gap, gap_extremity_factor=1.0, start=0, align_range=None)[source]

Multiple sequence alignment algorithm to align n sequences, using a progressive method. At each step, a sequence (Y) is aligned with a matrix (X) corresponding to a profile (i.e. the alignement of k sequences) resulting in the alignment of k + 1 sequences. Each pairwise alignment of X vs Y is based on needleman-wunsch algorithm.

Parameters:
  • sequences (list of 2D arrays) – The list of sequences to align

  • gap (float) – penalty parameter to add a gap

  • gap_extremity_factor (float) – parameter to modify the gap penalty on sequence extremity positions, relatively to gap value. For example, if gap = 5 and gap_extremity_factor = 0.6, Then the penalty for terminal gaps equals 3.

  • start (int) – sequences are progressively added to the global alignment from sequences[start] to sequences[0], then from sequences[start + 1] to sequences[-1]

  • align_range (int) – When adding a new sequence to the global alignment, only the already aligned sequences with a distance inferior or equal to this parameter in the sequences order are used for the alignment.