<<<<< 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 = 30 ,
#{Sites in the segment}_rec = 28 .


<< 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)     000000000011111111112222222222
               012345678901234567890123456789
                                             
seq0000        ATCTAAAT--TTGTGCATTTGAA-CT--TG
seq0001        ATCTAAAT--TTGTGCATTTGAA-CT--TG
seq0002        ATCTAAAT--TTGTGCATTTGTA-AT--TG
seq0003        ATCTAAAT--TTGTGCATTTGTA-AT--TG
seq0004        ATCTAAAT--TTGTGCATTTGTA-AT--TG
seq0005        ACCTAAAT--TAGTGCATTTGAA-CT--TG
seq0006        ACCTAAAT--TTGTGCATTTGAA-CT--TG
seq0007        ACCTAAAT--TTGTGCATTTGAA-CT--TG
seq0008        AGCCAAAT--TTGTTCATTTCATG-T--TG
seq0009        ATCCAAAT--T-GTGCTTCTGAAG-T--TG
seq0013        TTCAAACTATTTGTGAGTGTGAAGCT--TG
seq0014        ---AAACT--TTGCCATTTGTAATCT----
seq0015        TAAAAACT--TTGTGCGAT---AGCT--TT
seq0018        CTCAATCT--TAGTGCAGTTGGTACTGATG
seq0020        ATCAAGCT--TCGTGCGTTTGGCGCT--CG


<< Original Segment of the Reconstructed Alignment: >>

(position)     0000000000111111111122222222
               0123456789012345678901234567
                                           
seq0000        ATCTAAATTTGTGCATTTG---AACTTG
seq0001        ATCTAAATTTGTGCATTTG---AACTTG
seq0002        ATCTAAATTTGTGCATTTG---TAATTG
seq0003        ATCTAAATTTGTGCATTTG---TAATTG
seq0004        ATCTAAATTTGTGCATTTG---TAATTG
seq0005        ACCTAAATTAGTGCATTTG---AACTTG
seq0006        ACCTAAATTTGTGCATTTG---AACTTG
seq0007        ACCTAAATTTGTGCATTTG---AACTTG
seq0008        AGCCAAATTTGTTCATTTC---ATGTTG
seq0009        ATCCAAA-TTGTGCTTCTG---AAGTTG
seq0013        TTCAAACTATTTGTGAGTGTGAAGCTTG
seq0014        ----AAACTTTGCCATTTG---TAATCT
seq0015        TAAAAACTTTGTGCGAT-----AGCTTT
seq0018        CTCAATCTTAGTGCAGTTGGTACTGATG
seq0020        ATCAAGCTTCGTGCGTTTGG--CGCTCG


<<<<< 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

seq0000   	    0    0    0    0    0    0    0    0   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2    -    -    -    1    1    0    0   -2   -2
seq0001   	    0    0    0    0    0    0    0    0   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2    -    -    -    1    1    0    0   -2   -2
seq0002   	    0    0    0    0    0    0    0    0   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2    -    -    -    1    1    0    0   -2   -2
seq0003   	    0    0    0    0    0    0    0    0   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2    -    -    -    1    1    0    0   -2   -2
seq0004   	    0    0    0    0    0    0    0    0   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2    -    -    -    1    1    0    0   -2   -2
seq0005   	    0    0    0    0    0    0    0    0   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2    -    -    -    1    1    0    0   -2   -2
seq0006   	    0    0    0    0    0    0    0    0   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2    -    -    -    1    1    0    0   -2   -2
seq0007   	    0    0    0    0    0    0    0    0   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2    -    -    -    1    1    0    0   -2   -2
seq0008   	    0    0    0    0    0    0    0    0   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2    -    -    -    1    1    1    0   -2   -2
seq0009   	    0    0    0    0    0    0    0    -    1   -1   -2   -2   -2   -2   -2   -2   -2   -2   -2    -    -    -    1    1    1    0   -2   -2
seq0013   	    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   -2   -2
seq0014   	    -    -    -    -    1    1    1    1    1   -1   -1   -1   -1   -1   -1   -1   -1   -1   -1    -    -    -    2    2    2    2    2    2
seq0015   	    0    0    0    0    0    0    0    0   -2   -2   -2   -2   -2   -2   -2   -2   -2    -    -    -    -    -    0    0    0    0   -2   -2
seq0018   	    0    0    0    0    0    0    0    0   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2
seq0020   	    0    0    0    0    0    0    0    0   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2   -2    -    -    0    0    0    0   -2   -2




[INFORMATION] The original $commoner_shift_flank = -2. Thus, we will shift the entire reconstructed MSA ...

<< REVISED Output of 'map_shifts_respos_bw_2msas' >>

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

[ New 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

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



<<<<< 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... >>>>>

... The MINI-classes increased by 1 compared to the old set!! ...


<<<<< 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} = 12) >>

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

0	2	9	29	6	2	n/a	0,1,2,3,4,5,6,7,8,12,13,14
1	2	27	20	12	2	n/a	10
2	2	8	17	11	2	n/a	9
3	6	20	21	15,4	3,1	0	11
4	10	11	17	16,5	3,1	0	9
5	24	25	15	14	3	n/a	0,1,2,3,4,5,6,7
6	24	29	21	17	4	n/a	11
7	24	27	23	9	2	n/a	12
8	24	27	28	7	2	n/a	14
9	24	26	18	13	3	n/a	8,9
10	26	27	15	10	2	n/a	0,1,2,3,4,5,6,7
11	27	27	18	8	2	n/a	8,9



<<<<< 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} = 12) >>>>>


[[ 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	0	0	2	1	0	0
1	1	0	2	1	0	0
2	0	1	0	0	0	0
3	1	2	0	0	0	0
4	1	1	0	0	0	0
5	1	0	0	1	0	0
6	1	1	0	0	0	0
7	1	1	0	0	0	0
8	0	1	1	0	0	0
9	1	0	1	1	0	0
10	1	0	1	0	0	0
11	1	0	0	0	0	0


[ Skipped Composite-Blocks (#{cblocks} = 0):  . ]


[ 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	8	8	Complex	20:8:9:-/21:0:2:X	21:2:5:X
1	0	26	26	Complex	20:8:9:-/21:28:29:X/21:0:2:X	21:2:5:X
2	0	7	7	Complex(???)	None	17:9:9:X
3	0	17	15	Complex(???)	21:0:2:X	21:2:5:X/21:21:23:X
4	0	4	2	Shift	17:11:11:X	17:9:9:X
5	0	2	2	Complex(???)	15:23:23:X	19:21:23:X
6	0	6	6	Complex(???)	21:28:29:X	21:21:23:X
7	0	4	4	Complex(???)	23:19:21:X	23:19:23:X
8	0	4	4	Complex(???)	26:26:27:-	27:22:23:-
9	0	3	3	Complex(???)	18:24:24:X/15:23:23:X	19:21:23:X
10	0	2	2	Complex(???)	15:23:23:X/18:24:24:X	None
11	0	1	1	Complex(???)	18:24:24:X	None


[ Contents of %indel_ref2assoc_cblks ]

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

21:0:2	0,1,3
20:8:9	0,1
17:11:11	4
23:19:21	7
15:23:23	5,9,10
18:24:24	9,10,11
26:26:27	8
21:28:29	1,6


[ Contents of %indel_rec2assoc_cblks ]

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

21:2:5	0,1,3
17:9:9	2,4
23:19:23	7
21:21:23	3,6
19:21:23	5,9
27:22:23	8


<<<< (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} = 3) ]

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

0	=> [1],
5	=> [9],
11	=> [10],


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

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

1	=> [0],
9	=> [5],
10	=> [11],


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

Indx_cblk_A	indx_cblk_B

4	2
9	10


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

[ For the 1 th pair: (4, 2) ]


{ The representative path is: 4  -> 2 }


( Rough frameworks of the 1st- & 2nd-moved c-blocks )

Subject_c-block	beg_cb	end_cb	shift_le	shift_re	rlv_branch	indices,invlvd,seqs,le	indices,invlvd,seqs,re

1st(intermediate)	10	11	3	1	17	9	9
2nd(reconstructed)	2	8	2	2	17	9	9


( Errors associated with the c-blocks )

Subject_c-block	Type	br1:beg1:end1:stat_ue1/br2:beg2:end2:stat_ue2/...(before)	br1:beg1:end1:stat_ue1/br2:beg2:end2:stat_ue2/...(after)

1st(intermediate)	Complex(???)	17:11:11:X	17:7:9:X
2nd(reconstructed)	Merge(complementary)	17:7:9:X/17:0:1:-	17:9:9:X


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


{ The representative path is: 9  -> 10 }


( Rough frameworks of the 1st- & 2nd-moved c-blocks )

Subject_c-block	beg_cb	end_cb	shift_le	shift_re	rlv_branch	indices,invlvd,seqs,le	indices,invlvd,seqs,re

1st(intermediate)	22	24	1	1	18	0,1,2,3,4,5,6,7,8,9	8,9
2nd(reconstructed)	24	27	2	2	15	0,1,2,3,4,5,6,7,8,9	0,1,2,3,4,5,6,7,8,9


( Errors associated with the c-blocks )

Subject_c-block	Type	br1:beg1:end1:stat_ue1/br2:beg2:end2:stat_ue2/...(before)	br1:beg1:end1:stat_ue1/br2:beg2:end2:stat_ue2/...(after)

1st(intermediate)	Complex(???)	18:24:24:X/15:23:23:X	19:21:21:X
2nd(reconstructed)	Complex	19:21:21:X/19:26:27:X	19:21:23:X


