def reverse_complement(dna): """Returns the reverse complement of dna""" reverse = dna[::-1] return complement.complement(reverse) #data = open_file.open_file("rosalind_1b.txt") #print reverse_complement(data) #print reverse_complement('CCCAAGTACGAGGATGTCTAAACGGCGATGGCGATAGGAGCAGAATGACAATAGCTGACATTTTAACCCTAAGGCAAGCTGGTAGATAACCAGAGGAGCTAAATATCGTATCTCTGGCATAATGACAACAACAATCGTGCTCCTTTACTTATGGCCGGTGTGGACGCGTTTAGTGGAGGGGCAGTTCAGCTACACCCTGACCGCACATTATAGTTAACAGTGACGAATCAAGCAAAGGTATAACTATCTAAGAGTAGCGAGCAGGGGCATCGTCTCCGCAGTTGCTGCCGGAGGGGTAGGAATCTTAATACCTGGGGGATAATACAAGTGACAACGAGTCTTGGCCGGGTAGAACGAGACCGCGCCAATGCTGGGATGCTATCTTCGGACCCCACCATCAAATCTAATGTTGTACCTGTGATCGGCTGATTAGTATACGTCCGAGCTTGAGAATTCACTTTTCGAGAACAGTCGTGAGACCTCCGCGATCCGAAATCTTCGTGGCTTTGGAAACCCTCCGCTGATCAATATGGGTACTCGGATAGGACAGTCTTGATATTGACTGACTGGTATGTACTGCCTCCTCCCAATGTGTGGTAAACCGCCCATGAGTACACTAGAGATCATACTAGCTCTGCGGACTACTACTAATTTTTGCCCAGGGTGGAGGCGCCAGCTGGACGGAGTTGTTCATATGTAGTTTAGTCAGTGCATTCGGAGGGGCCAATCAACCATAAGACTGGCTGACACTGGTGGCGAAGGTTTCCTAGGGACCTTTTAAGCCTGACGGTATGCAGTGCTCTTTCGGGTGAAATTATCGGCTGTCGCTATCTGGGATATTGTCACGATTTGTCCGGTGGTGCTGGAATTCAACCAGGGTGACACGAGTATTCCGCCTCTGCATCTGGAGAATTCGGATTCCCCTTTCTCTGTACGCCTGACGAAGGGCTCTTACAGCGTGAGTAGAAATCACTGATTGGTTGCGTTGCTCATATTATCAAAGTACGGTGGGGCTAAATGTACGGCAACCAGGACCGCTTTGAGTGATCATAGTCACTCGCCGTAACGAGATCTGTGTCTAGTGTCGACTATAGCGGAGTGAGTATTGTGGCAGAAGCGGGGCGCGGTCCCAGTCGGAACCATGAACACCAGTGCGCTACTATGCCAACAGTGCAAACAACGCATAAGACTCCTGGCTCGATTCCGAGATTCTGCCCGAATGCTGGAGGTAACGATTTATCCGCGAAAGCCCTCTCAGGGGGTTGTAATTGCGTAATCACTGGGCGTGCTTCATGGTGCACTATATCGCAAGACAAGTGACGCGCGAACGTAGCTGTCCCTCCAGGTACGCCCTGGGGTGTTATTGAGGGCGCTGATTAGCGCAGGCTAAAAGGCGTAGCATCCAGTGACCATCGGGGGTATCAGTGCTACTTTCAAGGCTAGTCGAGCTTGAGTCTGGTCTTTCCAGACACGGACTCCATTCGAGTTTCCGAAGTAGAACACGCTCGAACTCTGAGGTAATACCAACGAATAATACACCACTCGATAGGGAACATACAACAAGGCGGAAGGTTGCACCGGCCGTAACCGTTTAACGACGCCAATCTAAAGAATGCTTACACTGGAAACTTAGAGAGTACGGTCACCCCTTAATATCGGCTGGGATCTCCGCAGCTACGCGTCGCATCATCCCCGCGCGTGTGAAGAGGATTCTTTCTGAGTTCGATTGGCATCCTCCACAAGCGAAGACATATCTCCCTGGGTATATCTGCCGTCCCTACTATTCCTTCAATGCCGTACCCAATGGTGCTACGTATACTAATTAGCTTGAGGTCAAGCGCTGACCGGAGACACGGTACCGACTCTATAACTAAGTGGCCTTTTCTGACTGCGCCCGCTGGGACACTAAACATGGATTCATACAATGAGATTGTGGTATTCAGTATATCGAGACGCGCCTTAAATTCCCCGTAGAGGGTGGGCATCGATGCATCAATTGAGGGATATGTTGTCGTTCGCAATTTACGAACAGGTAAGGTTATAGATGGAAGATACTAAAAAAGAGCGACTCAGTGTGTGTTCTTTCGCTATGCCGTGCTATGATGTTATTCCCAGCCTTCCATGATGATCAAGATTGGGAATGGCGAACCTTGTCTATGTGTCACCTATCCCAATCGAGTTTAGCCATAGCAACTCTTCGCTACGAGCGCCTTTTCATGTCTAGACACTAAACGGAAGTGCTGGGCCATCGACCTACCAACTGAACGACCAAAGGAGGCTAGTAGTGGGACCCGCTACAGGACGGGTCAATACGCGCGCCCAGTCCGGGCCGAAAACCTCTTTGCCGACAGTCATGTCGAACCTTTCCCTCTGGGCGTAAGGAGTTCAGACTACCTGACGGCGATGCGGCATCATGCATGACATGACTACTATACACACCTCCCCTTTGCGCAACATATGTAAAGTAACATAACAACACGCACTAGTTGTTCTAAGAGACTTATTCCGAGACCATTTGCACTCAAACGCAAAGTAGAGCACTATACAGAAACAGTATATCACTCCGTATTCGCATATTTAAGAAAGTTAATGATTGAGTCGCAGCAAGCCAGAAAAAATGTTCATAGTCTACGGGAGAGGTACCTTATTATGCTTAAAGAGCACATTGCACCGCAGGAGGTCCCGGTCCAGATGGGCAAAAGAGCTGTCCTGGAATGAGCAATTACACTTCGGTTGACCCGACCTCGATTCGCGGAGCAGAATAAGTGATGATCAGAATATTACTGTGCATCTAACACCCAACGAAGATAGCCGGGATATTATAGTGAACTACCTACTATGCTACCCTGTCAGGAACCCGGACTCCGTAGTTGGCGTGTGTGACAGTTATGGCCCGCACGCGGATTAATCATAAGTATTAAATTCACTATAACAATCAAACTTCTATTATATTTCCTAATTTTATTACGATTCGGGGATCCTGCGGCACAACAGCACGAGTCAGTGAGTATAATCCCTGCTTCGCACAATCAGCGATTAGGCGACAACCCAGAACAAATGACGTAGGAGACTACAACAGTAGAAGGTTAAGAATTCGTATACTTACGACAGCGTCAATGTCGGTCACAACCCAGGTGAGTGGGTGGGCTGGTGCGGGCTAGATCTGGTTTTTAAGAGTGTTCCACCGATTAATGGCTAAACCACCTGAAGTTATGAGAGATCTGATACGTCGCCATATCCTGGGCCTCTTCATGGTCCTGAGCGCTTTCATACTAGCCGAGCTCCGCCGGAGTCCTACCGAAACTAGACAGTGGCGGGACTGCGTATATCGGCGGAACTCAGGTACTGTCAACGGATTATGCAGGCTGGTTGGTACGAGGCAATGTATTACCTCTAAACTGACGCTCCTCACCGATAACCGTGAGGCTCGTTCTCGCACTCAGTCCTTCAAAGACAGCTAGAGATTTCGACACGTCAAACTCTGAAGAGATATATAGAGGAGACGTATGGGGTGTAGTCACTGATGTCGGTTCGGGCAAAGTTTTCTACTCGATGCAATAGGTCGCCACCTGACTTACACCTAATGTTCTCTGGGAGTTACATTGTTTTAGTGACCGTTCAGGTTCGTCGTGTTACAATTATTTTAATCAAAATCAACGCCTTTGACTCTGTAAATTGTAGATTAAAGTGCATGCGGACGACCCGAGCCCGGCATACACGCTTGACCGCCCCATGACTCTGATGTCTGATTGGCGGAGGAGTGTGAAACTCTTATTCGTGGGGCATCCAACGTGATCGAATTGAATACGCGGCAGCTACCCGGAAGGAATGGTGAAATACTCCAGCAGCGGCAAACCCCCAAAATCTAAATGTGGGTGCACACTAGGTTTGCGAAAAGCGCTGGCCCTTAGGTATTTAGGTCGGACAGATCAACGTCTGTTGCAATCCCGGCGGCCGATCTCGTACTTCCGACGGGATCACTTCGGCGTGGTTTGTTATCTCTGGATCATTGTGAGCCATCAACCTCCATGAAAGGAACAACTCATGACTTCCAAATATGACGACCAAAGTGACCCCGCCTAGATCCAGAGTCGGGACCGAGCGATGTTGCCGGACGGATTCCTTTAACGTTCCCCAAGTAGTGGATCTTTGCAGACTTCTAGCAACTGGCATGATAGTCGGATATATCTGGCGCTACCACGGGCCATCTTGGTGCGATCCGCAATCGTAACCCTGTCCGCATCTGCTAACGCGTACCAACTCTTCTGCTGCGAGGCAACTTTTGCAATAGTCCCTATTGCGAGTGAGCAACCAGGTGCTACCCCTACTGGACAGGCAGTGAGCTGCGGTTGGAGTTGTCACGCTGCAAAACTCGGACATTTAGAGGCAGAACATCTAGGAGATAGCGAAGTTAATCTTTTGACTACTGCTGGCTGCGCTGCCCCCCATGGCCCGTATTCCGCTGTCTTTTCACTGAATACCAAAACTCTCACAAATTTAGTGCTACCCGGAGTTCCCCCAGATGATGCGGTCAGGAGGGAACCTTGGTGAATTACCGGGGTGGCTCCCACGGTACTCTTTGAGCTCGACACGGAATCATACTGTTCGGGAATGGCCGGCGCGCGCATGGACGGCGGACATACTTTGTCTAACTTCTCTGAACTTGAGATACCACCTAATTAACAGGATTCTTGCTCATGAGGTTCACCATCGTCCTGACCTAGAGACTCGACCCGACCTAAGGCGGTTTAAAGTGGTTTGAGGACAAAGTGGGTGTCCAGGGCGCGCAAAAAATTCGATCGACTCTTAAGCACTGAGCTCAGGCTTCAGAGGTTCAGTGGTGTACCCTCCAGTTAATAAACGACGTGGCTGGTTCTTGTCGTTATCTTCTGAATGTAACGGATGGTCTGATCTCCGCAGGCGTTCATTTCTATGTCCTTAGTAGCGTCGTAAGTAAACTACCTCAAAATGGGGAAGGACCACGCCGCATCCAGACCACCTCGACGTTCTGACATCTATTACAACATCGGATGTACTCATTTGCTGTAAGAATCCCGTTCAGATCTGAAGGCTTGTATACGTACCTGCCTTATGGATTTGCCCGTACAGGCGGGTACATTTGATCCCCCGCGAAGCAGTAGTGCTCAGACCACCCAATCCCTTCATCTTATGTTGCTTACCCTGCAACGATTCCGCTTGTGAGCGTTTCTACTTGGGGTACAAGCCCCATGACGACAGGCGAATGTGTTTATAAGCTACGAGCGTGGCAATGAGCTCGTTCCCATAGGCCCGTGCCATCATAACTTAGGCTATATCCAGTTCGGACCTGCTCATCACGGGGAAGACGACCGATCGGCATCTGATGCGAGGATGGAGAACGAAGTGGGCTGGGTAGACTGGGGCGCGAGATAATATTATCGGGGGCAGTTAGCGTAGAGTCTGATCGGATAAGCGTCGGCGTCATAACGCGGGGTACCCAGAGCGTCGAGAGGGGCCAGTACTCGAAGAGGTTGGACCCCGCTTGATATTCCTACCAGCTCTAGTAGTCCGGGATTATGAGTGCCAGGTTCAGAGCGGTTGTACAGTTGTTATGTCCTTTCGGATATCATAAGCAGGTTTGGTTGGATGCGGCTTGACTAGGAGAGTAAGCATAGGCGATAAAGGTAATTTCGGCTTACTGATATTATATGATTCCTCTACGCTAATAATCCGCGGACAGGGACACTGGTACGTGGCGAGGGCAGTACCCTATCTCGTCGACCCTCGCTTCCGCTGTCGTGCCGTGTAAACAAGAAATCATCGAGCATGTCCGTACCTCAGAGCACGTTACCAATATTCGAAATCTGAACCGGTCCGCAGTCTTAAAATATTACGAAAACGAATTAAACCTCATTAGAATTCCGCAATTTTTCTAAGCTCTCCTGGCTACATCTTCACCTGGGACCTTGAAATCATATACAGTAAAAAGAGGCGTTTATCTAGAACGCGAGTTCTCCAGCGTAACTGGAGGAGTACAATCTAATCCTCGATATTGGCAACGGGACCTGCGCGTTTTGCGTTCAGTAACCTCCGGCCGGACAGCCCCATATCTGTCCCGGCAGCTCCACGTCCAGGTTGTCCGCACCGACATTGTTGACATAAGCTACTAAAGACCTGCCTAAGCTATCCCACCTGTTGGAAACTATTCCGCTAGAGGATATCTGTGTTTTGGTTAATCTGATGGTAGTAGGGCAGCTCACGGTTGGTAAGCGCAATATCCGCAGGATCCCCCAGAAGTATCTATAGTGTCCTTACCATACAGGTCAGAAGTGTCCGGTCAGCCTCACCTCCGTATCACAGGCGGGAGCCCGTCCGGTTGGTATTTCCGAGCTTCTAATTTAGCTACGTTACCAGCGGAGACTCCGCGTGCCCGGTGACAACGGGGTTGCGAGCCGGTCGCAAGAAAAGCTTGTGATCGGTTGCGCCACCAAGCAAACATCACGAACGGCTTACATTCCGAACCCAGGCCTTAGTGCGTAAGTGGACATTCGCATTCAATAGACCTCAGGTCTTGACCTGCCTAATCCGGCGTCGGCCAAAGCTCCGAATCTTAGTTAACTCGGTAGTATTGGCGAGAAAAGAAAGTCCTAATCGTACCGCACAGCTATAACTAAGGGCGACAGCGTTTTGTGAGCAGGCTCTATAACTTGAGTTAGTTGGACCGTAGGCTTAAAGAAACTGACTATTTGCCCGTGCGCAGCACACGTACATAGGGATAACCATCAATAACGTTTGTCGAATCGTCTGGGATAAATTTACCGGGTGCTCACATACTGCTACACGATCGCTCTCCGATACGACTAGCAGTAGATCGCACACACAATATTAGTCTCAATCAATACATTCATCCTACGGATAAATATGTTGAGTTGTTCGAGCGGCCGATTTCGAGTCTTTCGGCGTACTATAGGATTGGGATCTTGCATAGTAGCGGTAATGCTGTCTGCTCCACAGTATTTAGGGTGTCTTGCTTGGACCGAGGGCCTAACCGTATCATCTTGGAATTCCTAGCGAACAGGAGTAGGCAAGAATCAGCGCAGAGTATCAGGCAACTCCCCAGGTAGAGTGGTAACGACTTGATCCAGCCATGATGTATGTCTATGGTAGCTCTCTCAGGCCGAGCGAAACTACGCACTGGGCCTTAAGAACATGGGGCCAGTGTAGAGGGTGGCGGTAGGCCGACGTAGGGCTAGATCTACTACGTATAGAAATTGCCATGGCATTGCCAAAGACGCTTGTACTGGAAAGTGGGGTCGCTAGCGTAGGGCCAAGGCTGGGTGCGTTAATAACGGTGGATAGGCGGGAAATTGGGTCCCTTCTTTCAACCCTAAAATAAAATAAGTCCTCATCATTGATCGTGGCCACAATACATTACCAATTGAAGTGATGTTAAGCCACGAGCAACCCTCTGTTGCGTCCGTCAGTCCTTTAGCCACCATACTTGCAATAGTCTAAATTCGCTTAGCCAACAGGCTCACCATTTCCGAAAACTCAGAAGTTACATATGTCTGTAGATTAGGGAACGAAATTCGATTGAAATTACAAGTCCCTTTGTATGAGTCCCTGACATTAGTGGTTTCCAAATGAGCTAGGCCGATCGACTCTGTCAACTAGGAGATGCGGGCAAGGTATTCACTATCGAGCATGGTCTAAATCTGCAACACGCAAGTTGGGGAAATGCCAGCTTAAGCCACATCGTTAGTGAGAGATAGCTCACCTTCCCTGGACGCGTGGCGCAGCATGACGAGTCGATGATACGTTCCTGATGTATGTACGCCGGTGCGTAAACTCTTCCCTAAAGAGACAGTTCCAACATCGATAGGACTCATCAATATCTACGGCCCGGGTTGAGGCGGTGTCTGAATTAGGTCCTTTGCCATTTGCCGCGGAAGATAACAAACGCCACATCAGAAGCGCCTCCAAAGGGTACAGAACGCAGAGCTAATTCCCTCATGCGCCTCCGCGCCGATTCCCTTTTTATTGTACGCACATTTTGACAGCCGATTCCCTCACTATCGTCGAGCACACACCAGACCAGCGTCCCAGGACCTGTCGTGGGAGGGATTACCGAATGAGGGTTTGCCGCCCTGCACTCTCGCGAGGCTCGGTTCTGTAGACTTTTATATCATACGCTCCCTTTTCGCCTTCGACGGAGGTTATTATTATATCTATGTCTCCTACAGGTTCTCATCTGATGGTATTCTTCTCTATAGATCGTCTTCATGGAAGGTTATTACTGACATGCCCGTAAACTTATGACCATAAAGAGGGGGACGGCCCTTTTAATCAATTGCCACCCGACACTGCGCCTGTGAGCGTCCAGCTGATAGTCTACGGTAATCGCCTTCTTACTTCGTCCACCACTAGACCCCGGGAGTGACCGGTATATGCTTGCGATAGCCGACTGTCACCCCGGCGACCTAAGCGTTATCCTTTGAAATGCGAAACACGTCTTATAGGTCCCGACGACTTAGTGATAGACAGCTACATGTCGATTACACATTTACTCCCACCAGATCGCTGTGCTAGTCGCAGACGAGTATAACACCGGCACCCCGATACTTGGTTTGGAGCTAAGTCATTTGAAATGTTCTCTTAGGCCATATGTATATAGTCTGTGACTTGGAATTAATAAGCAAAGCGCCAGGCGCCGCGCGCGCCAACATACTTGAATATACAGCAGCGCGTGGGCCGAAACGAGACACCAAAACCACTATTTGGAACGCGTGGCACGTATGGCAGCATGACCCCCAACGGCATACGTAGACAAAACTTTACGACCGGTAGCTGGGCGGAGGGTCAGGGGATCGGGGTTACTGCGGCCAGGCCGCGGCACACCTGCAAATCTTCGTTATGTTGTATTTACTCGTGTGTCGTACCTGGAAGGCATTCGCGCCTGAACTTTTGGACCCCGAAACCAATTACGGCCTGTTAGCTTGTGCACAACGAGTCCGGTGTTATTATCTCCACCGGTTTAAAAACGTTATAGATACAGGCGGGAACCCAGCGGCTGTGGATCCACATCTTCCGATAGTAAGTAGATGGTTTATAGCAGTCATGGAGCGCTAAAACAGAGTTATACTTCGCTCCATCAGGATGCACCGCTGCTGTTGAAGCGAGCATCTTGTCTAATTAAAACTGTTAGGCGATTGACCGCGTCAAGTACCCGCGAGAAGGAGCTTCTAAGACGGTATGAACTCTGCTTCGTTAACCCCCGTAACTGACATTCGCGCGTTTGTACTACATCCTATTCGAGATTAGTTGACCCTGCGCCTTTACGCCTTGAACGCGGTACGAGTTTTATTATCCATATACGCGGGCGAGTAGAATTGAGGGGGAAATCACTGTTCTAGACATACACGCCCCTAATAACTAACTTCACCATGTTCTAAGAAATATTCCAGTCTGTGTCACAGGCCCATGGGATGTCCGAGCATCCTCGGAGGTAAACCTGACTAGGTGTAATTTGAGTGACCCTTCAGTCCTCATACATTAGCGAAAAATCCGTACCCCACGATCCGTGGTAGTGGATACCAGGTCTGATCCGCACACTTATTTACGTACTTAATCTTGGTCTTGTCCTCACCGGTATAGGATCTCAGGTATCACTTCATGAGGGACAGACTATCGGGCTCATTCGACTGTGGTTAATATGTCAGAATCTCTCTCGGTATCCA')
def sudoku(name): global listk a = input1.input1(name) i = 1 j = 1 listk = [] for i in a: for j in a[i]: if a[i][j] == 0: listk.append([i, j]) i = 1 j = 1 while i < 10: listr = [] listbox = [] listc = [] for k in range(1, 10): if a[i][k] != 0: listr.append(a[i][k]) if a[k][j] != 0: listc.append(a[k][j]) listbox = listb.listb(a, i, j) listu = union.union3(listr, listc, listbox) listv = complement.complement(listu) if ([i, j] in listk): a[i][j] += 1 while a[i][j] <= 10: error = errchk.errchk(a[i][j], listv) if error: a[i][j] += 1 else: j += 1 if j == 10: j = 1 i += 1 break if i < 10 and j < 10: if a[i][j] == 11: a[i][j] = 0 c = listk.index([i, j]) i = listk[c - 1][0] j = listk[c - 1][1] else: j += 1 if j == 10: j = 1 i += 1 output.output(a)
2 - Decimal to binary 3 - Binary to decimal 4 - D-Radix complement 5 - Radix Complement\n""" flag = True print(s) while flag != False: islem = int(input("Numara gir : ")) if (islem != 0): if (islem == 1): num_of_complement = str(input("num_of_complement : ")) num_s_complement = str(input("num_s_complement : ")) print(comp.complement(num_of_complement, num_s_complement)+"\n") elif (islem == 2): number = int(input("Number : ")) print(comp.decimal_to_binary(number)+"\n") elif (islem == 3): number = str(input("Number : ")) print(comp.binary_to_decimal(number)+"\n") elif (islem == 4): num = int(input("Number : ")) print(comp.d_radix_complement(num)+"\n") elif (islem == 5): numb = int(input("Number : ")) print(comp.radix_complement(numb)+"\n") elif (islem == 0): flag = False else:
def test_t(): assert complement('T') == 'A'
def test_a(): assert complement('A') == 'T'
def test_given_example(): assert complement('CAATTTGGGG') == 'GTTAAACCCC'
def test_atgc(): assert complement('ATGC') == 'TACG'
def test_c(): assert complement('C') == 'G'
def test_g(): assert complement('G') == 'C'
def reverse_complement(input_sequence,input_type=''): # use the complement function from the complement module complement_seq = complement.complement(input_sequence,input_type) # easy reverse method: full list slice with a step of -1 reverse_complement_seq = complement_seq[::-1] return reverse_complement_seq
def pat_ix(P, S): ''' >>> pat_ix('ATAT', 'GATATATGCATATACTT') (1, 3, 9) >>> pat_ix('z', 'GATATATGCATATACTT') () >>> pat_ix('AT', 'A') () ''' i = 0 ix = [] try: while True: ix.append(S.index(P, i)) i = ix[-1] + 1 except ValueError: return tuple(ix) if __name__ == '__main__': # import doctest # doctest.testmod() # S = open('/home/xio/Desktop/Vibrio_cholerae.txt', 'r').read().strip() S = open('../dna/Thermotoga-petrophila.txt', 'r').read().strip() P = 'CTTGATCAT' print ' '.join([str(el) for el in pat_ix(P, S)]) print ' '.join([str(el) for el in pat_ix(complement(P), S)])
def make_square_net(self, default_size, save_to_png=False): while True: h, w = self.sides(default_size) lat_step = self.d_lat / w lng_step = self.d_lng / h city_array = np.zeros([w, h, 4]) matrix = [[ Square( min(self.lat) + (w - y) * lat_step, min(self.lat) + (w - y - 1) * lat_step, min(self.lng) + (x + 1) * lng_step, min(self.lng) + x * lng_step) for x in range(h) ] for y in range(w)] [[ matrix[x][y].presence_checker(self.lat, self.lng) for x in range(w) ] for y in range(h)] for i in range(w): for j in range(h): if matrix[i][j].presence is True: city_array[i][j][0] = 255 city_array[i][j][1] = 255 city_array[i][j][2] = 255 city_array[i][j][3] = 255 city_array = complement(city_array) lista = [] addons = [] for i in [0, h - 1]: for j in range(w): if city_array[j][i][0] != 255: lista.append([j, i]) for j in [0, w - 1]: for i in range(h): if city_array[j][i][0] != 255: lista.append([j, i]) last_layer = list(lista) while True: for element in last_layer: self.black_propagation(element[0], element[1], city_array, lista, last_layer, addons, h, w) lista = lista + last_layer last_layer = list(addons) addons = [] if len(last_layer) == 0: break border = [] for element in lista: self.border_propagation(element[0], element[1], lista, last_layer, addons, border, h, w) lista = lista + border cepkel = np.full([w, h, 4], 255) for element in lista: try: cepkel[element[0]][element[1]][0] = 0 cepkel[element[0]][element[1]][1] = 0 cepkel[element[0]][element[1]][2] = 0 cepkel[element[0]][element[1]][3] = 0 except Exception: print(element[0], w, element[1], h) for i in [0, h - 1]: for j in range(w): cepkel[j][i][0] = 0 cepkel[j][i][1] = 0 cepkel[j][i][2] = 0 cepkel[j][i][3] = 0 for j in [0, w - 1]: for i in range(h): cepkel[j][i][0] = 0 cepkel[j][i][1] = 0 cepkel[j][i][2] = 0 cepkel[j][i][3] = 0 for i in range(h): for j in range(w): if cepkel[j][i][0] == 255: matrix[j][i].part_of_the_city = True if self.get_potc_count(matrix) > h * w / 3: break if save_to_png is True: plt.imsave('{0}_test.png'.format(self.city), cepkel, cmap=cm.gray) return matrix
def reverse_complement(input_sequence, input_type=''): # use the complement function from the complement module complement_seq = complement.complement(input_sequence, input_type) # easy reverse method: full list slice with a step of -1 reverse_complement_seq = complement_seq[::-1] return reverse_complement_seq