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)
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)
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)
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)
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))
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)
def writeOutput(self): afw = pcssIO.AnnotationFileWriter(self) afw.writeAllOutput(self.proteins)