def testPrint(self): """ The print_ function should produce the expected output. """ self.maxDiff = None subject = AARead('subject', 'FRRRFRRRFASAASA') dbParams = DatabaseParameters(landmarks=[AlphaHelix, BetaStrand], trigPoints=[Peaks, Troughs], limitPerLandmark=16, maxDistance=10, minDistance=0, distanceBase=1, randomLandmarkDensity=0.6, randomTrigPointDensity=0.4, acAlphaHelixFilename='xxx', acAlphaHelix310Filename='yyy', acAlphaHelixCombinedFilename='bbb', acAlphaHelixPiFilename='zzz', acExtendedStrandFilename='aaa') db = Database(dbParams) db.addSubject(subject) expected = ('Parameters:\n' ' Landmark finders:\n' ' AlphaHelix\n' ' BetaStrand\n' ' Trig point finders:\n' ' Peaks\n' ' Troughs\n' ' Limit per landmark: 16\n' ' Max distance: 10\n' ' Min distance: 0\n' ' Distance base: 1.000000\n' ' Feature length base: 1.350000\n' ' Random landmark density: 0.600000\n' ' Random trig point density: 0.400000\n' ' AC AlphaHelix filename: xxx\n' ' AC AlphaHelix 3-10 filename: yyy\n' ' AC AlphaHelix Combined filename: bbb\n' ' AC AlphaHelix pi filename: zzz\n' ' AC ExtendedStrand filename: aaa\n' 'Connector class: SimpleConnector\n' 'Subject count: 1\n' 'Hash count: 3\n' 'Total residues: 15\n' 'Coverage: 73.33%\n' 'Checksum: 3162290961\n' 'Connector:') self.assertEqual(expected, db.print_())
def testPrintNoHashes(self): """ The print_ function should report the expected result if no hashes are found in the subject. """ self.maxDiff = None subject = AARead('subject', '') dbParams = DatabaseParameters(landmarks=[AlphaHelix, BetaStrand], trigPoints=[Peaks, Troughs], limitPerLandmark=16, maxDistance=10, minDistance=0, distanceBase=1) db = Database(dbParams) db.addSubject(subject) expected = ( 'Parameters:\n' ' Landmark finders:\n' ' AlphaHelix\n' ' BetaStrand\n' ' Trig point finders:\n' ' Peaks\n' ' Troughs\n' ' Limit per landmark: 16\n' ' Max distance: 10\n' ' Min distance: 0\n' ' Distance base: 1.000000\n' ' Feature length base: 1.350000\n' ' Random landmark density: 0.100000\n' ' Random trig point density: 0.100000\n' ' AC AlphaHelix filename: ac-alpha-helix-substrings-20-0.85\n' ' AC AlphaHelix 3-10 filename: ac-alpha-helix-3-10-substrings-' '1-0.5\n' ' AC AlphaHelix Combined filename: ac-alpha-helix-combined-' 'substrings-20-0.85\n' ' AC AlphaHelix pi filename: ac-alpha-helix-pi-substrings-1-0.5\n' ' AC ExtendedStrand filename: ac-extended-strand-substrings-' '10-0.5\n' 'Connector class: SimpleConnector\n' 'Subject count: 1\n' 'Hash count: 0\n' 'Total residues: 0\n' 'Coverage: 0.00%\n' 'Checksum: 3786852290\n' 'Connector:') self.assertEqual(expected, db.print_())
def testPrintWithHashes(self): """ The print_ function should produce the expected output when asked to print hash information. """ self.maxDiff = None subject = AARead('subject-id', 'FRRRFRRRFASAASA') dbParams = DatabaseParameters(landmarks=[AlphaHelix, BetaStrand], trigPoints=[Peaks, Troughs], limitPerLandmark=16, maxDistance=10, minDistance=0, distanceBase=1) db = Database(dbParams) db.addSubject(subject) expected = ( 'Parameters:\n' ' Landmark finders:\n' ' AlphaHelix\n' ' BetaStrand\n' ' Trig point finders:\n' ' Peaks\n' ' Troughs\n' ' Limit per landmark: 16\n' ' Max distance: 10\n' ' Min distance: 0\n' ' Distance base: 1.000000\n' ' Feature length base: 1.350000\n' ' Random landmark density: 0.100000\n' ' Random trig point density: 0.100000\n' ' AC AlphaHelix filename: ac-alpha-helix-substrings-20-0.85\n' ' AC AlphaHelix 3-10 filename: ac-alpha-helix-3-10-substrings-' '1-0.5\n' ' AC AlphaHelix Combined filename: ac-alpha-helix-combined-' 'substrings-20-0.85\n' ' AC AlphaHelix pi filename: ac-alpha-helix-pi-substrings-1-0.5\n' ' AC ExtendedStrand filename: ac-extended-strand-substrings-' '10-0.5\n' 'Connector class: SimpleConnector\n' 'Subject count: 1\n' 'Hash count: 3\n' 'Total residues: 15\n' 'Coverage: 73.33%\n' 'Checksum: 2751160351\n' 'Connector:\n' 'Backends:\n' ' Name: backend\n' ' Hash count: 3\n' ' Checksum: 2751160351\n' ' Subjects (with offsets) by hash:\n' ' A2:P:10\n' ' 0 [[0, 9, 10, 1]]\n' ' A2:T:4\n' ' 0 [[0, 9, 4, 1]]\n' ' A2:T:8\n' ' 0 [[0, 9, 8, 1]]\n' ' Landmark symbol counts:\n' ' AlphaHelix (A2): 3\n' ' Trig point symbol counts:\n' ' Peaks (P): 1\n' ' Troughs (T): 2') self.assertEqual(expected, db.print_(printHashes=True))