-
Notifications
You must be signed in to change notification settings - Fork 1
/
panman.capnp
121 lines (103 loc) · 2.36 KB
/
panman.capnp
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
@0xcce15f4779921ec4; #file id
using Cxx = import "/capnp/c++.capnp";
$Cxx.namespace("panman");
struct NucMut
{
nucPosition @0: Int32;
nucGapPosition @1: Int32;
nucGapExist @2: Bool;
mutInfo @3: UInt32;
}
struct Mutation
{
blockId @0: Int64;
blockGapExist @1: Bool;
blockMutExist @2: Bool;
blockMutInfo @3: Bool;
blockInversion @4: Bool;
nucMutation @5: List(NucMut);
}
struct Node
{
mutations @0: List(Mutation);
annotations @1: List(Text);
}
struct ConsensusSeqToBlockIds
{
blockId @0: List(Int64);
consensusSeq @1: List(UInt32);
blockGapExist @2: List(Bool);
chromosomeName @3: List(Text);
}
struct GapList
{
blockId @0: Int64;
blockGapExist @1: Bool;
nucGapLength @2: List(Int32);
nucPosition @3: List(Int32);
}
struct BlockGapList
{
blockPosition @0: List(Int32);
blockGapLength @1: List(Int32);
}
struct CircularOffset
{
sequenceId @0: Text;
offset @1: Int32;
}
struct RotationIndex
{
sequenceId @0: Text;
blockOffset @1: Int32;
}
struct SequenceInverted
{
sequenceId @0: Text;
inverted @1: Bool;
}
struct Tree
{
newick @0: Text;
nodes @1: List(Node);
consensusSeqMap @2: List(ConsensusSeqToBlockIds);
gaps @3: List(GapList);
blockGaps @4: BlockGapList;
circularSequences @5: List(CircularOffset);
rotationIndexes @6: List(RotationIndex);
sequencesInverted @7: List(SequenceInverted);
}
struct ComplexMutation {
mutationType @0: Bool;
treeIndex1 @1: Int32;
treeIndex2 @2: Int32;
treeIndex3 @3: Int32;
sequenceId1 @4: Text;
sequenceId2 @5: Text;
blockIdStart1 @6: Int64;
blockGapExistStart1 @7: Bool;
nucPositionStart1 @8: Int32;
nucGapPositionStart1 @9: Int32;
nucGapExistStart1 @10: Bool;
blockIdEnd1 @11: Int64;
blockGapExistEnd1 @12: Bool;
nucPositionEnd1 @13: Int32;
nucGapPositionEnd1 @14: Int32;
nucGapExistEnd1 @15: Bool;
blockIdStart2 @16: Int64;
blockGapExistStart2 @17: Bool;
nucPositionStart2 @18: Int32;
nucGapPositionStart2 @19: Int32;
nucGapExistStart2 @20: Bool;
blockIdEnd2 @21: Int64;
blockGapExistEnd2 @22: Bool;
nucPositionEnd2 @23: Int32;
nucGapPositionEnd2 @24: Int32;
nucGapExistEnd2 @25: Bool;
sequenceId3 @26: Text;
}
struct TreeGroup
{
trees @0: List(Tree);
complexMutations @1: List(ComplexMutation);
}