Coverage for rest_api/migrations/0068_cds_cdssegment_peptide_peptidesegment_and_more.py: 75%
12 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-10 03:22 +0000
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-10 03:22 +0000
1# Generated by Django 5.1.7 on 2025-03-19 13:28
3import django.db.models.deletion
4from django.db import migrations, models
6def update_amino_acid_cds(apps, schema_editor):
7 AminoAcidMutation = apps.get_model("rest_api", "AminoAcidMutation")
8 CDS = apps.get_model("rest_api", "CDS")
9 for mutation in AminoAcidMutation.objects.prefetch_related("gene"):
10 cds = CDS.objects.get_or_create(gene_id=mutation.gene_id)[0]
11 mutation.cds_id = cds.id
12 mutation.save()
14class Migration(migrations.Migration):
16 dependencies = [
17 (
18 "rest_api",
19 "0067_remove_aminoacidmutation_unique_aa_mutation_null_gene_and_more",
20 ),
21 ]
23 operations = [
24 migrations.CreateModel(
25 name="CDS",
26 fields=[
27 (
28 "id",
29 models.BigAutoField(
30 auto_created=True,
31 primary_key=True,
32 serialize=False,
33 verbose_name="ID",
34 ),
35 ),
36 (
37 "accession",
38 models.CharField(blank=True, max_length=50, null=True, unique=True),
39 ),
40 ("sequence", models.TextField(blank=True, null=True)),
41 (
42 "description",
43 models.CharField(blank=True, max_length=100, null=True),
44 ),
45 ],
46 options={
47 "db_table": "cds",
48 },
49 ),
50 migrations.CreateModel(
51 name="CDSSegment",
52 fields=[
53 (
54 "id",
55 models.BigAutoField(
56 auto_created=True,
57 primary_key=True,
58 serialize=False,
59 verbose_name="ID",
60 ),
61 ),
62 ("order", models.BigIntegerField()),
63 ("start", models.BigIntegerField()),
64 ("end", models.BigIntegerField()),
65 ("forward_strand", models.BooleanField()),
66 ],
67 options={
68 "db_table": "cds_part",
69 },
70 ),
71 migrations.CreateModel(
72 name="Peptide",
73 fields=[
74 (
75 "id",
76 models.BigAutoField(
77 auto_created=True,
78 primary_key=True,
79 serialize=False,
80 verbose_name="ID",
81 ),
82 ),
83 (
84 "description",
85 models.CharField(blank=True, max_length=100, null=True),
86 ),
87 (
88 "type",
89 models.CharField(
90 choices=[
91 ("mat_peptide", "Mat Peptide"),
92 ("sig_peptide", "Sig Peptide"),
93 ]
94 ),
95 ),
96 ],
97 options={
98 "db_table": "peptide",
99 },
100 ),
101 migrations.CreateModel(
102 name="PeptideSegment",
103 fields=[
104 (
105 "id",
106 models.BigAutoField(
107 auto_created=True,
108 primary_key=True,
109 serialize=False,
110 verbose_name="ID",
111 ),
112 ),
113 ("order", models.BigIntegerField()),
114 ("start", models.BigIntegerField()),
115 ("end", models.BigIntegerField()),
116 ],
117 options={
118 "db_table": "peptide_part",
119 },
120 ),
121 migrations.RemoveConstraint(
122 model_name="aminoacidmutation",
123 name="unique_aa_mutation",
124 ),
125 migrations.RemoveIndex(
126 model_name="aminoacidmutation",
127 name="amino_acid__gene_id_d4203e_idx",
128 ),
129 migrations.RenameField(
130 model_name="gene",
131 old_name="gene_accession",
132 new_name="accession",
133 ),
134 migrations.RenameField(
135 model_name="gene",
136 old_name="cds_sequence",
137 new_name="sequence",
138 ),
139 migrations.RenameField(
140 model_name="gene",
141 old_name="cds_symbol",
142 new_name="symbol",
143 ),
144 migrations.RenameField(
145 model_name="genesegment",
146 old_name="segment",
147 new_name="order",
148 ),
149 migrations.RenameField(
150 model_name="property",
151 old_name="standard",
152 new_name="default",
153 ),
154 migrations.RemoveField(
155 model_name="aminoacidmutation",
156 name="replicon",
157 ),
158 migrations.RemoveField(
159 model_name="gene",
160 name="cds_accession",
161 ),
162 migrations.RemoveField(
163 model_name="gene",
164 name="gene_sequence",
165 ),
166 migrations.RemoveField(
167 model_name="gene",
168 name="gene_symbol",
169 ),
170 migrations.RemoveField(
171 model_name="gene",
172 name="strand",
173 ),
174 migrations.RemoveField(
175 model_name="genesegment",
176 name="base",
177 ),
178 migrations.RemoveField(
179 model_name="genesegment",
180 name="strand",
181 ),
182 migrations.RemoveField(
183 model_name="property",
184 name="target",
185 ),
186 migrations.AddField(
187 model_name="gene",
188 name="forward_strand",
189 field=models.BooleanField(default=True),
190 preserve_default=False,
191 ),
192 migrations.AddField(
193 model_name="gene",
194 name="type",
195 field=models.CharField(
196 blank=True,
197 choices=[
198 ("CDS", "Cds"),
199 ("rRNA", "Rrna"),
200 ("tRNA", "Trna"),
201 ("ncRNA", "Ncrna"),
202 ("miRNA", "Mirna"),
203 ("misc_RNA", "Misc Rna"),
204 ],
205 null=True,
206 ),
207 ),
208 migrations.AddField(
209 model_name="genesegment",
210 name="forward_strand",
211 field=models.BooleanField(default=True),
212 preserve_default=False,
213 ),
214 migrations.AddField(
215 model_name="sample",
216 name="data_set",
217 field=models.CharField(blank=True, max_length=50, null=True),
218 ),
219 migrations.AddIndex(
220 model_name="sample",
221 index=models.Index(fields=["data_set"], name="sample_data_se_2b6d8f_idx"),
222 ),
223 migrations.AddConstraint(
224 model_name="genesegment",
225 constraint=models.UniqueConstraint(
226 fields=("gene", "order"), name="unique_gene_segment"
227 ),
228 ),
229 migrations.AddField(
230 model_name="cds",
231 name="gene",
232 field=models.ForeignKey(
233 on_delete=django.db.models.deletion.CASCADE, to="rest_api.gene"
234 ),
235 ),
236 migrations.AddField(
237 model_name="aminoacidmutation",
238 name="cds",
239 field=models.ForeignKey(
240 on_delete=django.db.models.deletion.CASCADE,
241 to="rest_api.cds",
242 null=True
243 ),
244 preserve_default=False,
245 ),
246 migrations.RunPython(update_amino_acid_cds),
247 migrations.AlterField(
248 model_name="aminoacidmutation",
249 name="cds",
250 field=models.ForeignKey(
251 on_delete=django.db.models.deletion.CASCADE, to="rest_api.cds"
252 ),
253 ),
254 migrations.RemoveField(
255 model_name="aminoacidmutation",
256 name="gene",
257 ),
258 migrations.AddIndex(
259 model_name="aminoacidmutation",
260 index=models.Index(fields=["cds"], name="amino_acid__cds_id_9e03a3_idx"),
261 ),
262 migrations.AddConstraint(
263 model_name="aminoacidmutation",
264 constraint=models.UniqueConstraint(
265 fields=("ref", "alt", "start", "end", "cds"), name="unique_aa_mutation"
266 ),
267 ),
268 migrations.AddField(
269 model_name="cdssegment",
270 name="cds",
271 field=models.ForeignKey(
272 on_delete=django.db.models.deletion.CASCADE, to="rest_api.cds"
273 ),
274 ),
275 migrations.AddField(
276 model_name="peptide",
277 name="cds",
278 field=models.ForeignKey(
279 on_delete=django.db.models.deletion.CASCADE, to="rest_api.cds"
280 ),
281 ),
282 migrations.AddField(
283 model_name="peptidesegment",
284 name="peptide",
285 field=models.ForeignKey(
286 on_delete=django.db.models.deletion.CASCADE, to="rest_api.peptide"
287 ),
288 ),
289 migrations.AddConstraint(
290 model_name="cdssegment",
291 constraint=models.UniqueConstraint(
292 fields=("cds", "order"), name="unique_cds_part"
293 ),
294 ),
295 migrations.AddConstraint(
296 model_name="peptidesegment",
297 constraint=models.UniqueConstraint(
298 fields=("peptide", "order"), name="unique_peptide_part"
299 ),
300 ),
301 ]