<<<<< Input Tree (Top_node = 29) >>>>>

( seq0020{28}:0.1529, ( seq0018{26}:0.1741, ( ( seq0015{23}:0.1492, ( seq0013{20}:0.1827, seq0014{21}:0.1659 ){22}:0.0049 ){24}:0.0297, ( ( seq0008{16}:0.0865, seq0009{17}:0.1286 ){18}:0.0335, ( ( seq0005{10}:0.0368, ( seq0006{11}:0.0286, seq0007{12}:0.0362 ){13}:0.0065 ){14}:0.0368, ( ( seq0000{1}:0.0054, seq0001{2}:0.0081 ){3}:0.0232, ( seq0002{4}:0.0189, ( seq0003{5}:0.0124, seq0004{6}:0.0108 ){7}:0.0070 ){8}:0.0270 ){9}:0.0205 ){15}:0.0703 ){19}:0.0383 ){25}:0.0314 ){27}:0.0130 ){29};


<<<<< Input MSA >>>>>

#{Sequences} = 15 .
#{Sites in the segment}_ref = 55 ,
#{Sites in the segment}_rec = 57 .


<< Correspondence between sequence IDs and sequence indices >>

Indx:	Seq_ID

0:	seq0000
1:	seq0001
2:	seq0002
3:	seq0003
4:	seq0004
5:	seq0005
6:	seq0006
7:	seq0007
8:	seq0008
9:	seq0009
10:	seq0013
11:	seq0014
12:	seq0015
13:	seq0018
14:	seq0020


<< Original Segment of the Reference Alignment: >>

(position)     0000000000111111111122222222223333333333444444444455555
               0123456789012345678901234567890123456789012345678901234
                                                                      
seq0000        ---TAGCG-GG-AACTGC---ATA-ACAACC-------------GTATG-GGT--
seq0001        ---TAGCG-GG-AACTGC---ATA-ACAACC-------------GTATG-GGT--
seq0002        ---GAGCG-GG-AACTGC---ATA-ACAACC-------------GTAAG-GGT--
seq0003        ---GAGCG-GG-AACTGC---ATA-ACAACC-------------GTATG-CGT--
seq0004        ---GAGCG-GG-AACTGC---ATA-ACAACC-------------GTATG-GGT--
seq0005        ---G-------------------------------------------TG-GCT--
seq0006        ---G-------------------------------------------TG-GGT--
seq0007        ---G-------------------------------------------TG-GGT--
seq0008        ---GATCG-GGTTTCTTT---AGT-ACAAGCTTGGGGACCCCACGTAAG-GGT--
seq0009        ---GATCG-AG-TACTTT---AGT-TCAAGATTGGGGTCCGCACCGTTG-AGTTG
seq0013        ---GAGCCGTC-AATTGC---AGAGACTAGC-------------GTTACCCGT--
seq0014        GAGGAGCC-GG-TCTTTC---CGAGAGAAGC-------------GCGTC-GGT--
seq0015        ---GAGCC-GG-AATTTC---AGAGACAAGC-------------GAGTA-GTT--
seq0018        ---GAACG-TA-AATTTCCGCAGA-ACTACC-------------GTGTT-GGG--
seq0020        ---AAGCG-AG-AACTCCCGCTGA-ACAAGC-------------TTGTA-TCG--


<< Original Segment of the Reconstructed Alignment: >>

(position)     000000000011111111112222222222333333333344444444445555555
               012345678901234567890123456789012345678901234567890123456
                                                                        
seq0000        TAG----CGGG-AACTG---CATA-ACAA-------------CC--GTAT---GGGT
seq0001        TAG----CGGG-AACTG---CATA-ACAA-------------CC--GTAT---GGGT
seq0002        GAG----CGGG-AACTG---CATA-ACAA-------------CC--GTAA---GGGT
seq0003        GAG----CGGG-AACTG---CATA-ACAA-------------CC--GTAT---GCGT
seq0004        GAG----CGGG-AACTG---CATA-ACAA-------------CC--GTAT---GGGT
seq0005        G------------------------------------------------T---GGCT
seq0006        G------------------------------------------------T---GGGT
seq0007        G------------------------------------------------T---GGGT
seq0008        GAT----CGGGTTTCTT---TAGT-ACAAGCTTGGGGACCCCAC--GTAA---GGGT
seq0009        GAT----CGAG-TACTT---TAGT-TCAAGATTGGGGTCCGCACCGTTGA---GTTG
seq0013        GAG----CCGT-CAATT---G-CAGAGAC-------------TA--GCGTTACCCGT
seq0014        GAGGAGCCGGT-CTTTC---C-GAGAGAA-------------GC--GCGT---CGGT
seq0015        GAG----CCGG-AATTT---CAGAGACAA-------------GC--GAGT---AGTT
seq0018        GAA----CGTA-AATTTCCGCAGA-ACTA-------------CC--GTGT---TGGG
seq0020        AAG----CGAG-AACTCCCGCTGA-ACAA-------------GC--TTGT---ATCG


<<<<< Preliminary (0): Map the residue numbers onto the reference & reconstructed MSAs... >>>>>

<<<<< Preliminary (1): Map the position shifts (from reference to reconstructed) onto the Reconstructed MSA... >>>>>

<< Output of 'map_shifts_respos_bw_2msas' >>

($shift_lf, $shift_rf) = (0, 2) .

[ Shifts in the Reconstructed MSA ]

(position)	    0    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49

seq0000   	   -3   -3   -3    -    -    -    -    1    1    0    0    -    0    0    0    0    0    -    -    -    3    0    0    0    -    0    0    0    0    -    -    -    -    -    -    -    -    -    -    -    -    -   13   13    -    -    2    2    2    2
seq0001   	   -3   -3   -3    -    -    -    -    1    1    0    0    -    0    0    0    0    0    -    -    -    3    0    0    0    -    0    0    0    0    -    -    -    -    -    -    -    -    -    -    -    -    -   13   13    -    -    2    2    2    2
seq0002   	   -3   -3   -3    -    -    -    -    1    1    0    0    -    0    0    0    0    0    -    -    -    3    0    0    0    -    0    0    0    0    -    -    -    -    -    -    -    -    -    -    -    -    -   13   13    -    -    2    2    2    2
seq0003   	   -3   -3   -3    -    -    -    -    1    1    0    0    -    0    0    0    0    0    -    -    -    3    0    0    0    -    0    0    0    0    -    -    -    -    -    -    -    -    -    -    -    -    -   13   13    -    -    2    2    2    2
seq0004   	   -3   -3   -3    -    -    -    -    1    1    0    0    -    0    0    0    0    0    -    -    -    3    0    0    0    -    0    0    0    0    -    -    -    -    -    -    -    -    -    -    -    -    -   13   13    -    -    2    2    2    2
seq0005   	   -3    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    2
seq0006   	   -3    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    2
seq0007   	   -3    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    2
seq0008   	   -3   -3   -3    -    -    -    -    1    1    0    0    0    0    0    0    0    0    -    -    -    3    0    0    0    -    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -    -    2    2    2    2
seq0009   	   -3   -3   -3    -    -    -    -    1    1    0    0    -    0    0    0    0    0    -    -    -    3    0    0    0    -    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
seq0013   	   -3   -3   -3    -    -    -    -    1    1    1    1    -    2    1    1    1    1    -    -    -    4    -    5    2    2    2    2    2    2    -    -    -    -    -    -    -    -    -    -    -    -    -   15   15    -    -   17   17    4    4
seq0014   	    0    0    0    0    0    0    0    0   -1   -1   -2    -   -1   -1   -1   -1   -1    -    -    -   -1    -    0    0    0    0    0    0    0    -    -    -    -    -    -    -    -    -    -    -    -    -   13   13    -    -    2    2    2    2
seq0015   	   -3   -3   -3    -    -    -    -    1    1    0    0    -    0    0    0    0    0    -    -    -    3    0    0    0    0    0    0    0    0    -    -    -    -    -    -    -    -    -    -    -    -    -   13   13    -    -    2    2    2    2
seq0018   	   -3   -3   -3    -    -    -    -    1    1    0    0    -    0    0    0    0    0    0    0    0    0    0    0    0    -    0    0    0    0    -    -    -    -    -    -    -    -    -    -    -    -    -   13   13    -    -    2    2    2    2
seq0020   	   -3   -3   -3    -    -    -    -    1    1    0    0    -    0    0    0    0    0    0    0    0    0    0    0    0    -    0    0    0    0    -    -    -    -    -    -    -    -    -    -    -    -    -   13   13    -    -    2    2    2    2



(position)	   50   51   52   53   54   55   56

seq0000   	    -    -    -    5    4    4    4
seq0001   	    -    -    -    5    4    4    4
seq0002   	    -    -    -    5    4    4    4
seq0003   	    -    -    -    5    4    4    4
seq0004   	    -    -    -    5    4    4    4
seq0005   	    -    -    -    5    4    4    4
seq0006   	    -    -    -    5    4    4    4
seq0007   	    -    -    -    5    4    4    4
seq0008   	    -    -    -    5    4    4    4
seq0009   	    -    -    -    2    2    2    2
seq0013   	    4    4    4    4    4    4    4
seq0014   	    -    -    -    5    4    4    4
seq0015   	    -    -    -    5    4    4    4
seq0018   	    -    -    -    5    4    4    4
seq0020   	    -    -    -    5    4    4    4



<<<<< Preliminary (2): Put together the mapped position shifts into some Classes ... >>>>>

<< Output of 'br_list_classes_shift_respos' >>

$commoner_shift_flank = 0 .


<<<<< Preliminary (3'): For each MINI-class of shifts, parsimoniously infer the branch(es) separating the affected sequences from the rest. >>>>>

<<<<< ADDITIONAL Preliminary Process (3.5'): Split mini-classes each of which consists of unnaturally remote sequences... >>>>>

... NO CHANGES were made ...


<<<<< Preliminary (4): Merge the MINI-classes of shifts. >>>>>

<<<<< Preliminary (5'): Identify 'trivial' MINI-blocks. >>>>>

<<<<< Preliminary (6): Identify gap-pattern blocks, calculate their Dollo parsimony scenarios, and the initial parsimony candidate scenario of each gapped segment in the segmental MSAs (reference & reconstructed). >>>>>

<<<<< Preliminary (7'): Lump together some neighboring MINI-blocks affecting the identical set of sequences. >>>>>

<< Output of 'lump_together_similar_blocks': Content of @{$composite_miniblocks} (#{composite_miniblocks} = 16) >>

Indx_cmp_miniblock	beg_cmb	end_cmb	mrca	indices,constituent,miniblocks	list,position,shifts	merger,types	indices,involved,seqs

0	0	2	29	0	-3	n/a	0,1,2,3,4,8,9,10,12,13,14
1	0	0	14	1	-3	n/a	5,6,7
2	7	8	29	12	1	n/a	0,1,2,3,4,8,9,12,13,14
3	7	56	20	13,17,14,22,25,18,27,28,23	1,2,1,4,5,2,15,17,4	0,0,0,0,0,0,0,0	10
4	8	28	21	3,2,4,9	-1,-2,-1,0	0,0,0	11
5	9	16	25	8	0	n/a	0,1,2,3,4,8,9,12
6	9	28	29	6	0	n/a	13,14
7	20	20	25	20	3	n/a	0,1,2,3,4,8,9,12
8	21	28	25	7	0	n/a	0,1,2,3,4,12
9	21	43	16	10	0	n/a	8
10	21	56	17	11,5,16	0,-1,2	0,0	9
11	42	43	29	26	13	n/a	0,1,2,3,4,11,12,13,14
12	46	49	29	15	2	n/a	0,1,2,3,4,8,11,12,13,14
13	49	49	14	19	2	n/a	5,6,7
14	53	53	29	24	5	n/a	0,1,2,3,4,5,6,7,8,11,12,13,14
15	54	56	29	21	4	n/a	0,1,2,3,4,5,6,7,8,11,12,13,14



<<<<< Preliminary (8): Reorganize the list of insertions/deletions in the initial candidate of parsimonious scenarios, for reference and reconstructed MSAs. >>>>>

<<< (1) For Reference MSA >>>

<<< (2) For Reconstructed MSA >>>

<<<<< Preliminary (9): Identify the pairs of 'equivalent' indel events in the reference & reconstructed MSAs...  >>>>>

<<<<< (i) MAIN PROCESS (1st Round)!!!: Associate each Composite 'MINI-Block' with (an) appropriate type(s) of MSA error(s)... (#{composite blocks} = 16) >>>>>


[[ Results of the Main Process (1st Round) ]]

[ Contents of @cblk_wise_cts_invlvd_indels ]

Indx_cmp_blk	#{rlv_indels}_ref	#{rlv_indels}_rec	#{rltd_indels}_ref	#{rltd_indels}_rec	#{other_involved}_ref	#{other_involved}_rec

0	1	1	0	0	0	0
1	1	1	0	0	0	0
2
3	2	1	0	1	0	0
4	0	0	1	0	0	0
5
6	1	1	0	0	0	0
7
8
9	0	0	1	1	0	0
10	1	1	0	0	0	0
11
12
13	1	1	0	0	0	0
14
15


[ Skipped Composite-Blocks (#{cblocks} = 8): 2, 5, 7, 8, 11, 12, 14, 15 . ]


[ Contents of @cblk_wise_msa_errors ]

Indx_cmp_blk	Indx_error	len_cblk_ref	len_cblk_rec	Type	br1:beg1:end1:stat_ue1/br2:beg2:end2:stat_ue2/...(ref)	br1:beg1:end1:stat_ue1/br2:beg2:end2:stat_ue2/...(rec)

0	0	3	3	Complex(???)	21:0:2:-	21:3:6:-
1	0	1	1	Shift(???)	14:4:46:X	14:1:48:X
2	Skipped!!(MULTIPLE_RELEVANT_BRANCHES(#{branches}=2))
3	0	47	50	Complex	20:8:8:-/20:49:49:-	20:50:52:-/21:3:6:-
4	0	20	21	NO_ASSOCIATED_EVENT(???)	20:8:8:-	None
5	Skipped!!(MULTIPLE_RELEVANT_BRANCHES(#{branches}=2))
6	0	20	20	Shift(???)	25:18:20:X	25:17:19:X
7	Skipped!!(MULTIPLE_RELEVANT_BRANCHES(#{branches}=2))
8	Skipped!!(MULTIPLE_RELEVANT_BRANCHES(#{branches}=3))
9	0	23	23	Complex(???)	18:31:43:-	17:44:45:-
10	0	34	36	Shift(???)	17:53:54:-	17:44:45:-
11	Skipped!!(MULTIPLE_RELEVANT_BRANCHES(#{branches}=2))
12	Skipped!!(NO_RELEVANT_BRANCH)
13	0	1	1	Shift(???)	14:4:46:X	14:1:48:X
14	Skipped!!(NO_RELEVANT_BRANCH)
15	Skipped!!(NO_RELEVANT_BRANCH)


[ Contents of %indel_ref2assoc_cblks ]

Br:beg:end(ref)	indices,of,associated,composite-blocks

21:0:2	0
14:4:46	1,13
20:8:8	3,4
16:11:11	{Equivalent to '16:11:11'(rec)}
25:18:20	6
24:24:24	None
18:31:43	9
20:49:49	3
17:53:54	10


[ Contents of %indel_rec2assoc_cblks ]

Br:beg:end(rec)	indices,of,associated,composite-blocks

14:1:48	1,13
21:3:6	0,3
16:11:11	{Equivalent to '16:11:11'(ref)}
25:17:19	6
22:21:21	None
24:24:24	None
18:29:41	None
17:44:45	9,10
20:50:52	3


<<<< (ii) MAIN PROCESS (2nd Round)!!: Attempt to 'hard-link' skipped composite 'MINI-Block's to non-skipped ones, and to resolve Composite 'MINI-Block's associated with 'Complex' errors... >>>>

[[ Interim Results ]]

[ Contents of %cb2hard_linked (#{keys} = 4) ]

Indx_cmp_blk	=> [indices,cblks,hard,linked,by,the,key]

2	=> [3],
5	=> [6],
8	=> [6,9,10],
15	=> [3],


[ Contents of %cb2hard_linking (#{keys} = 4) ]

Indx_cmp_blk	=> [indices,cblks,hard,linking,the,key]

3	=> [2,15],
6	=> [5,8],
9	=> [8],
10	=> [8],


[ 'Soft-linked' pairs of composite-blocks (#{pairs} = 2) ]

Indx_cblk_A	indx_cblk_B

0	3
10	9


[[ Results of the Main Process (2nd Round) ]]

[ For the 1 th pair: (0, 3) ]

[ For the 2 th pair: (10, 9) ]

