1 /**
2     This package contains test data for the other packages in `dentist.common.binio`.
3 
4     Copyright: © 2018 Arne Ludwig <arne.ludwig@posteo.de>
5     License: Subject to the terms of the MIT license, as written in the
6              included LICENSE file.
7     Authors: Arne Ludwig <arne.ludwig@posteo.de>
8 */
9 module dentist.common.binio._testdata;
10 
11 version (unittest)
12 {
13     import dentist.common : ReferencePoint;
14     import dentist.common.binio : CompressedSequence;
15     import dentist.common.alignments :
16         AlignmentChain,
17         AlignmentLocationSeed,
18         PileUp,
19         ReadAlignment,
20         SeededAlignment;
21     import dentist.common.insertions :
22         Insertion,
23         InsertionInfo,
24         SpliceSite;
25     import dentist.common.scaffold :
26         ContigNode,
27         ContigPart;
28 
29 
30     enum numInsertions = 12;
31     enum numCompressedBaseQuads = 6247;
32     enum numSpliceSites = 14;
33 
34     Insertion[] getInsertionsTestData()
35     {
36         with (AlignmentChain) with (Flag) with (ContigPart)
37             return [
38                 Insertion(
39                     ContigNode(1, begin),
40                     ContigNode(1, end),
41                     InsertionInfo(
42                         CompressedSequence.from(""),
43                         0,
44                         [
45                             SpliceSite(
46                                 ReferencePoint(1, 200),
47                                 AlignmentLocationSeed.front,
48                                 emptyFlags,
49                             ),
50                         ]
51                     ),
52                 ),
53                 Insertion(
54                     ContigNode(1, begin),
55                     ContigNode(1, end),
56                     InsertionInfo(
57                         CompressedSequence.from(""),
58                         0,
59                         [
60                             SpliceSite(
61                                 ReferencePoint(1, 700),
62                                 AlignmentLocationSeed.back,
63                                 emptyFlags,
64                             ),
65                         ]
66                     ),
67                 ),
68                 Insertion(
69                     ContigNode(1, begin),
70                     ContigNode(206, end),
71                     InsertionInfo(
72                         CompressedSequence.from("gtttcgggattaaactgacagatcctcggttaccaagctaggttgcacccagaaactgtagaagttttatacacggccgtaatgaggtcagaacagtggcacctagctggcctactccaaattggttagctcactccagatacttcggctggtactacttaagagattcggcgcattccatatgcacgttagacaagtagcgtcagagcgcgcctccctgacgagttccttgtgaccgcgtaagcaagtggtgtctgctaactttcccccacattggacgcgccaacccagaccgcttgcgtgaggactagcccctaacaaccggagaagcatgcgttagcgttatttagactccgtcctgtgcgattctactcaacgggatctcggctccgcaattttccgcataaaatgcaagcttccaacctgtgtcgtgtgggtcgagcagtaagggtttaaagtaactagccttcaacgatagaccattctgaggtccggtcaatcccgccaccgcgtgcatgagagcgggccctgctagcctaagagcctgataaggaaataagttcgacgaaacttgaggactgcatccaaacgccggcataccattaatggggtaattatatccggggtagttggtcctccgaactctacagatcgtggccccaggtaccgctcgacacttaccggtcctttaggttggtcagtccccggctccacacagaacgtaatgacatggcatattgcaagtcctcttttcaacaagacagtaccagctccgggataatgtagagaggttttggtcgctaattaaccttgagagttagatcgtaaagcgtcatttctgtaaaaccggctggtatgacctgtgtttctagggtcgaccgagattcgagtatcgcccagccagctaatgacgcgcccatagaacgtatcgtggtccgcggtccctctgcagttggtgccgactataaaggaccagatccccttcacgtcgcgctttctcggcatactgattctggtcttagaagcgaacatgggctttccacccctcgagtttgaaccgacgctgataagattgatcagaaccgattttttaaagttatagcgcctgcgaattatccataggctgtcgtgggcctgtgctacccccccccctttcagaacatccagtatcctcgcgctatagtatttacgagtcgtcaagggtgttttagctagtgcgaccaatgttaggcacctactcctttgattgttttgcgagtgtgagacttcatagggtccatagtgctaacgaaaaagcaatgcgccgtcgtccgtcatcacgacacctatcatggcaatagggttgccacgttataaatatgcttagtgagatcgttcgaccggtgagtgtaactataactgctcacaaagctgtaaggattggcatcacatcgaggcctgaatttaattcataaccctaccgtatctagtcttggttgttcggtgaatcccccggcagaccacgggtcgttctgggctctctattcccaccttccctcttggaatcttcattagacaacgactcatagcgttttcggattgctggcctcttcttgcctctatagatgcagagggaccttacgatcgcagcttcgaggattaccgaggggcacccctacaatcctcgacgcagccgctccagagccaacacagagtagcacttcaggtacagcctgtgctttatatcgtaccccacgccgtgaagatcatatggtctcataataagtgtccgggacgacaatacattgattgatgcggagggacctaatccgtctacttccgatctgggagagtaagtagacacccactcagacacctcctctgggaggctcgagattccttagcggcgagggctttgtccaggcctaatttttgataagtatcgagcactcacatggggccacaatacgcaataattgttacgtctttgtctccgcactctgaaaacacgaaactactgtagatctcgccctacaggttgcctgaagagaattccccgaatccctacatgaatcggtatattcttaagatatacggctcttcgtgactatagccaactggcaatgtttttctgccaaaaggttgcgggggtcggttagacttaaacccactgacttaggatcatattgctcagttcggcttaactcctgcagtccggataatttagcagtgaatcggtcattcagagccgaattaaaatgaagtccgaccggcaacctgttaaacaagattgtgactttacgaaccacatccgctccgctaaagtgtttagctcgtctcttgccacgactgggtttgaagtatcgcatgcataacctccgtgtgaatgcacatgcgactcctagtcttatataaggtaggccacgttttctgcggcggaacagagaggcgacacctacatcagtaaaatc"),
73                         0,
74                         [
75                             SpliceSite(
76                                 ReferencePoint(1, 200),
77                                 AlignmentLocationSeed.front,
78                                 Flags(complement),
79                             ),
80                             SpliceSite(
81                                 ReferencePoint(206, 3900),
82                                 AlignmentLocationSeed.back,
83                                 Flags(complement),
84                             ),
85                         ]
86                     ),
87                 ),
88                 Insertion(
89                     ContigNode(1, end),
90                     ContigNode(110, begin),
91                     InsertionInfo(
92                         CompressedSequence.from("gaccacccacgcacagacaagtgtattcgaagcttagtggccctgtaggtggtcctcgtgcaatgttaggaccaagtgcaatttatctgtattaagtgactttcaggtaagtgccaatcgcggcacacggagtggctaccatatcagttcatcgttacacgaccgacgtttgctacgggcggaaggtggtaatcagcatatagacagctagatagaatgttacacacacaaacactgggcataatgtatgctttcgaagggagcgacggtccgttaatttttgcgctagggagtattagacgttgaacactgttacaggcgcatcacgcctaagccaggcacttccctcttctgataagggcccttgtcgcataagtggcgctcaaaaacgcgaaatgacgatcgcctacgcgcacttgaccaaaaagaattatgacttgacggtatctgtaatgtcctgaccacctgtttaacaggtggtcgcaccgagaggaaggtgcgaggaggctctcttggggaatccaacagatcacacgtgggttctggatacatagacttcgggagttctttcctacctaccgcaccgacctgtggcggacacacccgccgcaatcgctgtgacacccacgcagttcgacaatcttagaacagccgctataacactttgggtaagatgttggagtcaggacaagtacgtatgcgtaaaacaatgtggcccgagtattgctagttcgaccgtgtatggttggatcagagactgtcgtgtgaacctcacgccagttcccaaactgcccgtcggagtttgctgagtaatgttggtgatcgatggttatcatgtgtcttcgtacggagaagatctccttatcgaaatcggtcagactaattaagtagcatagtgtgctaaattggaactaggcgacgggggctgctgtgcgcggttcttttcgactcctccgtcagtatgtctacacacgatgtcttctgatactcctcatacatagagacttttcgaggtcgcaactcgcgggtgcagtggacacctctaaaggcgtccacagtcatgtgccgaggagtggaaattcactcgcacactgcagcat"),
93                         0,
94                         [
95                             SpliceSite(
96                                 ReferencePoint(1, 700),
97                                 AlignmentLocationSeed.back,
98                                 emptyFlags,
99                             ),
100                             SpliceSite(
101                                 ReferencePoint(110, 200),
102                                 AlignmentLocationSeed.front,
103                                 emptyFlags,
104                             ),
105                         ]
106                     ),
107                 ),
108                 Insertion(
109                     ContigNode(4, begin),
110                     ContigNode(4, end),
111                     InsertionInfo(
112                         CompressedSequence.from(""),
113                         0,
114                         [
115                             SpliceSite(
116                                 ReferencePoint(4, 3300),
117                                 AlignmentLocationSeed.front,
118                                 emptyFlags,
119                             ),
120                         ]
121                     ),
122                 ),
123                 Insertion(
124                     ContigNode(4, begin),
125                     ContigNode(4, end),
126                     InsertionInfo(
127                         CompressedSequence.from(""),
128                         0,
129                         [
130                             SpliceSite(
131                                 ReferencePoint(4, 3400),
132                                 AlignmentLocationSeed.back,
133                                 emptyFlags,
134                             ),
135                         ]
136                     ),
137                 ),
138                 Insertion(
139                     ContigNode(4, end),
140                     ContigNode(4, post),
141                     InsertionInfo(
142                         CompressedSequence.from("gtattcattatgggtacatgtcaacagcttaagatttaataccggagggcgaattcaatcccagcgctgtaaagagtaactggcgtgacatttatggacaattagactagcagcggatcttcatgatcacccccaagttgggacacacgcggggcgacgaagagttataattgaagcgtggcgatacacggtgtatctcgggtgtctttcgtagaccagcctgttaacttcacgagagtttgtccggcatcgcttgcggatcgggacgttcgttagttcgattaacgcgtgaactgccggttaaaggactatagatcggcgagagctttcttgtacgggtaacagtcgtttttactactcttggctcgactgttcttctgacactttagttgcaatgctacaagccaggatacgcatgtgggtaaacgtacatgattcggttcgagatattaatatgcatcccgatacgttttctgggactcgaatcggagactagtgttccgagaggaatcaaactaagatggagggggatacgagtaacggaccgtcctcggaatgtcgtctttaagatacttgcaaagacaagggacaaattcgccagttgttccttgcgaaggcgcatgtgaggcgtatacagggtcggcagtcagcaacacggctgaccctgggtcatcgactccacctcggttttaagagcacgttaacccccaggcacattttttggagtgtttcaagcggtgtgttggcccccaggcggggcggcactgcaggatcggggttaatagtgaccgagtgtcaggttctggggattgcaggataaaccgcgtctcatctgaacctgtctgttcaggttccaacccgtaaaactaggttactctaccgttgaaaggtggtactgccgagtgagacgcatactagcttgcaagtgatcggatccgggattacaacaaagccgcggggagtaaccacggcgagtgtagggacccagcgatacaccgcaaagccgaagtaactatttacggcaatcccctatgacttcgtagttagggggtccatgacgacaaagtatgcgagaggacccgggttttccttgttggccttcaaattcctccagtaatacatggagaatacgcgcactgaggagaccgcatcattgaccacgacggctggatttgtacccgtccgttccgaatatcctgcggtcccctcgacataattaaaccgccgttctcgttacagtagttctggaatagacccttctggcggtaggaaggctgtgaactaggcgaatatgccgcatgcatacacacgatgggtgttctagttgtccctgcattttagcatgctgtccccaactattgtctccgctcaattgtgtatcatgcaaacgaattctctacattaatgtagaaaatggagtattcacagttacagcgcatgcgatgccaggtctcaacgcgatccagcttttataactaagatctcgtttccgatcataatttcttaggtgtggggtgttccctcagcctgtccctagattcgcgagtgctttcggcgcctcccctggctaataaccgtctagataaagaactattagggggagacctaaatggtgcattcccaaaagtggtgcgcattgtacacaccatcggccagcatgctagaagcatgcctatcacttcccgcatcggtcctagagcacaaacatttagggcaactgatcgagatctccataacagcatcaacctacccccccatagccggagaactcgcaactagtaagttagtctaacctcaatctgtgcgagagtattcaagaagagtccgtgatttttacatgcttttctggacggtgtggcttaaacgctgggcatgttactctatcttgcctcatccaccggcgtggttccaaaaaccagggaagaatccgattgtaggagccaacggcaccgccggtacccctttatgaaaagggtgattcagcaccgctcgatccctacggtcagtttttcgtcgtgactgttggattctgtttgaacgtatagagccagtgtccacacgccggatcgttcacattatcggttgcgaaattatagacagggccacctgacttacctcagatgctcctcgattcaacaacgggtagcattcgtctggtggcctctcgccaggcaacagcttgtcgagcaggaaagggacgctagaacgattgaccgcggtccgttgcaatttaatgcgccatcagcgcgagggcctaattttatgcagaggacttagcgagatccattaagggaagttctgccgcacggatgaaaagggacagaactcaaattcctatacggtcgcaaaagcatagtgccttcggccgggctccatcatcaaaacgtacatttagcaacacatcaactacacatcggctcttctttactcaacggcgaattatatttcgcgcggcgctctgccagattagtggctgcagtcaggtggttagaggagtgaataatacagtggtatgaatgcttaacccattcattagatcgcgaactgggatatattggccccaccgcttgtacagatcaggcgcttaggattgttttttatacggctacatccctggaaccgtaaggttctacggcagtcagttttagcccggctggtacagtgcctcgctttaatagatctactgcctgtgcgaacgtagggttgcagagacattgctcttagattaaaatggacgtggctttgcgagtctagggcgccaaaatatacagggctttatgcttaccaggcaccctacaagtaagtctagtgcgaaataccgaccgggttcattctaatcatgaactgcacgtccacgaagaatgcacaggcgtgtgccaggtacattggctcggtcgggtaaaccaagaaattgagttaatattatgtccgtctggaagcggatgatcccgcgacaggcttcgactcgcgtggacttcatttcgcacccttattgtgcgctggcgagttgcctctctcgaataaccgttcaagacaccgtaatataactgtgttggcatgtccagaccaacagtggtaatctaggcgatctgcatattagctggctgaagtgcgctgtcgactgacctggcaggctgtcgcctgcatcagtgcagtagacataagttaacttaactttgcggcgtagcggtgttagtcggcccgaagacccctctaacaattagagtttgttatcgcatcggttttaaatgaactgctcgagtagagagtttacgccataggtcgattttgtgttgcagcgtatttccgctcatagcgagtcaaggcaaaaaaatacgcgctatgatcatgatgccaacctactacggatgtattacgtaggccggtcctatcattgacaaaaggggacaacaacacgactccaaagtcccaaatctacatcgtgcgtaggtgtattacatctcacgatagtcttcgcccttaaccacaagctttccgctaagtcgcctgcggcctattaactttaaacgatcgctaagggactcttgactcttacataccaagcgcggccccagatccccttagccctcttgtatgttttgcctctgaccaagtgaaacgaacagttccgagtacccttctcttttgatcaaatatctgccttaggatccgccacatgggtcgacaaccaagtaaggttgagagcctttactcggctctagtaagatctctccagtctttcagcgagggttgatgagccgacgacagccctgttcgtatcgcgaggccagtggtcagagttgcccgctcgctagacgtcgtgcatgataatcgtgtttcatcctcaattctccgtgcagggagaaccttcaaggcgaaggaacaagaagtaggctatcgtgcgccgttcacagtacccactacaccctacgtatgtactagtagcgatagtaaatggcttcgtccaggcttcgcattcagttatctagcggaggctggtagtcctcttcgtagatagacagccgggtgttggtttgtgggggaacacgcgacctagggggtgccctcctctcgtgtcatttgcgggtagaagctagtccccgatggtaa"),
143                         0,
144                         [
145                             SpliceSite(
146                                 ReferencePoint(4, 3400),
147                                 AlignmentLocationSeed.back,
148                                 Flags(complement),
149                             ),
150                         ]
151                     ),
152                 ),
153                 Insertion(
154                     ContigNode(4, pre),
155                     ContigNode(4, begin),
156                     InsertionInfo(
157                         CompressedSequence.from("agaagtgtgcagcacgttcttacaatcagcgatcacgccggtatatctccttcaccacgtactctagagaccgttctaaaacatcttatcgtttaatataccaggggatatcaaacctcctgtcccgtttctcctgcaggttgccgccagatattcaggtcaagcgtgctgcagccccactaccagggcatccgaggacagagaaacgccgatttacaaaagtgtcgtaccctggttctgggggctcctgaatcagattctacgtttcatcacgattctttcaacgtcggaggatacggttgaccccggatttacaacaagcctttagtacacccccaacgaaggggttcaacctaacgtcgattgatgccttgtaagagaatatatgtttatacgttcgatgaacgaccggacgctcagactggattttgcgacacagcggccacgttacgttccgggtctatatcacggtcggacttaaatctgcaaatagctgtatactctacgaagttgtcttcggctcgcctcaacgacgtcctctggtaccatatgatgatacacttcgcaacgaaagagcgatttccggtgcacgcggcaactagacagcgcttcgaattcgaatatgatttcaggcgaatcgttctcggggggacacgagggtcagtgccaggcttgttccgtcccgcgctctggccgagcccgttccccaattaccatcggcaatgcggcgctctcctcctcaataacgacagcattttcgaacactttctattccaatgcgctgactcagtgtaggagcttcgcgtcggccgaccagatagagattaattgggactgtaacctactatctgatggacaaacataagaggcgacttcctctccctaaattgagcggtacggcgagatgcttgatcgttagtatgtgagtctgttctgctcctcagtgtattgtatgacttctggattatacaccatttaccacggcgtggttgtttataacgagggggggatacgggggttcttaacaagaaggcaatcagggtgctctatctgaggtccggggtctgtgtttcgtaaatgctcgattggtaaggatccgtcgcctgtcgagggatgttgaatgttaaagtcgtatattatttaccaattggccaaagtttcctacaactgcgatccattgatctggcagccgttacgttagcactccgaaaaatgtgtaatcggaccgagccggcacatgcgatataaggcatctccgaggttttgcgggtatcggggaactccatgacggtctattgagtcagccgatccagaacccatctcccgtgttgtgaagggaacacatcctatctagtgcaaccatgttctaaccgctccatccgtgtacttcccacagggtcgtgggccgtagacaagttctgaatgcggggatgcggccctcatttagtcctgctatgggcattatttcactctggatcgatgagctccaccgcgacagcgatatcggagcttgcttgaacggtcactcttcggcaaaagagtcgtgcaagttacggcgagtgcacccgcgagccatcctgaagaaccaaacactggctgacataatactaccttgcagagatgggctacgcaccgactaagatggagctagagcctattctacaacctcgttgctcggcgttgcctcacgctcaacagcaaagatataacgcgaaaagaacaacacgtagtttttaatacatgtaacatcaattcgttgccggtaagctcctcacctaccaaccgcaagacagggtagaggcggtttctacgtacattcgtaagtgtcaaggtacccgacgctccctatagcgagtccccctgcatttctctgcttgtcgaatatttacatccaccttacgctctaaaatccatcgttgagtccgggcgagaccaagcggccctcaatccaatagaacgaagcttggaaaatttgaactcattagacgcactccacattgctatcctggagggtactgcccgcagcccatggcatatttttctcagatcctctgtaggaggtggcccctcaggagacggaaattcctctggtaatagttaaattatagttactgcaaggcttctgcccagagtccctgccagacaacgctggtgccgtgttgcagttcgggagtggatcctgcaccccgcgtgatagccattttggacggactgtgagtgtcgttctcgactttttgcgtacctagttgatggcagggcatcaaataagtctcttctgttacaaaacctccttagcttggggcgtctctgcgcatactacgaagccccatgacaatagatttttttcccttgtttaagcggccgaaagaggtacgctggcgttatattagtctttgtaatagtgccactgactgatcacgatgtgtttggaaccatcactttgaggatgcacggacgacaggcgggattatcactctccaaatcgggaagcaaacgcactcgtacggccgtaagatgtaagtactgaagtgcatctcacctgcaggattttctccaatatggcgattatgggttcccccttaattaagggaggtgcctaccaaatgcctaagtgtcttaagttcagcgctatctcgacccaatcgtttgggagtgtttcccgtttgggctggatattatactccaactgtttgtggtagtggactccgcctctcagatcctcgtgaatacacctgtatcaacaagtagattatgatgacgctgcggacgaacctgcctgttgaagtatgtttacacgccagaacacatacatttgctgccaatccctggttgggttagcccccagattacggcgaatgaatagaatctgtctgcatctcaaaatttcgacgtgtcaccacctttgctctatgaacttgcgatctcgaaagcaataaagagtggtccggtgagggaatctcttgcaaactacggcgtcggcagtaggctagattccccagcattgcacgctctaaactcggctaacgtttggtcagtaacatcaatcaacgtcgtagagaccgcatggcttcaaaagggagcggacgtcaatagttcgacgacgttttatctacccacataccatgagttcggcggaatataagtattcgtaattcggagtcagttcatgctgacaaaatccgcaagcgaaatatcctacgtagctgtagggtaagccgagtgaacaggctacaggctcagttgaacgctgggtagcaacgacatagctctagccgtgcgcaacctgacccgctctggtcagtccgggggtgcgtcttgcgcggatacatgtgtgcggggtagtacagtcatcaatgtaggctccctcgatattaaaatgacaatgtgggatgaataagtggtgcgcctgtgagccacgtggcggagggagtacgacgtgctcaggagggtagccgcaatttaaatcgaactataggttgtgatacagctgatccgtcgatccctggagctgataatagtaccctgctaaagatcaccctcccgcttattgcggctttcccaaagagttcagacgccaatagaagcaatttccgaactatcctgctacattcaccgggcttgtgagtgttcgcatgcattcagtttttcgaaacgacatgtcatcctaccgtttttattgtcggcgatgtgataccaacacatgacgcctactccacgtcgcgggcggcgggcggtggcatttaatctgtaaacgtttacatcaagcgccccgttaagccatcgctcttctgtcaatgatccgaacatcgtgaagtcctgtattccggctatgaatccgcggaatgtagtgcggggcttgaataacgaagactagtcaggtcttacgtcacgactagctagagtaagacgactcatctctttgtcatacaagcataagtgcaatcctattagatccatctacaagaaaaactggcggtccatgatacgactgtggcggtagggcatgactgagggcgagactccgaacaggatattcccacgcctagcctggctcgtggctgttgttaccgcaagagaggatctcatcgatggttcgtgtagttgtacgtgacggggtatagcaaccagccacggggcggacacgggtttttaccgcaaagggtaattgatactagcgaggattagagctgccaactggcttagtgcgcgtgggggacgccttcaggggttggtgataggcagaggtcttggtgtaaactgttctaatgtgtatcggcaaacaactactgcgatcggggatgagattagtgcgccggatcggtttccggcactacgattccaaacacgacgacaaccaatagtatctggttgatgacaaatcttatgttggggtctacgtgcgaggggtcgaggtgcattatagattgctttatattacaacaaaatttcactcacgctatgaaccctgaagcaccgctagtgtttccgggattggtttatatcccctgaatcgaataacgaggaccaagcaagtgaggggtacctggctatatcagctaatatcaagggtaggataggtcccagagtaaaggactactagtacttcgccccgttccggcgagcataccgatgagggggcgtatgagtgatcctcacgcagttttatgatacactatggtacgctaccgggagttttactgtcaccgtgcgtcacccttatctcgtacccttgcccaggctggctgacagaaaattttaggagcaagagagatatgcggttttcacttagtatggtataggagacttacaataggaggtcagattatatgacgacgaaacagggaggtgtgcgaccatcaaaactttaccgaattcctaatacaaggtgtcggtgaccgtgagccactccttcgctcgcatggcgctgcagaacgtggattacattaccacgagagcgacatcccttctcatgatggtgccttgccttgaatgcctgtgggtagccgcgcactctcctacggagcgtatataggcgagacgttgtggcgaccgcatggatgaggaacgccgctagagcagagctagcccgtcgatcaacagcacgctctcgacgagttagcaatcagagctacacagattcaggcgcgcatagtattacatcccaactccgaaaccaaaataggtcccgattcattcgagagactaaacactcaatgaattcttaactatgtcaggactagcgctcataatgacgatctgattggttgaatcccttcttaaaattaactagctgtttctgcgacaccggatctacgattcctgcctcggacccttgagtggtacaattacacccgagggaggggtccgcttacgtcatacgagactccccctgggcactgctcgtcctcaccacggcatgagattgtccttgtaccatgaattcgttaatcgtaaacatcactgttttccactcaattgccgcgctgtaggagacgcggagtcttatgaggagaaaagaatatgtaagtaagacatttatcacctaggatgcagcgggtttaactacgcctcagtccagcgcgacgacatggaaacattctgttgtaaggggtacacttcggaagtctaagtcggtcgaactgcggtctaaatcccctgggctaaatccgggatgactggtgccccagtgaagcctcggaactactcaatcttgcatctgctactcgtctgacacatcagaagacgctctcttcttaggacctcactatcagtaagcagatattaaaatgaccggcctaacgccgaaaatatctgtaaagaccccaggccgccgggccttttaggcgtgtcatggcaaggtctagcagcagtttgcgagtacagaggaagactccgacgctggtagtccacctacgccgttgctcgtagccgcagccgaaagctgtgccgcccttctctaccgatttgaacgctgggcaatagctgccaccgttgttatatacggtcacgacgctacagtgcgactgtcgttttgtcgagtacaacttgctggtagaactactgctcacgccgctgcggacaagaaacctgaaattcggagtacagtcatgcaggtgaccgcttccttaacgtaagcaatatttccttaaacggttccctggcaggaaaatggggaaagaaacctatcacgtgcctagcgaccgaatcaccttgtgcctccttgcgcggtgtgagcgatggacgcatccgatccggcgtgatgctccaatatgagccgttccgtctgggaaacctcggcagaaccacggccaagattggcttagttgtacccataatcactcagtgcggccagtcccgataagaccctttgggctttcagtcattcgaatagcccgttcgtgcacgaatgagtcttgattaccatatagttatgaataaaagtaggactagtctctttcacagtataggggagacggcgccgaaccacccggttccggactacatagtccatgacataaatcgacctcgctagcaccgaggacaagttagcgagtcacctgcttggttgtagatgggaattataaactaacccgttggggggccaagccacgctctgaggtacgaacaggtttcagatatgaaaaggactccgttcctcgtcagcggctttgtaagagacacattagtcctgctgctccagaccataactccaccattgttgtgacgacgtgcgagggtttgatgtagaatacgacgtatcgtttctgagtggtatacggctgcaaccgggaaaaccttggatgaattcctgccgctatatcgatattaaactccgcgaccattacttccccgacgacgggcagccggttctgtttcataatgaggtcttaccactggtctttcggggctacagggccctacgcaatatgttatctctagcagcttgtggcgccgttctctcgataatcgttcgcgcggtcatagacaaaacgtacaatgcccggctgtgtttaacaatttaccccctggttttgcggctcagtacttgctacacactagttattgggatggaccacggagtgtcaacgtaattgatgaagtataggatccacatccgccgacggctacaattcgtgtaattacttttagggcttttctctggcgatttcgggacacatcacagcgcatacgcgtgccaggcgaaagagaatcatgaaagagcctacttttcaactcaggtaacataataagaggcgttaaagcgtacagtacggtagataagacggataatgtcgcctcatataattagcgtcttcgtaaccttcaacgaacgtcctactggcgcttcactcgagacgcttgactaagcacacggcgtggggacccatcgtcgaggaccgtggccaacggagttcgcgcaacatgtccgcaaagacctgtgcaattgtctcagaaggaccggagctggatccttgcgatcatccctgacaatctcaaaacttttaaaccttatgttgaagtctgctctgatagttagtatccagaggttttgaggtgagctcaacgcgaatcttcttcgtttgcgaggactcgccgtaccaatatggggacgctccacacggagtattccgcaatgcagttgggactttaaaaaaattgatcgtgcgctcgccattcagatcgcgcacaaaatagaaaggggtcctcgttgggcggaacggctcgagtcagtcaaaacgattactgctgaacgccccgcgtagcgcaaaccagtaggagccctaggcctgatttaggaagctcgttggaagaatgcacagtgccatcctttgatccatcgatgacccgagcgtatgtaaggaatcgcgcacaagctaagagagctgtcgtccgtgaggaaaatagggcgatgcgcgggcttatctagctggtggatagccactcccagcaaaagtcaaaactgacagcgtccaaagggttaatgcaaagttaaaggagcatctggtccgttcagatccgcgggctctattatgcatatacatggccagtgggatcagtcataggaggccgttatattgtcaaacagtcaatcttttgtcttccgactactcaaaactcgtaattttttcaacaggctcgctgggctgtctccgtccgtctaccttgcccgagcacgagccgtgaccgcctgactgtgcagtatgcccaggactcgtgttacgcttcgtcctaaatcaatcagcctctgttgctcgcagtccaaggggcctggaggtccgtaataataactacagccgctgtgtatccgccgttgcatacgctgaacagggccacgtaaccatgtgttgtaatgtgcaac"),
158                         0,
159                         [
160                             SpliceSite(
161                                 ReferencePoint(4, 3300),
162                                 AlignmentLocationSeed.front,
163                                 emptyFlags,
164                             ),
165                         ]
166                     ),
167                 ),
168                 Insertion(
169                     ContigNode(5, begin),
170                     ContigNode(5, end),
171                     InsertionInfo(
172                         CompressedSequence.from(""),
173                         0,
174                         [
175                             SpliceSite(
176                                 ReferencePoint(5, 2600),
177                                 AlignmentLocationSeed.front,
178                                 emptyFlags,
179                             ),
180                         ]
181                     ),
182                 ),
183                 Insertion(
184                     ContigNode(5, begin),
185                     ContigNode(5, end),
186                     InsertionInfo(
187                         CompressedSequence.from(""),
188                         0,
189                         [
190                             SpliceSite(
191                                 ReferencePoint(5, 2700),
192                                 AlignmentLocationSeed.back,
193                                 emptyFlags,
194                             ),
195                         ]
196                     ),
197                 ),
198                 Insertion(
199                     ContigNode(5, end),
200                     ContigNode(5, post),
201                     InsertionInfo(
202                         CompressedSequence.from("ccacccaagctggatgtctcctccgcggctggcgttatgagtgtagtctagtaatgtccggtgactatgagcggttttgtatgtgggagcgtgatccaagttagaaaatcctagaatctattaatagcgaagaacaaagttttggcctaacacctagatgcctcaggtaacctcggatagggggatggataaccgcaactgacacgtggaggcagctctgcacgcaacccactgtcccgattaccggctctatattcttcactctgagtccttattatttggccgaatgttctgcaacgaatttgtcactgcagtgatagggagttggacccacactatgcatctgggaaggtaaaagtacatcgtccttttattcgatggccccggttgaaagcactagccatctgccggaaatagtgggcacatcagcgctgatcttatagatcctttcacacgacgtctctcgttctggttatcgttcccatttctgcgtacaagtagtttacgtcctctaattgaatgagttaccatctacaagagagttttacgctagtcacagcaaacgaacgacggaggacatttttcacagagtctcaccacgaaacccctaaaacaaccgaggtaccgttgtacgcttcaattcgttacaagtcactgatataaggagtgtgcttatctcgggctttgtcgctatgacaccaagatggttttcatcgtgatataaatcgaccttccgccctatgggggttttgccattagacaaaggacacaccagcagatagcgcattttaataaagaagatggaacccgaaacatgcggcaggaattggcgttttgacccctatcctcacttcgtccggagcccagattgaccgcgcgtgatgcagcgtcagtactggcggctaccgcctgaaggcctgtggacatctactatagaagatactccaacatgtctcgactggaatcaaggtcgcggctttaatacgctccgcttaaattaatcaagcccagagattgccgcagtgagtatctgagtaataacggattgagactaccaataccacgcaactctcagcgacagtgagacattgattcctgagaccgagaggacaacggcgaccgtgctataccgcccatcattaataaaccttttaccgcctattcctaaaccgactatgattctactatggaaagagaatatctccttggacacgaccttgatgagtccaccgcggacccgcttgcgaagggcatttggataggacatcataggcgacattcctggcacatgtcggctgttggactagcagtaaggttcacgcgctttggctgtggccattaaataggtacccgttacagtgcctcggactagccagttaaaattgctctcattagcgatgtcatggatttacgagaaacagccttcgtcactgtcgaaaggcaagagtgcttcacggcaacttgctctatgttattactttggattcgaaggtctgatagtgttgctagccgaggaggtagataattcggaatgcgaaattgttagaacctgctggaatgccagcatactggtaagaggctgatctgggggttccccattccccttccaacgatagctgttcgaactctgccgtgccaaaacacgctagccgagcctgttcagagattttcgggcttcaatgtaaagcctcgttatagccaggcacttggaatatggttttctaattatgaagttgccataaggcccgcgaacaaccattgctagctcgtgcctttgtcaactgtactcaatccctggagttagtatccggtgtcggcccagcaacaaaccttccgttctcggcgtcgcaagccctattcacatgttcgcctagggatgggggtgtaggctctactagaagggttctaacgactcctgagaacatgtccagaatcgtttagagggttcggggtggtaataacttgatccgcatcgccgcgtatatagtgcacgcgctcaattaagtaaggcacctgtccgatcctaaagggcttactcaaggtttcccggcggacaggtcttcgtcttgcagtgcgctagcacgccacgtgagcagatgtgcgtatttgaaagaactcaaaggccgcacacgctccggacactggtaacacgcggtctcactacgtagctactattccattctgtcataccttctggttggactttatcatgacgatgttcagttctttgtagtcctaaggctgctgcgatcagcattaatgattacgtgggcgattactctgtctgttgactgtaagggatcagaggcctccgcgagataagatcatcgggaccatttcggagcgagcaaccacctcgtgcgggccgacacaccggcgggcaacccactcttgtattgtttcagtaattttgtacgctgaccttgttatcccgataggtggaagcggtcagtacccagccccgagtcgtgtgtgggtccgtacgccgcacgttgcaccaggaaaagattcatatccttccagacgaagctcccatttatggatgtgggaggggatggtctacttattaaagggcgtggcataagagcctaccccaacgcgcgcttccctatggcaaagtcaatgcctcacgtagctggagttgcgagcctcggacgactgcgcactctcggcgcgaacgtaatcctccactgccttcgtctctcttatacaacgatgctatcccagatttaatctgttacggtatcttaatatgtcagatcacgatcggcagcttaagaagtatggtcaaccgaggtattagtgactagccgattctcgactaacgggaccgacggcaagtgtagcggtgtccagactgtttgtgcttgatggaaaatattatacccacagagtgcactatgtactctaccagtttgcggaccatggacgcacttggagctgcgggatggatgcgacccacccggcggccctacatgcctgcgaccgtgggagcatgatcatcaagagctattaacggggttctgtaaacacaaaagggtaggtgat"),
203                         0,
204                         [
205                             SpliceSite(
206                                 ReferencePoint(5, 2700),
207                                 AlignmentLocationSeed.back,
208                                 Flags(complement),
209                             ),
210                         ]
211                     ),
212                 ),
213                 Insertion(
214                     ContigNode(5, pre),
215                     ContigNode(5, begin),
216                     InsertionInfo(
217                         CompressedSequence.from("gcccaggctaaacttgactgccgtagaaccttatcgggtatccagggatgtagtccgtataaaaaacaatcctaaagcgctatgatctgtacaagccggtggggcacatatatcccgttccgcgagtctaatgaatgggttaagcattcactaccactgtagttatttcacgtcctcctaacctacctgactgcagccactaatctggcagagacgcccggcgaaatataattgccgttgagtaaaggaacgagaccgcattgtgttagttgattgttagttgctaaatgtagttttgatgatgcggcccggccgaaggacactattgctttatgcgacccagtatatgagaatttgagttctgtccctgttcaatccgtccggcagaacgttcccttaatgggatctcccgctaagtcctctgacataaactttaggcgctgcgcgctgatgcggcattaaattgaacggaccgcggtcaatatcgttacctgcgtccctttcctgctcgacaagctgttgcctggctgaggaggccaccagacgaatgctacccgttgttgaatcgaggatgcatctgaggtaagtccaggtggctcctgcttattaatttccgcaaccgattaatgtgacacgatccgtgcgtgtggacactggctctatacgttcaaacagaatccaacagtcagcgacgaaaactgaccgtagggatcgagcgcgtgctgaatcacccttttcataaagggggtaccagggcggtgccgttggctcctacaatcggattctttccctggtttttggaaccacgccggtggatgaggcaatgattagattaaacatgcccagacgtttaagccacaccgtccagaaagagcatgtaaaaatcacggatctcttcttgtaaatacttcgcacagatgtgaggttagactaacttactagttgcgagttctcggctatgggggggtaggttatgctgttatggtagatctcgatcagttgccctaaatgtttgtgcttctaaggaccgatgcgggaagtgataggcatgcttctagcatgctggccgtggtgtgtaccaatgcgcaccacttttgcggaatgcactttaggttctccccctaatagttctttatctagacggttattagccaggggaggcgccgaaagcactcgcggatctagggacaggctgagggaacgaccccccacctaagaaattatgatcggaacacgagatcttagtatataaaaggctggatcgcgttgtagacctggcatccatgcgctgtaactgtgaatactccatttttctacattaatgtaagagaattcgtttgcagttgatacacaattgagcggagacaaatagttgggacagatggctttaaaatgcagggacaactagaacacccatcgtgtgtatgcatgcggcatattcgcctagttcacagccttcctaccgccagaagggtctattccagaactactgtaacgagaacggcggtttaattatgtcgaggggaccgcaggattattcggaacggagggtacaaatccagccgtcgtggtcaatgattggcggtctctcctcagtgcgcgtattctccatgtattactggaggaatttgaaggccaacaagggaaaacccgggtcctctcgcatacatttgtcgtcatggaccccctaactacgaagtcataggggattgccgtaaatagttacttcggctttgcggtgtatcgctgggtccctacactcgacgtggttactccccgcggctttgttgtaatcccggatctcgatcacttgcaagctagtatgcgtctcactcggcagtaccacctttcaacggtagagtaacctagttttacgggttggaacctgaacagacaggttcagatgagacgcggtttatcctgcaatccccaggaacctgacactcggtcactattaaccccgatcctgcagtccgccccgcctgggggccaacacaccgcttgaaacactccaaaaaatgtgcctgggggtgttaacgtgctcttaaaaccgaggtggagtcgatgacccagggtcagccgtgttgctgactgccgaccctgtatacgcctcacatgcgccttcgcaaggaacaactggcgaatttgtcccttgtctttgcaaaggtatcttaaagacgacattccgaggacggtccgttactcgtatccccctccatcttagtttgattcctctcggaacactagtctcccgattcgagtccccagaaaacgtatcgggatgcatataaatatctcgaaaccgtaatcatgttcgtttacccacatgcgtatcctggcttgtagcattgcaactaaaggtgtcagaagaaccagtcgagccaagagtagtaaaaacgactgttacccgtacaagaaagctctcgcccgatctatagtcctttaaccggcagttcacgcgttaatcgaactaacgaacgtcccgatccgcaagcgatgccggacaaactctccgtgaagttaacaggctggtctaccgaaagacacccgagactacaccgtgtatcgccacgcttcaattataactcttcgtcgccccgcgtgtgtcccaacttgggggtgatcatgaagatccgctgctagtctaattgtctataaatgtcacgccagttactctttacagcgctgggattgaattcgccctccggtattaaatcttaagctgttgacaatgtacccataatgaatacataaggcctagaaggccaattagtatcataatgatctgcacgactcttgattgcctatcttcattgcgatagcgacgaagacgacccctaggtcattccatcctcatgactatgctgttccctggcggaatacacagcctcttgccaggggaatcttcatcaagctgcttcatggttgaccttcaatatcaaactcagaatatcttagcaccaaacacaccgatgatctggaaccccccgcaaacatcgcacgcccggtttattctcccaatgagcgacgcctgcctatctctcggacaggcttagtagaagcgctgataccttaacaatgatgagtgcaaaccatgtgtggtccccgactggccttgtaggatatgcgaagtacctgacgccagcagcttcgcgccgaactaccctgcagaactgacgtcaaggtcctacggttgatagctgtttctgagggtgcttgggtcccaccgatgcgcttgtggacttgacaccggcgagggaaaccttccaagaaagcctaaaatgcttcacacacagcgacattaatacctcagcaacgttacgctgcaaaattgtatggcctacccatgattacatatttacgctaggtggtgacaccggtcctccagtcattagagtactcgtgattagtcgagatggagccccctgatcgctccgcggagagcagtggatatgtgcacgcccgtaagcatgggggagttccggcagttgggtgctcccgatcacccaactcatatttacggagaacgccggtgcaggataaggacagcaggttgaaggagtccctgcatggatagtataacagctctcgcttgcttccccatagtgggctgtctgagagggttagtctgccgcgagcgtagtgcaataatgagtcagtcgaaggcgagagtccatgggtcttcaaacgccttcgcgagcattgaagaacatgatttaataattgtcatttcatacaatgagtgggtcaccacccaaggcatatgatgtaacaatttcactcttggggccccctttgtttcaacagaaccgctccactcggacgttagtaccgcagacagttggtttcgaattggatatcgagggctaccttgacgttcatcttttaccaatgataccattgtaggaacgcacttgtagggttaggacaatcgaacccgtgccgaccgtgcccaccctaactgaccgcctaagatagctaagagagtatgcaggccagagacgaggccgaatatgactgttatatatatcatccggccccgaccagattacaatgaccccttttgtgaataatagatagaacggaacagagttgaaacctaagtttaagtacaattaatgcggtaacgctgattctagtcttgatgatcccaggccgtagcctgctgtgaccgtctactctgccttcgtcgagcccgactctggccgttttggcctcctcaggagtccgttcacaccatatggcctacttttagtatttgtcaaggctccctgcgtcgcggatctgaatcgtatgtgacagtccgggaaaatttcatcgggcgcgggtatactacatgcaactcggaaaagggatataagccccattcgtgtctctcgcgaaccgcccagggccattagcaacgggaacagcgccaaccgtatttacttatcgcgtaatcagaaagcgtccttactgtcccgtcaccgttctttagactgccggatacggagatgagagtgcattgagtagacacattcgtcgtagaaccggcggagtcatcattgggcaaatttcgacgacttagtccttggcgctggttgtgagtctacgtttggatcactctccttcgcaaggttgctattgtgccgggggtggcatcccaaagagtccctgcaaaccgcaggggctgggattaccgaagacctccatcgacagtgacagcccgccgttcaatagacagcacgatagcgcgagtggaagactgatcacttcggtggttctgtaatgttgtcggtttgtggcaagtctttttgcgcctaacagctcgctcacttcctaccgagctgcttcatccggtccgcatccgctagtgctgcgcttggtgatacctaataaaaattccgcgctgtcggacatcattgttgcttcgtagggatacagcgaagaaggccccaggctcggttgcaacttgcgcgcccttttgaccacgtgaatcggtgacaatgcaaggagcgaatgctcccgatttacgttaggagcgttaagacaatccttcgtcgtaacttgcctcccgtacgtctcctgatgctaggtcagttcgcggaccccacggcatgttaccaccctgagggaagtggatgtggtgcgcagatgactgtgctctctctttccgtcatttcaaatggggtccgaccccactgccatcggttgtccttaacggaggggagcttgggcttcggatcaggtcgtacgacactttgccttgaggggatagagtgaacaactgttggagtatactttgaggtctgtcgtgcatttctgacacagtcgaaatcccatagctaactgggcgttacaaccccatggcggggaaacaagccatttgataagggccgcgctggctgggcgttacccgtgtgcataggccggtgccaacggcgcgctgagagttctatgccctatcagtatggcgatgattcgaatcgaataaggaacgaatagctagttcaaaatccccgtcctggcagtgccacattcgcgattttagcatttacccggagagaaaccccgagctcaggtcagtcatgttccacggctaaatgtattgagagctcatgattgagtcatcgtgacgtgcgacgcgacgctagtcagcaccatttttggctactattttgatttgacagttcatctctcataaaagggagttccgttcggtttgtcttctaaaccccttacacttagtcagaagcgctagcttcagggatgtgtcgttgcacgacgtattctgtttgagcatctaccgtcgatctcccggtaaagaagaaggaagcgtttcctgtccttaggcaactttagggacacaagtactttctgggatataatagatgatcccttggtagagaccttcacagctctacacagacggagt"),
218                         0,
219                         [
220                             SpliceSite(
221                                 ReferencePoint(5, 2600),
222                                 AlignmentLocationSeed.front,
223                                 emptyFlags,
224                             ),
225                         ]
226                     ),
227                 ),
228             ];
229     }
230 
231     enum numPileUps = 2;
232     enum numReadAlignments = 5;
233     enum numSeededAlignments = 7;
234     enum numLocalAlignments = 8;
235     enum numTracePoints = 393;
236 
237     PileUp[] getPileUpsTestData()
238     {
239         with (AlignmentChain) with (LocalAlignment) with (Flag)
240             return [
241                 [
242                     ReadAlignment(
243                         SeededAlignment(
244                             AlignmentChain(
245                                 9,
246                                 Contig(1, 8300),
247                                 Contig(1539, 6414),
248                                 Flags(complement),
249                                 [
250                                     LocalAlignment(
251                                         Locus(0, 6227),
252                                         Locus(7, 6414),
253                                         309,
254                                         [
255                                             TracePoint(10, 98),
256                                             TracePoint(7, 107),
257                                             TracePoint(7, 105),
258                                             TracePoint(8, 108),
259                                             TracePoint(4, 99),
260                                             TracePoint(4, 102),
261                                             TracePoint(5, 103),
262                                             TracePoint(5, 105),
263                                             TracePoint(1, 101),
264                                             TracePoint(8, 107),
265                                             TracePoint(6, 102),
266                                             TracePoint(8, 103),
267                                             TracePoint(7, 105),
268                                             TracePoint(6, 105),
269                                             TracePoint(2, 102),
270                                             TracePoint(4, 104),
271                                             TracePoint(5, 101),
272                                             TracePoint(5, 99),
273                                             TracePoint(0, 100),
274                                             TracePoint(0, 100),
275                                             TracePoint(10, 107),
276                                             TracePoint(7, 103),
277                                             TracePoint(5, 102),
278                                             TracePoint(4, 101),
279                                             TracePoint(2, 100),
280                                             TracePoint(7, 106),
281                                             TracePoint(1, 101),
282                                             TracePoint(5, 101),
283                                             TracePoint(7, 107),
284                                             TracePoint(6, 106),
285                                             TracePoint(3, 103),
286                                             TracePoint(3, 103),
287                                             TracePoint(7, 105),
288                                             TracePoint(4, 103),
289                                             TracePoint(5, 102),
290                                             TracePoint(7, 103),
291                                             TracePoint(7, 104),
292                                             TracePoint(5, 105),
293                                             TracePoint(5, 101),
294                                             TracePoint(8, 106),
295                                             TracePoint(4, 102),
296                                             TracePoint(9, 104),
297                                             TracePoint(2, 100),
298                                             TracePoint(6, 102),
299                                             TracePoint(8, 104),
300                                             TracePoint(8, 106),
301                                             TracePoint(6, 102),
302                                             TracePoint(4, 102),
303                                             TracePoint(2, 101),
304                                             TracePoint(4, 102),
305                                             TracePoint(4, 103),
306                                             TracePoint(3, 103),
307                                             TracePoint(4, 101),
308                                             TracePoint(8, 108),
309                                             TracePoint(2, 102),
310                                             TracePoint(2, 101),
311                                             TracePoint(3, 103),
312                                             TracePoint(2, 100),
313                                             TracePoint(3, 103),
314                                             TracePoint(5, 102),
315                                             TracePoint(6, 105),
316                                             TracePoint(3, 98),
317                                             TracePoint(1, 28),
318                                         ],
319                                     ),
320                                 ],
321                             ),
322                             AlignmentLocationSeed.front,
323                         ),
324                     ),
325                     ReadAlignment(
326                         SeededAlignment(
327                             AlignmentChain(
328                                 17,
329                                 Contig(1, 8300),
330                                 Contig(3197, 8564),
331                                 Flags(complement),
332                                 [
333                                     LocalAlignment(
334                                         Locus(0, 71),
335                                         Locus(12, 86),
336                                         3,
337                                         [
338                                             TracePoint(3, 74),
339                                         ],
340                                     ),
341                                     LocalAlignment(
342                                         Locus(0, 8300),
343                                         Locus(0, 8530),
344                                         407,
345                                         [
346                                             TracePoint(6, 105),
347                                             TracePoint(9, 108),
348                                             TracePoint(7, 105),
349                                             TracePoint(3, 103),
350                                             TracePoint(2, 100),
351                                             TracePoint(5, 100),
352                                             TracePoint(6, 104),
353                                             TracePoint(7, 104),
354                                             TracePoint(5, 99),
355                                             TracePoint(4, 104),
356                                             TracePoint(2, 101),
357                                             TracePoint(3, 103),
358                                             TracePoint(6, 102),
359                                             TracePoint(7, 102),
360                                             TracePoint(8, 102),
361                                             TracePoint(4, 104),
362                                             TracePoint(4, 104),
363                                             TracePoint(6, 99),
364                                             TracePoint(7, 104),
365                                             TracePoint(6, 105),
366                                             TracePoint(3, 99),
367                                             TracePoint(5, 102),
368                                             TracePoint(3, 103),
369                                             TracePoint(5, 103),
370                                             TracePoint(4, 104),
371                                             TracePoint(7, 104),
372                                             TracePoint(6, 106),
373                                             TracePoint(6, 105),
374                                             TracePoint(7, 105),
375                                             TracePoint(2, 100),
376                                             TracePoint(2, 101),
377                                             TracePoint(9, 101),
378                                             TracePoint(6, 104),
379                                             TracePoint(4, 102),
380                                             TracePoint(6, 101),
381                                             TracePoint(7, 104),
382                                             TracePoint(8, 103),
383                                             TracePoint(7, 107),
384                                             TracePoint(3, 103),
385                                             TracePoint(5, 103),
386                                             TracePoint(3, 103),
387                                             TracePoint(3, 101),
388                                             TracePoint(7, 104),
389                                             TracePoint(1, 101),
390                                             TracePoint(8, 103),
391                                             TracePoint(3, 103),
392                                             TracePoint(1, 101),
393                                             TracePoint(4, 103),
394                                             TracePoint(4, 103),
395                                             TracePoint(5, 104),
396                                             TracePoint(4, 99),
397                                             TracePoint(3, 103),
398                                             TracePoint(5, 103),
399                                             TracePoint(4, 102),
400                                             TracePoint(3, 99),
401                                             TracePoint(4, 98),
402                                             TracePoint(8, 108),
403                                             TracePoint(4, 104),
404                                             TracePoint(6, 106),
405                                             TracePoint(7, 106),
406                                             TracePoint(7, 105),
407                                             TracePoint(3, 103),
408                                             TracePoint(4, 101),
409                                             TracePoint(1, 101),
410                                             TracePoint(6, 102),
411                                             TracePoint(7, 104),
412                                             TracePoint(1, 101),
413                                             TracePoint(5, 98),
414                                             TracePoint(8, 104),
415                                             TracePoint(5, 104),
416                                             TracePoint(4, 104),
417                                             TracePoint(5, 102),
418                                             TracePoint(4, 103),
419                                             TracePoint(4, 100),
420                                             TracePoint(3, 103),
421                                             TracePoint(6, 104),
422                                             TracePoint(7, 103),
423                                             TracePoint(4, 104),
424                                             TracePoint(5, 103),
425                                             TracePoint(5, 102),
426                                             TracePoint(2, 100),
427                                             TracePoint(7, 102),
428                                             TracePoint(5, 105),
429                                         ],
430                                     ),
431                                 ],
432                             ),
433                             AlignmentLocationSeed.front,
434                         ),
435                     ),
436                 ],
437                 [
438                     ReadAlignment(
439                         SeededAlignment(
440                             AlignmentChain(
441                                 42,
442                                 Contig(1, 8300),
443                                 Contig(2325, 16069),
444                                 emptyFlags,
445                                 [
446                                     LocalAlignment(
447                                         Locus(3562, 8300),
448                                         Locus(0, 4860),
449                                         229,
450                                         [
451                                             TracePoint(3, 41),
452                                             TracePoint(7, 102),
453                                             TracePoint(2, 102),
454                                             TracePoint(3, 103),
455                                             TracePoint(4, 102),
456                                             TracePoint(8, 108),
457                                             TracePoint(2, 100),
458                                             TracePoint(6, 102),
459                                             TracePoint(6, 104),
460                                             TracePoint(2, 102),
461                                             TracePoint(4, 102),
462                                             TracePoint(7, 102),
463                                             TracePoint(3, 99),
464                                             TracePoint(2, 102),
465                                             TracePoint(3, 100),
466                                             TracePoint(6, 100),
467                                             TracePoint(3, 102),
468                                             TracePoint(5, 104),
469                                             TracePoint(5, 104),
470                                             TracePoint(4, 101),
471                                             TracePoint(5, 103),
472                                             TracePoint(2, 102),
473                                             TracePoint(7, 106),
474                                             TracePoint(7, 103),
475                                             TracePoint(3, 101),
476                                             TracePoint(8, 106),
477                                             TracePoint(6, 103),
478                                             TracePoint(6, 103),
479                                             TracePoint(4, 103),
480                                             TracePoint(3, 102),
481                                             TracePoint(2, 101),
482                                             TracePoint(7, 106),
483                                             TracePoint(4, 104),
484                                             TracePoint(3, 101),
485                                             TracePoint(8, 103),
486                                             TracePoint(10, 102),
487                                             TracePoint(8, 104),
488                                             TracePoint(7, 102),
489                                             TracePoint(3, 103),
490                                             TracePoint(5, 105),
491                                             TracePoint(6, 100),
492                                             TracePoint(7, 105),
493                                             TracePoint(3, 99),
494                                             TracePoint(3, 100),
495                                             TracePoint(5, 104),
496                                             TracePoint(4, 104),
497                                             TracePoint(3, 100),
498                                             TracePoint(5, 103),
499                                         ],
500                                     ),
501                                 ],
502                             ),
503                             AlignmentLocationSeed.back,
504                         ),
505                         SeededAlignment(
506                             AlignmentChain(
507                                 76,
508                                 Contig(2, 8350),
509                                 Contig(2325, 16069),
510                                 emptyFlags,
511                                 [
512                                     LocalAlignment(
513                                         Locus(0, 6798),
514                                         Locus(9086, 16069),
515                                         308,
516                                         [
517                                             TracePoint(5, 103),
518                                             TracePoint(4, 101),
519                                             TracePoint(8, 106),
520                                             TracePoint(9, 104),
521                                             TracePoint(9, 104),
522                                             TracePoint(6, 106),
523                                             TracePoint(3, 101),
524                                             TracePoint(8, 104),
525                                             TracePoint(4, 104),
526                                             TracePoint(7, 101),
527                                             TracePoint(4, 102),
528                                             TracePoint(3, 100),
529                                             TracePoint(7, 105),
530                                             TracePoint(6, 99),
531                                             TracePoint(3, 103),
532                                             TracePoint(2, 102),
533                                             TracePoint(6, 102),
534                                             TracePoint(3, 103),
535                                             TracePoint(4, 102),
536                                             TracePoint(12, 110),
537                                             TracePoint(7, 103),
538                                             TracePoint(4, 104),
539                                             TracePoint(4, 102),
540                                             TracePoint(4, 100),
541                                             TracePoint(5, 105),
542                                             TracePoint(5, 100),
543                                             TracePoint(6, 102),
544                                             TracePoint(5, 105),
545                                             TracePoint(3, 102),
546                                             TracePoint(2, 102),
547                                             TracePoint(6, 103),
548                                             TracePoint(2, 100),
549                                             TracePoint(4, 104),
550                                             TracePoint(5, 103),
551                                             TracePoint(6, 104),
552                                             TracePoint(4, 104),
553                                             TracePoint(3, 101),
554                                             TracePoint(4, 104),
555                                             TracePoint(6, 104),
556                                             TracePoint(4, 104),
557                                             TracePoint(1, 101),
558                                             TracePoint(3, 103),
559                                             TracePoint(8, 105),
560                                             TracePoint(2, 102),
561                                             TracePoint(4, 104),
562                                             TracePoint(1, 99),
563                                             TracePoint(6, 102),
564                                             TracePoint(3, 101),
565                                             TracePoint(3, 101),
566                                             TracePoint(5, 105),
567                                             TracePoint(1, 101),
568                                             TracePoint(1, 100),
569                                             TracePoint(4, 102),
570                                             TracePoint(4, 101),
571                                             TracePoint(3, 103),
572                                             TracePoint(2, 101),
573                                             TracePoint(5, 101),
574                                             TracePoint(6, 103),
575                                             TracePoint(6, 105),
576                                             TracePoint(7, 106),
577                                             TracePoint(8, 107),
578                                             TracePoint(5, 103),
579                                             TracePoint(5, 105),
580                                             TracePoint(2, 102),
581                                             TracePoint(2, 100),
582                                             TracePoint(1, 100),
583                                             TracePoint(5, 103),
584                                             TracePoint(3, 99),
585                                         ],
586                                     ),
587                                 ],
588                             ),
589                             AlignmentLocationSeed.front,
590                         ),
591                    ),
592                     ReadAlignment(
593                         SeededAlignment(
594                             AlignmentChain(
595                                 47,
596                                 Contig(1, 8300),
597                                 Contig(3332, 12946),
598                                 Flags(complement),
599                                 [
600                                     LocalAlignment(
601                                         Locus(4899, 8300),
602                                         Locus(0, 3507),
603                                         154,
604                                         [
605                                             TracePoint(0, 1),
606                                             TracePoint(7, 105),
607                                             TracePoint(6, 105),
608                                             TracePoint(6, 106),
609                                             TracePoint(7, 107),
610                                             TracePoint(3, 102),
611                                             TracePoint(7, 105),
612                                             TracePoint(3, 103),
613                                             TracePoint(2, 102),
614                                             TracePoint(4, 100),
615                                             TracePoint(3, 101),
616                                             TracePoint(5, 105),
617                                             TracePoint(3, 103),
618                                             TracePoint(7, 101),
619                                             TracePoint(3, 101),
620                                             TracePoint(5, 102),
621                                             TracePoint(7, 105),
622                                             TracePoint(4, 104),
623                                             TracePoint(3, 103),
624                                             TracePoint(4, 104),
625                                             TracePoint(3, 103),
626                                             TracePoint(6, 102),
627                                             TracePoint(4, 101),
628                                             TracePoint(6, 104),
629                                             TracePoint(2, 102),
630                                             TracePoint(8, 104),
631                                             TracePoint(4, 104),
632                                             TracePoint(4, 103),
633                                             TracePoint(1, 99),
634                                             TracePoint(0, 100),
635                                             TracePoint(9, 108),
636                                             TracePoint(5, 104),
637                                             TracePoint(5, 102),
638                                             TracePoint(5, 103),
639                                             TracePoint(3, 103),
640                                         ],
641                                     ),
642                                 ],
643                             ),
644                             AlignmentLocationSeed.back,
645                         ),
646                         SeededAlignment(
647                             AlignmentChain(
648                                 89,
649                                 Contig(2, 8350),
650                                 Contig(3332, 12946),
651                                 Flags(complement),
652                                 [
653                                     LocalAlignment(
654                                         Locus(0, 5082),
655                                         Locus(7726, 12946),
656                                         244,
657                                         [
658                                             TracePoint(5, 104),
659                                             TracePoint(2, 99),
660                                             TracePoint(3, 103),
661                                             TracePoint(7, 103),
662                                             TracePoint(2, 98),
663                                             TracePoint(2, 102),
664                                             TracePoint(11, 107),
665                                             TracePoint(4, 104),
666                                             TracePoint(4, 102),
667                                             TracePoint(8, 106),
668                                             TracePoint(5, 105),
669                                             TracePoint(11, 109),
670                                             TracePoint(8, 101),
671                                             TracePoint(5, 103),
672                                             TracePoint(4, 104),
673                                             TracePoint(2, 102),
674                                             TracePoint(7, 105),
675                                             TracePoint(3, 103),
676                                             TracePoint(5, 101),
677                                             TracePoint(3, 101),
678                                             TracePoint(5, 102),
679                                             TracePoint(4, 102),
680                                             TracePoint(6, 103),
681                                             TracePoint(5, 105),
682                                             TracePoint(3, 99),
683                                             TracePoint(5, 103),
684                                             TracePoint(2, 100),
685                                             TracePoint(7, 105),
686                                             TracePoint(3, 101),
687                                             TracePoint(5, 105),
688                                             TracePoint(5, 103),
689                                             TracePoint(5, 105),
690                                             TracePoint(5, 105),
691                                             TracePoint(7, 105),
692                                             TracePoint(5, 102),
693                                             TracePoint(3, 100),
694                                             TracePoint(3, 102),
695                                             TracePoint(4, 102),
696                                             TracePoint(5, 103),
697                                             TracePoint(5, 105),
698                                             TracePoint(8, 100),
699                                             TracePoint(6, 103),
700                                             TracePoint(5, 102),
701                                             TracePoint(6, 105),
702                                             TracePoint(2, 98),
703                                             TracePoint(2, 100),
704                                             TracePoint(7, 104),
705                                             TracePoint(5, 104),
706                                             TracePoint(3, 103),
707                                             TracePoint(2, 100),
708                                             TracePoint(5, 82),
709                                         ],
710                                     ),
711                                 ],
712                             ),
713                             AlignmentLocationSeed.front,
714                         )
715                     ),
716                     ReadAlignment(
717                         SeededAlignment(
718                             AlignmentChain(
719                                 43,
720                                 Contig(1, 8300),
721                                 Contig(3593, 6783),
722                                 emptyFlags,
723                                 [
724                                     LocalAlignment(
725                                         Locus(3943, 8300),
726                                         Locus(0, 4471),
727                                         213,
728                                         [
729                                             TracePoint(3, 56),
730                                             TracePoint(7, 102),
731                                             TracePoint(2, 102),
732                                             TracePoint(7, 101),
733                                             TracePoint(7, 103),
734                                             TracePoint(9, 107),
735                                             TracePoint(4, 104),
736                                             TracePoint(4, 104),
737                                             TracePoint(5, 100),
738                                             TracePoint(4, 104),
739                                             TracePoint(3, 101),
740                                             TracePoint(5, 102),
741                                             TracePoint(5, 101),
742                                             TracePoint(2, 102),
743                                             TracePoint(2, 98),
744                                             TracePoint(6, 102),
745                                             TracePoint(10, 109),
746                                             TracePoint(1, 99),
747                                             TracePoint(6, 102),
748                                             TracePoint(1, 101),
749                                             TracePoint(3, 101),
750                                             TracePoint(5, 104),
751                                             TracePoint(7, 101),
752                                             TracePoint(7, 105),
753                                             TracePoint(5, 102),
754                                             TracePoint(0, 100),
755                                             TracePoint(4, 104),
756                                             TracePoint(10, 105),
757                                             TracePoint(7, 103),
758                                             TracePoint(11, 111),
759                                             TracePoint(8, 105),
760                                             TracePoint(4, 101),
761                                             TracePoint(4, 103),
762                                             TracePoint(3, 100),
763                                             TracePoint(5, 104),
764                                             TracePoint(4, 102),
765                                             TracePoint(7, 105),
766                                             TracePoint(5, 105),
767                                             TracePoint(6, 104),
768                                             TracePoint(5, 102),
769                                             TracePoint(3, 103),
770                                             TracePoint(3, 101),
771                                             TracePoint(2, 100),
772                                             TracePoint(2, 100),
773                                         ],
774                                     ),
775                                 ],
776                             ),
777                             AlignmentLocationSeed.back,
778                         )
779                     ),
780                 ],
781             ];
782     }
783 }