Codebase list ariba / f1f2bff
add patch to fix test failures Sascha Steinbiss 3 years ago
3 changed file(s) with 182 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
33 * Build-Depends: spades <!nocheck>
44 * Suggests: spades
55
6 -- Andreas Tille <tille@debian.org> Mon, 22 Jun 2020 11:29:55 +0200
6 [ Sascha Steinbiss ]
7 * Add patch to fix test failures.
8 Closes: #963332
9
10 -- Sascha Steinbiss <satta@debian.org> Tue, 30 Jun 2020 12:32:39 +0200
711
812 ariba (2.14.5+ds-1) unstable; urgency=medium
913
11 use_bwa_compatible_fermi-lite.patch
22 add-testdata.patch
33 disable-tests-with-internet-access.patch
4 support-pymummer-0.11.patch
0 Description: adapt test cases for new PyMUMmer version
1 pymummer 0.11 uses a different internal format which is incompatible
2 with the one assumed by Ariba. Note that ariba hard-requires an earlier
3 version than the one in Debian. However, since Debian has updated
4 pymummer now, we need to catch up even though upstream does not.
5 Author: Sascha Steinbiss <satta@debian.org>
6 Last-Update: 2020-06-30
7 --- a/ariba/tests/assembly_variants_test.py
8 +++ b/ariba/tests/assembly_variants_test.py
9 @@ -52,23 +52,23 @@
10 def test_get_variant_effect(self):
11 '''test _get_variant_effect'''
12 ref_seq = pyfastaq.sequences.Fasta('gene', 'GATCGCGAAGCGATGACCCATGAAGCGACCGAACGCTGA')
13 - v1 = pymummer.variant.Variant(pymummer.snp.Snp('6\tC\tT\t6\tx\tx\t39\t39\tx\tx\tgene\tcontig'))
14 - v1 = pymummer.variant.Variant(pymummer.snp.Snp('6\tC\tT\t6\tx\tx\t39\t39\tx\tx\tgene\tcontig'))
15 - v2 = pymummer.variant.Variant(pymummer.snp.Snp('4\tC\tA\t6\tx\tx\t39\t39\tx\tx\tgene\tcontig'))
16 - v3 = pymummer.variant.Variant(pymummer.snp.Snp('4\tC\tT\t4\tx\tx\t39\t39\tx\tx\tgene\tcontig'))
17 - v4 = pymummer.variant.Variant(pymummer.snp.Snp('6\tC\tA\t6\tx\tx\t39\t39\tx\tx\tgene\tcontig'))
18 - v5 = pymummer.variant.Variant(pymummer.snp.Snp('4\tC\t.\t4\tx\tx\t39\t39\tx\tx\tgene\tcontig'))
19 - v6 = pymummer.variant.Variant(pymummer.snp.Snp('4\t.\tA\t4\tx\tx\t39\t39\tx\tx\tgene\tcontig'))
20 - v7 = pymummer.variant.Variant(pymummer.snp.Snp('4\t.\tG\t4\tx\tx\t39\t39\tx\tx\tgene\tcontig'))
21 + v1 = pymummer.variant.Variant(pymummer.snp.Snp('6\tC\tT\t6\tx\tx\t39\t39\tx\t1\tgene\tcontig'))
22 + v1 = pymummer.variant.Variant(pymummer.snp.Snp('6\tC\tT\t6\tx\tx\t39\t39\tx\t1\tgene\tcontig'))
23 + v2 = pymummer.variant.Variant(pymummer.snp.Snp('4\tC\tA\t6\tx\tx\t39\t39\tx\t1\tgene\tcontig'))
24 + v3 = pymummer.variant.Variant(pymummer.snp.Snp('4\tC\tT\t4\tx\tx\t39\t39\tx\t1\tgene\tcontig'))
25 + v4 = pymummer.variant.Variant(pymummer.snp.Snp('6\tC\tA\t6\tx\tx\t39\t39\tx\t1\tgene\tcontig'))
26 + v5 = pymummer.variant.Variant(pymummer.snp.Snp('4\tC\t.\t4\tx\tx\t39\t39\tx\t1\tgene\tcontig'))
27 + v6 = pymummer.variant.Variant(pymummer.snp.Snp('4\t.\tA\t4\tx\tx\t39\t39\tx\t1\tgene\tcontig'))
28 + v7 = pymummer.variant.Variant(pymummer.snp.Snp('4\t.\tG\t4\tx\tx\t39\t39\tx\t1\tgene\tcontig'))
29 v7.qry_base = 'GAT'
30 - v8 = pymummer.variant.Variant(pymummer.snp.Snp('4\t.\tG\t4\tx\tx\t39\t39\tx\tx\tgene\tcontig'))
31 + v8 = pymummer.variant.Variant(pymummer.snp.Snp('4\t.\tG\t4\tx\tx\t39\t39\tx\t1\tgene\tcontig'))
32 v8.qry_base = 'TGA'
33 - v9 = pymummer.variant.Variant(pymummer.snp.Snp('4\t.\tG\t4\tx\tx\t39\t39\tx\tx\tgene\tcontig'))
34 + v9 = pymummer.variant.Variant(pymummer.snp.Snp('4\t.\tG\t4\tx\tx\t39\t39\tx\t1\tgene\tcontig'))
35 v9.qry_base = 'ATTCCT'
36 - v10 = pymummer.variant.Variant(pymummer.snp.Snp('4\tC\t.\t4\tx\tx\t39\t39\tx\tx\tgene\tcontig'))
37 + v10 = pymummer.variant.Variant(pymummer.snp.Snp('4\tC\t.\t4\tx\tx\t39\t39\tx\t1\tgene\tcontig'))
38 v10.ref_base = 'CGC'
39 v10.ref_end = 5
40 - v11 = pymummer.variant.Variant(pymummer.snp.Snp('4\tC\t.\t4\tx\tx\t39\t39\tx\tx\tgene\tcontig'))
41 + v11 = pymummer.variant.Variant(pymummer.snp.Snp('4\tC\t.\t4\tx\tx\t39\t39\tx\t1\tgene\tcontig'))
42 v11.ref_base = 'CGCGAA'
43 v11.ref_end = 8
44
45 @@ -93,9 +93,9 @@
46 def test_filter_mummer_variants(self):
47 '''test filter_mummer_variants'''
48 ref_seq = pyfastaq.sequences.Fasta('gene', 'GATCGCGAAGCGATGACCCATGAAGCGACCGAACGCTGA')
49 - v1 = pymummer.variant.Variant(pymummer.snp.Snp('4\tC\tT\t4\tx\tx\t39\t39\tx\tx\tgene\tcontig'))
50 - v2 = pymummer.variant.Variant(pymummer.snp.Snp('6\tC\tA\t6\tx\tx\t39\t39\tx\tx\tgene\tcontig'))
51 - v3 = pymummer.variant.Variant(pymummer.snp.Snp('12\tG\tT\t12\tx\tx\t39\t39\tx\tx\tgene\tcontig'))
52 + v1 = pymummer.variant.Variant(pymummer.snp.Snp('4\tC\tT\t4\tx\tx\t39\t39\tx\t1\tgene\tcontig'))
53 + v2 = pymummer.variant.Variant(pymummer.snp.Snp('6\tC\tA\t6\tx\tx\t39\t39\tx\t1\tgene\tcontig'))
54 + v3 = pymummer.variant.Variant(pymummer.snp.Snp('12\tG\tT\t12\tx\tx\t39\t39\tx\t1\tgene\tcontig'))
55 mummer_variants = {'contig': [[v1, v2], v3]}
56 assembly_variants.AssemblyVariants._filter_mummer_variants(mummer_variants, ref_seq)
57 expected = {'contig': [[v1, v2]]}
58 @@ -110,13 +110,13 @@
59 ref_sequence_name = 'non_coding'
60 refdata_var_dict = refdata.metadata[ref_sequence_name]
61
62 - v0 = pymummer.variant.Variant(pymummer.snp.Snp('2\tT\tA\t2\tx\tx\t42\t42\tx\tx\tnon_coding\tcontig'))
63 + v0 = pymummer.variant.Variant(pymummer.snp.Snp('2\tT\tA\t2\tx\tx\t42\t42\tx\t1\tnon_coding\tcontig'))
64
65 # ref has A at position 3, which is variant type. This gives contig the wild type C. Shouldn't report
66 - v1 = pymummer.variant.Variant(pymummer.snp.Snp('3\tA\tC\t3\tx\tx\t42\t42\tx\tx\tnon_coding\tcontig'))
67 + v1 = pymummer.variant.Variant(pymummer.snp.Snp('3\tA\tC\t3\tx\tx\t42\t42\tx\t1\tnon_coding\tcontig'))
68
69 # ref has T at position 5, which is wild type. This gives contig variant type A. Should report
70 - v2 = pymummer.variant.Variant(pymummer.snp.Snp('5\tT\tA\t5\tx\tx\t42\t42\tx\tx\tnon_coding\tcontig'))
71 + v2 = pymummer.variant.Variant(pymummer.snp.Snp('5\tT\tA\t5\tx\tx\t42\t42\tx\t1\tnon_coding\tcontig'))
72
73 meta0 = sequence_metadata.SequenceMetadata('non_coding\t0\t0\tC3A\tid1\tref has variant type A')
74 meta2 = sequence_metadata.SequenceMetadata('non_coding\t0\t0\tT5A\tid1\tref has wild type T')
75 @@ -153,33 +153,33 @@
76 ref_sequence = refdata.sequence(ref_sequence_name)
77 refdata_var_dict = refdata.metadata[ref_sequence_name]
78
79 - v0 = pymummer.variant.Variant(pymummer.snp.Snp('6\tT\tA\t6\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig'))
80 - v1 = pymummer.variant.Variant(pymummer.snp.Snp('9\tA\tT\t9\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig'))
81 - v2 = pymummer.variant.Variant(pymummer.snp.Snp('18\tG\tT\t18\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig'))
82 - v3 = pymummer.variant.Variant(pymummer.snp.Snp('21\tC\tT\t21\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig'))
83 - v4 = pymummer.variant.Variant(pymummer.snp.Snp('7\tA\tT\t7\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig'))
84 - v5 = pymummer.variant.Variant(pymummer.snp.Snp('12\tA\tC\t11\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig'))
85 -
86 - v6 = pymummer.variant.Variant(pymummer.snp.Snp('4\tG\t.\t4\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig'))
87 - self.assertTrue(v6.update_indel(pymummer.snp.Snp('5\tA\t.\t4\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig')))
88 -
89 - v7 = pymummer.variant.Variant(pymummer.snp.Snp('4\t.\tA\t4\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig'))
90 - self.assertTrue(v7.update_indel(pymummer.snp.Snp('4\t.\tA\t5\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig')))
91 -
92 - v8 = pymummer.variant.Variant(pymummer.snp.Snp('4\tG\t.\t4\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig'))
93 - self.assertTrue(v8.update_indel(pymummer.snp.Snp('5\tA\t.\t4\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig')))
94 - self.assertTrue(v8.update_indel(pymummer.snp.Snp('6\tT\t.\t4\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig')))
95 -
96 - v9 = pymummer.variant.Variant(pymummer.snp.Snp('4\tG\t.\t4\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig'))
97 - self.assertTrue(v9.update_indel(pymummer.snp.Snp('5\tA\t.\t4\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig')))
98 - self.assertTrue(v9.update_indel(pymummer.snp.Snp('6\tT\t.\t4\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig')))
99 - self.assertTrue(v9.update_indel(pymummer.snp.Snp('7\tA\t.\t4\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig')))
100 - self.assertTrue(v9.update_indel(pymummer.snp.Snp('8\tG\t.\t4\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig')))
101 - self.assertTrue(v9.update_indel(pymummer.snp.Snp('9\tA\t.\t4\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig')))
102 -
103 - v10 = pymummer.variant.Variant(pymummer.snp.Snp('4\t.\tA\t4\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig'))
104 - self.assertTrue(v10.update_indel(pymummer.snp.Snp('4\t.\tT\t5\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig')))
105 - self.assertTrue(v10.update_indel(pymummer.snp.Snp('4\t.\tT\t6\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig')))
106 + v0 = pymummer.variant.Variant(pymummer.snp.Snp('6\tT\tA\t6\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig'))
107 + v1 = pymummer.variant.Variant(pymummer.snp.Snp('9\tA\tT\t9\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig'))
108 + v2 = pymummer.variant.Variant(pymummer.snp.Snp('18\tG\tT\t18\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig'))
109 + v3 = pymummer.variant.Variant(pymummer.snp.Snp('21\tC\tT\t21\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig'))
110 + v4 = pymummer.variant.Variant(pymummer.snp.Snp('7\tA\tT\t7\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig'))
111 + v5 = pymummer.variant.Variant(pymummer.snp.Snp('12\tA\tC\t11\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig'))
112 +
113 + v6 = pymummer.variant.Variant(pymummer.snp.Snp('4\tG\t.\t4\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig'))
114 + self.assertTrue(v6.update_indel(pymummer.snp.Snp('5\tA\t.\t4\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig')))
115 +
116 + v7 = pymummer.variant.Variant(pymummer.snp.Snp('4\t.\tA\t4\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig'))
117 + self.assertTrue(v7.update_indel(pymummer.snp.Snp('4\t.\tA\t5\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig')))
118 +
119 + v8 = pymummer.variant.Variant(pymummer.snp.Snp('4\tG\t.\t4\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig'))
120 + self.assertTrue(v8.update_indel(pymummer.snp.Snp('5\tA\t.\t4\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig')))
121 + self.assertTrue(v8.update_indel(pymummer.snp.Snp('6\tT\t.\t4\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig')))
122 +
123 + v9 = pymummer.variant.Variant(pymummer.snp.Snp('4\tG\t.\t4\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig'))
124 + self.assertTrue(v9.update_indel(pymummer.snp.Snp('5\tA\t.\t4\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig')))
125 + self.assertTrue(v9.update_indel(pymummer.snp.Snp('6\tT\t.\t4\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig')))
126 + self.assertTrue(v9.update_indel(pymummer.snp.Snp('7\tA\t.\t4\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig')))
127 + self.assertTrue(v9.update_indel(pymummer.snp.Snp('8\tG\t.\t4\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig')))
128 + self.assertTrue(v9.update_indel(pymummer.snp.Snp('9\tA\t.\t4\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig')))
129 +
130 + v10 = pymummer.variant.Variant(pymummer.snp.Snp('4\t.\tA\t4\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig'))
131 + self.assertTrue(v10.update_indel(pymummer.snp.Snp('4\t.\tT\t5\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig')))
132 + self.assertTrue(v10.update_indel(pymummer.snp.Snp('4\t.\tT\t6\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig')))
133
134 mummer_variants = [[v0], [v1], [v2], [v3], [v4], [v5], [v6], [v7], [v8], [v9], [v10]]
135
136 @@ -306,8 +306,8 @@
137 os.unlink(metadata_tsv)
138
139 nucmer_snp_file = os.path.join(data_dir, 'assembly_variants_test_get_variants_presence_absence.snps')
140 - v2 = pymummer.variant.Variant(pymummer.snp.Snp('14\tC\tA\t14\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig1'))
141 - v3 = pymummer.variant.Variant(pymummer.snp.Snp('15\tG\tC\t15\tx\tx\t42\t42\tx\tx\tpresence_absence\tcontig1'))
142 + v2 = pymummer.variant.Variant(pymummer.snp.Snp('14\tC\tA\t14\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig1'))
143 + v3 = pymummer.variant.Variant(pymummer.snp.Snp('15\tG\tC\t15\tx\tx\t42\t42\tx\t1\tpresence_absence\tcontig1'))
144
145 ref_nucmer_coords = {
146 'contig1': [pyfastaq.intervals.Interval(0, 30)],
147 @@ -354,8 +354,8 @@
148 os.unlink(metadata_tsv)
149
150 nucmer_snp_file = os.path.join(data_dir, 'assembly_variants_test_get_variants_variants_only.snps')
151 - v2 = pymummer.variant.Variant(pymummer.snp.Snp('14\tC\tA\t14\tx\tx\t42\t42\tx\tx\tvariants_only\tcontig1'))
152 - v3 = pymummer.variant.Variant(pymummer.snp.Snp('15\tG\tC\t15\tx\tx\t42\t42\tx\tx\tvariants_only\tcontig1'))
153 + v2 = pymummer.variant.Variant(pymummer.snp.Snp('14\tC\tA\t14\tx\tx\t42\t42\tx\t1\tvariants_only\tcontig1'))
154 + v3 = pymummer.variant.Variant(pymummer.snp.Snp('15\tG\tC\t15\tx\tx\t42\t42\tx\t1\tvariants_only\tcontig1'))
155
156 ctg_nucmer_coords = {
157 'contig1': [pyfastaq.intervals.Interval(0, 41)],
158 --- a/ariba/tests/data/assembly_variants_test_get_variants_variants_only.snps
159 +++ b/ariba/tests/data/assembly_variants_test_get_variants_variants_only.snps
160 @@ -1,3 +1,3 @@
161 -9 A T 9 x x 42 42 x x variants_only contig1
162 -14 C A 14 x x 42 42 x x variants_only contig1
163 -15 G C 15 x x 42 42 x x variants_only contig1
164 +9 A T 9 x x 42 42 x 1 variants_only contig1
165 +14 C A 14 x x 42 42 x 1 variants_only contig1
166 +15 G C 15 x x 42 42 x 1 variants_only contig1
167 --- a/ariba/tests/data/assembly_variants_test_get_variants_presence_absence.snps
168 +++ b/ariba/tests/data/assembly_variants_test_get_variants_presence_absence.snps
169 @@ -1,3 +1,3 @@
170 -9 A T 9 x x 42 42 x x presence_absence contig1
171 -14 C A 14 x x 42 42 x x presence_absence contig1
172 -15 G C 15 x x 42 42 x x presence_absence contig1
173 +9 A T 9 x x 42 42 x 1 presence_absence contig1
174 +14 C A 14 x x 42 42 x 1 presence_absence contig1
175 +15 G C 15 x x 42 42 x 1 presence_absence contig1