
 *** This is just a draft, it's not implemented ***


        Automatic synchronization of DNA- and Protein-Alignments
        ========================================================

- An alignment ALI_1 may have a subitem named 'synced_alignment' which contains the name
  of an other alignment ALI_2 (datapath: /preset/ali_1/synced_alignment).
  In this case ..

  * .. ALI_2 has to have an 'synced_alignment'-entry containing the name of ALI_1 and ..
  * .. one of these alignments has to be a DNA-alignment, the other one has to be a
    protein-alignment (we call them ALI_DNA and ALI_PRO).

  Such alignments are called _synced alignments_.

- Species-data residing below a synced alignment may have a 'sync_flag' (datapath:
  /species_data/species_xxx/ali_dna/sync_flag). 

        sync_flag-value         meaning
        --------------------------------------------------------------------------------
        SYNC_NOT                species should not be synchronized (this is the default
                                value in case of missing sync_flag).

        SYNC_OK                 both alignments (ALI_DNA and ALI_PRO) are synchronized.

        SYNC_PRO                ALI_PRO is not up to date and has to be re-translated.

        SYNC_DNA                ALI_DNA is not up to date and has to be re-aligned.


  * If /species_data/species_xxx/ali_dna does not exist no synchronization will be done
    for this species!!

- Changed read/write-mechanism for synchronized alignments (this affects only .../ali_xx/data):

  * reading ali_dna/data:       if sync_flag==SYNC_DNA => re-align;
                                read data;
  * reading ali_pro/data:       if sync_flag==SYNC_PRO => translate;
                                read data;

  * writing ali_dna/data:       write data;
                                if sync_flag!=SYNC_NOT => sf=SYNC_PRO; mc=ali_pro;
  * writing ali_pro/data:       write data;
                                if sync_flag!=SYNC_NOT => sf=SYNC_DNA; mc=ali_dna;

  sf=<value>    set sync_flag to <value>
  mc=<ali>      mark data below <ali> as changed (to force refresh in editor)

- Due to performance issues it's possible to bypass the automatic synchronization: 

        1. force_synchronize(species);
        2. 

        

