def test_barcode3(self): barcodes5 = [ 'NATN', 'NNCAN', 'NNCAN', ] barcodes3 = [ 'NNTAG', 'NNGT', '.', ] barcodes = demultiplex.prepare_barcodes(barcodes5, barcodes3) index = demultiplex.create_index(barcodes) self.assertEqual( index, { 1: { 'A': {barcodes5[0]} }, 2: { 'T': {barcodes5[0]}, 'C': {barcodes5[1]}, }, 3: { 'A': {barcodes5[1]}, }, }) index3 = demultiplex.create_index(barcodes['NATN']['barcodes3']) self.assertEqual( index3, { -3: { 'T': {barcodes3[0]}, }, -2: { 'A': {barcodes3[0]}, }, -1: { 'G': {barcodes3[0]}, }, }) index3 = demultiplex.create_index(barcodes['NNCAN']['barcodes3']) self.assertEqual(index3, { -2: { 'G': {barcodes3[1]}, }, -1: { 'T': {barcodes3[1]}, }, })
def test_barcode_size_diff(self): barcodes5 = [ 'NATAN', 'NNNCAGN', ] barcodes = demultiplex.prepare_barcodes(barcodes5, None) index = demultiplex.create_index(barcodes) expected = { 1: { 'A': {barcodes5[0]} }, 2: { 'T': {barcodes5[0]} }, 3: { 'A': {barcodes5[0]}, 'C': {barcodes5[1]}, }, 4: { 'A': {barcodes5[1]}, }, 5: { 'G': {barcodes5[1]}, }, } self.assertEqual(index, expected)
def test_create_index_simple(self): barcodes5 = [ 'NNAAAN', 'NNACTN', 'NNACGN', ] barcodes = demultiplex.prepare_barcodes(barcodes5, None) index = demultiplex.create_index(barcodes) expected = { 2: { 'A': {barcodes5[0], barcodes5[1], barcodes5[2]} }, 3: { 'A': {barcodes5[0]}, 'C': {barcodes5[1], barcodes5[2]}, }, 4: { 'A': {barcodes5[0]}, 'T': {barcodes5[1]}, 'G': {barcodes5[2]}, }, } self.assertEqual(index, expected)