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

1# Generated by Django 5.1.7 on 2025-03-19 13:28 

2 

3import django.db.models.deletion 

4from django.db import migrations, models 

5 

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

13 

14class Migration(migrations.Migration): 

15 

16 dependencies = [ 

17 ( 

18 "rest_api", 

19 "0067_remove_aminoacidmutation_unique_aa_mutation_null_gene_and_more", 

20 ), 

21 ] 

22 

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 ]