示例#1
0
 def test_bad_peptide_attribute(self):
     self.proteins = self.spi.readInputFile(
         self.runner.pcssConfig['fasta_file'])
     startAtt = self.runner.pfa.getAttribute('peptide_start')
     startAtt.name = "peptide_start_fake"
     afw = pcssIO.AnnotationFileWriter(self.runner)
     with self.assertRaises(pcssErrors.PcssGlobalException) as e:
         afw.writeAllOutput(self.proteins)
     self.handleTestException(e)
示例#2
0
    def test_bad_protein_attribute(self):
        self.proteins = self.spi.readInputFile(
            self.runner.pcssConfig['fasta_file'])
        badAtt = self.runner.pfa.getColumnSortedInputAttributes()[0]
        badAtt.name = "seq_id_fake"

        afw = pcssIO.AnnotationFileWriter(self.runner)
        with self.assertRaises(pcssErrors.PcssGlobalException) as e:
            afw.writeAllOutput(self.proteins)
        self.handleTestException(e)
示例#3
0
 def read_write_annotation_file(self, inputFile):
     reader = pcssIO.AnnotationFileReader(self.runner)
     reader.readAnnotationFile(inputFile)
     proteins = reader.getProteins()
     afw = pcssIO.AnnotationFileWriter(self.runner)
     afw.writeAllOutput(proteins)
     self.compareFiles(
         inputFile,
         self.runner.pdh.getFullOutputFile(
             self.runner.internalConfig["annotation_output_file"]), True)
示例#4
0
    def mergeTrainingAnnotationResults(self):

        fastaFile = self.pcssRunner.pcssConfig['fasta_file']
        seqGroupList = self.getFastaGroupList(fastaFile)

        seqBatchDirectory = self.pdh.getSeqBatchDirectory()
        allProteins = []
        for (i, nextGroup) in enumerate(seqGroupList):
            subDirName = self.pdh.getSeqBatchSubDirectoryName(i)
            subOutputFile = os.path.join(
                subDirName,
                self.pcssRunner.internalConfig["annotation_output_file"])
            reader = pcssIO.AnnotationFileReader(self.pcssRunner)
            reader.readAnnotationFile(subOutputFile)
            proteins = reader.getProteins()
            allProteins += proteins

        afw = pcssIO.AnnotationFileWriter(self.pcssRunner)
        afw.writeAllOutput(allProteins)
示例#5
0
    def test_write_normal_output(self):
        self.proteins = self.spi.readInputFile(
            self.runner.pcssConfig['fasta_file'])
        modelColumns = pcssModels.PcssModelTableColumns(
            self.runner.internalConfig['model_table_column_file'])
        self.modelTable = pcssModels.PcssModelTable(self.runner, modelColumns)
        pcssProtein = self.getProtein(
            "76c3a409540532138c6b44bde9e4d248MDDRDENQ", self.proteins)

        disopredFileHandler = pcssFeatureHandlers.DisopredFileHandler(
            self.pcssConfig, self.runner.pdh)
        disopredReader = pcssFeatureHandlers.DisopredReader(
            disopredFileHandler)
        disopredRunner = pcssFeatureHandlers.SequenceFeatureRunner(
            disopredFileHandler)
        pcssProtein.processDisopred(disopredReader, disopredRunner)

        psipredFileHandler = pcssFeatureHandlers.PsipredFileHandler(
            self.pcssConfig, self.runner.pdh)
        psipredReader = pcssFeatureHandlers.PsipredReader(psipredFileHandler)
        psipredRunner = pcssFeatureHandlers.SequenceFeatureRunner(
            psipredFileHandler)
        pcssProtein.processPsipred(psipredReader, psipredRunner)

        pcssProtein.addModels(self.modelTable)
        pcssProtein.processDssp()
        rankedModels = pcssProtein.getRankedModels()

        afw = pcssIO.AnnotationFileWriter(self.runner)
        afw.writeAllOutput(self.proteins)

        annotationFileName = self.runner.pdh.getFullOutputFile(
            "annotationOutput.txt")
        reader = pcssIO.AnnotationFileReader(self.runner)
        reader.readAnnotationFile(annotationFileName)
        newProteins = reader.getProteins()

        for newProtein in newProteins:

            oldProtein = self.getProtein(newProtein.modbaseSequenceId,
                                         self.proteins)
            self.assertTrue(oldProtein.isEqual(newProtein))
示例#6
0
    def mergeSvmApplicationResults(self):

        fastaFile = self.pcssRunner.pcssConfig['fasta_file']
        seqGroupList = self.getFastaGroupList(fastaFile)
        print "merging application results"
        seqBatchDirectory = self.pdh.getSeqBatchDirectory()
        allProteins = []
        for (i, nextGroup) in enumerate(seqGroupList):
            subDirName = self.pdh.getSeqBatchSubDirectoryName(i)
            self.seqBatchErrorExists(subDirName)
            subOutputFile = os.path.join(
                subDirName,
                self.pcssRunner.internalConfig["annotation_output_file"])
            if (not os.path.exists(subOutputFile)):
                raise pcssErrors.PcssGlobalException(
                    "Seq batch error: did not get annotation output file in directory %s"
                    % subDirName)
            reader = pcssIO.AnnotationFileReader(self.pcssRunner)
            reader.readAnnotationFile(subOutputFile)
            proteins = reader.getProteins()
            allProteins += proteins

        afw = pcssIO.AnnotationFileWriter(self.pcssRunner)
        afw.writeAllOutput(allProteins)
示例#7
0
    def writeOutput(self):

        afw = pcssIO.AnnotationFileWriter(self)
        afw.writeAllOutput(self.proteins)