def start_end_input(): S_i = list(input().split()) E_i = list(input().split()) return(S_i,E_i) def find_proper_genes(S,E): genome = """ATAGTGTCTTCAAAGCTCCAGGTGGTCCTTCTAAATAGCGCCTAAGCAGCTTCCTTATGACAGGGTGTCGGCGATTATTTATCTCTGTGTTCTATTTTTAAGCAAGTTGTCATCATTGAAATAGAGAACTCATTTTTTTGTTTTTTGTATTTCTTCTTTTTTTTGTATGCATTTTTATTTGTGAACTGTAAATTTTCATAACGTTCACAGAGTTTTAAATAATTTACAGTTAAATCAAAATCACTTCACTACATATTGCTACTTCAAATAACTAATCTAACTGGAGTAGTGGTGTTAAACAGGAATCACGAGGCGAAGAAATCCAGTACGTGTAAACGAGCGAACGAATGAGATTATCAGTTATATTTTCATCGTCATTGTCGCGTGGACAATACACTAAACATATCGCTAAAGCTTCATCTACACGATTAGCGAAAATTTTATATGGAATTGACACCTCGCACGCAGATTTCTGCATACGATTGCACATTGTGAACAAATATGCTATTCGTGTATAAACGCCTTAAAACACATGGGTGGTCGAAT""" gene_list = list(genome) gene_list_count = len(gene_list)-3 gene_panals = [] for start in S: for end in E: S_int = len(start) E_int = len(end) result = [] for i in range(gene_list_count): Genes =gene_list[i:i+S_int] result.append("".join(Genes)) gene_string = '' for j in result: J = list(j) if j==start: if gene_string == '': gene_string = j else: gene_string = '' else: gene_string_1st = ''.join(list(gene_string)[0:S_int]) gene_string_last = ''.join(list(gene_string)[-E_int:]) gene_string_length = len(gene_string) if gene_string_last == end and gene_string_1st == start and gene_string_length >= S_int+E_int: gene_panals.append(gene_string) gene_string = '' elif gene_string_1st == start: gene_string+=J[3] for panal in gene_panals: all = S+E for pattern in all: print(pattern,''.join(list(panal)[1:-1])) print(pattern in ''.join(list(panal)[1:-1])) if pattern in ''.join(list(panal)[1:-1]): if panal in gene_panals: gene_panals.remove(panal) return(gene_panals) def find_shortest_panals(L): if L == []: return('None') else: return('gg') S_i,E_i = start_end_input() print(find_proper_genes(S_i,E_i))
GTGT AAAT GTTTTA TTTTT GTAAA AAATAA
GTGT TGTTCTATTTT False AAAT TGTTCTATTTT False GTTTTA TGTTCTATTTT False TTTTT TGTTCTATTTT False GTAAA TGTTCTATTTT False AAATAA TGTTCTATTTT False GTGT TGTTCTATTTTTAAGCAAGTTGTCATCATTGAAATAGAGAACTCATTTTTTTGTTTTTTGTATTTCTTCTTTTTTTTGTATGCATTTTTATTTGTGAACTGTAA False AAAT TGTTCTATTTTTAAGCAAGTTGTCATCATTGAAATAGAGAACTCATTTTTTTGTTTTTTGTATTTCTTCTTTTTTTTGTATGCATTTTTATTTGTGAACTGTAA True GTTTTA TGTTCTATTTTTAAGCAAGTTGTCATCATTGAAATAGAGAACTCATTTTTTTGTTTTTTGTATTTCTTCTTTTTTTTGTATGCATTTTTATTTGTGAACTGTAA False TTTTT TGTTCTATTTTTAAGCAAGTTGTCATCATTGAAATAGAGAACTCATTTTTTTGTTTTTTGTATTTCTTCTTTTTTTTGTATGCATTTTTATTTGTGAACTGTAA True GTAAA TGTTCTATTTTTAAGCAAGTTGTCATCATTGAAATAGAGAACTCATTTTTTTGTTTTTTGTATTTCTTCTTTTTTTTGTATGCATTTTTATTTGTGAACTGTAA False AAATAA TGTTCTATTTTTAAGCAAGTTGTCATCATTGAAATAGAGAACTCATTTTTTTGTTTTTTGTATTTCTTCTTTTTTTTGTATGCATTTTTATTTGTGAACTGTAA False GTGT AATAGCGCCTAAGCAGCTTCCTTATGACAGGGTGTCGGCGATTATTTATCTCTGTGTTCTATTTT True AAAT AATAGCGCCTAAGCAGCTTCCTTATGACAGGGTGTCGGCGATTATTTATCTCTGTGTTCTATTTT False GTTTTA AATAGCGCCTAAGCAGCTTCCTTATGACAGGGTGTCGGCGATTATTTATCTCTGTGTTCTATTTT False TTTTT AATAGCGCCTAAGCAGCTTCCTTATGACAGGGTGTCGGCGATTATTTATCTCTGTGTTCTATTTT False GTAAA AATAGCGCCTAAGCAGCTTCCTTATGACAGGGTGTCGGCGATTATTTATCTCTGTGTTCTATTTT False AAATAA AATAGCGCCTAAGCAGCTTCCTTATGACAGGGTGTCGGCGATTATTTATCTCTGTGTTCTATTTT False GTGT TTTTATAAATAATTTACAGTTAAATCAAAATCACTTCACTACATATTGCTACTTCAAATAACTAATCTAACTGGAGTAGTGGTGTTAAACAGGAATCACGAGGCGAAGAAATCCAGTACGTGTAA True AAAT TTTTATAAATAATTTACAGTTAAATCAAAATCACTTCACTACATATTGCTACTTCAAATAACTAATCTAACTGGAGTAGTGGTGTTAAACAGGAATCACGAGGCGAAGAAATCCAGTACGTGTAA True GTTTTA TTTTATAAATAATTTACAGTTAAATCAAAATCACTTCACTACATATTGCTACTTCAAATAACTAATCTAACTGGAGTAGTGGTGTTAAACAGGAATCACGAGGCGAAGAAATCCAGTACGTGTAA False TTTTT TTTTATAAATAATTTACAGTTAAATCAAAATCACTTCACTACATATTGCTACTTCAAATAACTAATCTAACTGGAGTAGTGGTGTTAAACAGGAATCACGAGGCGAAGAAATCCAGTACGTGTAA False GTAAA TTTTATAAATAATTTACAGTTAAATCAAAATCACTTCACTACATATTGCTACTTCAAATAACTAATCTAACTGGAGTAGTGGTGTTAAACAGGAATCACGAGGCGAAGAAATCCAGTACGTGTAA False AAATAA TTTTATAAATAATTTACAGTTAAATCAAAATCACTTCACTACATATTGCTACTTCAAATAACTAATCTAACTGGAGTAGTGGTGTTAAACAGGAATCACGAGGCGAAGAAATCCAGTACGTGTAA True ['GTGTTCTATTTTT', 'GTGTTCTATTTTTAAGCAAGTTGTCATCATTGAAATAGAGAACTCATTTTTTTGTTTTTTGTATTTCTTCTTTTTTTTGTATGCATTTTTATTTGTGAACTGTAAATTTTCATAACGTTCACAGAGTTTTAAATAA', 'AAATAGAGAACTCATTTTT', 'GTTTTATAAATAA']