def save(self, *args, **kwargs): if not self.pk: # so it's an INSERT, not UPDATE self.sequenceIdNo = self.sequenceListing.sequenceTotalQuantity + 1 self.sequenceListing.sequenceTotalQuantity += 1 self.sequenceListing.save() self.residues = util.expandFormula(self.residues) self.length = len(self.residues) super(Sequence, self).save(*args, **kwargs)
def clean(self): if self.moltype == 'AA': p = pattern_prt else: p = pattern_nuc self.residues = util.expandFormula(self.residues) if not p.match(self.residues): raise ValidationError('Enter a valid residue symbol.')
def test_expandFormula(self): """ Test that a formula of type MARRST(ATWQ)2..9TFSRA is correctly expanded. """ print 'Running %s ...' % getName() self.assertEqual('abc', util.expandFormula('abc')) self.assertEqual('abcddd', util.expandFormula('abc(d)3')) self.assertEqual('abcdededede', util.expandFormula('abc(de)4')) self.assertEqual('abcdedededefg', util.expandFormula('abc(de)4fg')) self.assertEqual('abcdededededede', util.expandFormula('abc(de)2..6')) self.assertEqual('abcdedededededefg', util.expandFormula('abc(de)2..6fg')) self.assertEqual('ab(c', util.expandFormula('ab(c')) self.assertEqual('a(b9c', util.expandFormula('a(b9c'))
def save(self, *args, **kwargs): if not self.pk: # so it's an INSERT, not UPDATE self.sequenceIdNo = self.sequenceListing.sequenceTotalQuantity + 1 self.sequenceListing.sequenceTotalQuantity += 1 self.sequenceListing.save() self.residues = util.expandFormula(self.residues) self.length = len(self.residues) shortNuc = self.moltype in [util.MOLTYPE_DNA, util.MOLTYPE_RNA ] and self.length < 10 shortPrt = self.moltype in [util.MOLTYPE_AA] and self.length < 4 if shortNuc or shortPrt: self.skipped = True # I think elif is not needed TODO: perhaps there is a better way to write this condition ... # elif self.skipped != True: # self.skipped = False super(Sequence, self).save(*args, **kwargs)
def clean(self): if self.moltype == 'AA': p = pattern_prt else: p = pattern_nuc self.residues = util.expandFormula(self.residues)