예제 #1
0
    def errorCheck(self):
        err = []

        #check possible errors
        nt = [
            'A', 'R', 'N', 'D', 'C', 'Q', 'E', 'G', 'H', 'I', 'L', 'K', 'M',
            'F', 'P', 'S', 'T', 'W', 'Y', 'V', '*'
        ]
        for seq in self.sequences:
            for letter in seq:
                if (letter not in nt):
                    err.append("Sequence contains invalid letter: " + letter)

        try:
            self.scoringMatrix = FileReader.ScoringMatrix(
                self, self.Scoring_Function)
        except FileNotFoundError:
            err.append("file is not found: " + self.Scoring_Function)
        except IOError:
            err.append("file cannot be opened: " + self.Scoring_Function)

        if (len(err) == 0):
            self.errors = None
        else:
            self.errors = "\n".join(err)

        return err
예제 #2
0
    def errorCheck(self):
        errors = []
        
        if not isinstance(self.Gap_Penalty, int):
            errors.append("Gap cost value should be integer")

        nt = ['A', 'R', 'N', 'D', 'C', 'Q', 'E', 'G', 'H', 'I', 'L', 'K', 'M', 'F', 'P', 'S', 'T', 'W', 'Y', 'V', '*']
        for seq in self.seq1:
            for letter in seq:
                if (letter not in nt):
                    errors.append("Sequence contains invalid letter: " + letter)

        nt = ['A', 'R', 'N', 'D', 'C', 'Q', 'E', 'G', 'H', 'I', 'L', 'K', 'M', 'F', 'P', 'S', 'T', 'W', 'Y', 'V', '*']
        for seq in self.seq2:
            for letter in seq:
                if (letter not in nt):
                    errors.append("Sequence contains invalid letter: " + letter)

        try:
            self.scoringMatrix = FileReader.ScoringMatrix(self, self.Scoring_Matrix)
        except FileNotFoundError:
            errors.append("file is not found: " + self.Scoring_Matrix)
        except IOError:
            errors.append("file cannot be opened: " + self.Scoring_Matrix)

        if (len(errors) == 0):
            self.errors = None
        else:
            self.errors = "\n".join(errors)

        return errors
예제 #3
0
    def errorCheck(self):
        errors = []

        if not isinstance(self.gapPenality, int):
            errors.append("Gap cost value should be integer")
        if not isinstance(self.gapExtended, int):
            errors.append("Gap extension value should be integer")

        try:
            self.scoringMatrix = FileReader.ScoringMatrix(self, self.IP_Matrix)
        except FileNotFoundError:
            errors.append("file is not found: " + filename)
        except IOError:
            errors.append("file cannot be opened: " + filename)

        except ValueError as Err:
            errors.append("values are not integer: " + Err)

        except:
            err = sys.exc_info()[0]
            errors.append("Error: " + str(err))

        if (len(errors) == 0):
            self.errors = "0"
        else:
            self.errors = "\n".join(errors)
    def ComputeScore(self, alignment=None):
        errors = []

        try:
            self.file = FileReader.ScoringMatrix(self, self.Scoring_Function)
        except FileNotFoundError:
            errors.append("file is not found: " + self.Scoring_Function)
        except IOError:
            errors.append("file cannot be opened: " + self.Scoring_Function)

        if (len(errors) == 0):
            self.errors = None
            self.file = FileReader.ScoringMatrix(self, self.Scoring_Function)
        else:
            self.errors = "\n".join(errors)

        SOP = 0

        i = 1
        for seqA in alignment:
            for seqB in alignment[i:]:
                Score = 0

                for j in range(len(seqA)):
                    SequenceA = seqA[j]
                    SequenceB = seqB[j]

                    SequenceA = SequenceA.replace('-', '*')
                    SequenceB = SequenceB.replace('-', '*')

                    Score += int(self.file[SequenceA][SequenceB])

                SOP += Score

            i += 1

        return SOP
예제 #5
0
    def nw(self):
        self.scoringMatrix = FileReader.ScoringMatrix(self, self.Scoring_Matrix)
        self.Filled_Matrix= self.Matrix_Filling()
        self.Aligned_Sequence = self.Traceback()

        return self.Aligned_Sequence
예제 #6
0
 def gotoh(self):
     self.scoringMatrix = FileReader.ScoringMatrix(self, self.IP_Matrix)
     self.filledMatrices = self.matrixFilling()
     self.alignedSequence = self.Traceback()
     return self.alignedSequence