Exemple #1
0
 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)
Exemple #2
0
 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.')
Exemple #3
0
 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'))
Exemple #4
0
    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'))
Exemple #5
0
    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)
Exemple #6
0
 def clean(self):
     if self.moltype == 'AA':
         p = pattern_prt
     else:
         p = pattern_nuc
     self.residues = util.expandFormula(self.residues)