def testSpacesMustBePreserved(self): """ If there are spaces in the query title or subject titles, the spaces must be preserved. """ mockOpener = mockOpen(read_data=DIAMOND_RECORD_WITH_SPACES) with patch.object(builtins, 'open', mockOpener): reader = DiamondTabularFormatReader('file.txt') acc94 = list(reader.records()) self.assertEqual('ACC 94', acc94[0]['query']) self.assertEqual('IN SV', acc94[0]['alignments'][0]['title'])
def testSpacesMustBePreserved(self): """ If there are spaces in the query title or subject titles, the spaces must be preserved. """ mockOpener = mockOpen(read_data=DIAMOND_RECORD_WITH_SPACES_IN_TITLES) with patch.object(builtins, 'open', mockOpener): reader = DiamondTabularFormatReader('file.txt') acc94 = list(reader.records()) self.assertEqual('ACC 94', acc94[0]['query']) self.assertEqual('IN SV', acc94[0]['alignments'][0]['title'])
def testDiamondInput(self): """ Test conversion of a chunk of DIAMOND output. """ mockOpener = mockOpen(read_data=DIAMOND_RECORDS) with patch.object(builtins, 'open', mockOpener): reader = DiamondTabularFormatReader('file.txt') acc94, akav, bhav = list(reader.records()) self.assertEqual(5, len(acc94['alignments'])) self.assertEqual(2, len(akav['alignments'])) self.assertEqual(2, len(bhav['alignments']))
def testDiamondInputWithoutNidentOrPositives(self): """ Test conversion of a chunk of DIAMOND output that does not contain the nident or positives fields. """ mockOpener = mockOpen( read_data=DIAMOND_RECORDS_WITHOUT_NIDENT_AND_POSITIVE) with patch.object(builtins, 'open', mockOpener): reader = DiamondTabularFormatReader('file.txt') acc94, akav, bhav = list(reader.records()) for record in acc94, akav, bhav: for alignment in record['alignments']: for hsp in alignment['hsps']: self.assertIs(None, hsp['identicalCount'])
def testDiamondParams(self): """ When a DIAMOND file has been read, its parameters must be present in the reader instance. """ mockOpener = mockOpen(read_data=DIAMOND_RECORDS) with patch.object(builtins, 'open', mockOpener): reader = DiamondTabularFormatReader('file.txt') list(reader.records()) self.assertEqual('DIAMOND', reader.application) self.assertEqual( { 'application': 'DIAMOND', 'reference': ( 'Buchfink et al., Fast and Sensitive Protein ' 'Alignment using DIAMOND, Nature Methods, 12, ' '59-60 (2015)'), 'task': 'blastx', 'version': 'v0.8.23', }, reader.params)
def testDiamondParams(self): """ When a DIAMOND file has been read, its parameters must be present in the reader instance. """ mockOpener = mockOpen(read_data=DIAMOND_RECORDS) with patch.object(builtins, 'open', mockOpener): reader = DiamondTabularFormatReader('file.txt') list(reader.records()) self.assertEqual('DIAMOND', reader.application) self.assertEqual( { 'application': 'DIAMOND', 'reference': ('Buchfink et al., Fast and Sensitive Protein ' 'Alignment using DIAMOND, Nature Methods, 12, ' '59-60 (2015)'), 'task': 'blastx', 'version': 'v0.8.23', }, reader.params)