COLAB https://colab.research.google.com/ Instalation of Biopython on colab !pip install Bio Files can be loaded by: - left side menu, section files and upload - by importing 'from google.colab import files' Function kmers: all_kmers('CTACGTCACACACAGT', 3) ['CTA', 'TAC', 'ACG', 'CGT', 'GTC', 'TCA', 'CAC', 'ACA', 'CAC', 'ACA', 'CAC', 'ACA', 'CAG', 'AGT'] For instance: all_kmers could be as short as "[s[i:i+k] for i in range(len(s) - k + 1)]" kmers = all_kmers('ATGGCGTGCA', 3) ['ATG', 'TGG', 'GGC', 'GCG', 'CGT', 'GTG', 'TGC', 'GCA'] hamilton_graph(kmers) {'ATG': {'TGC', 'TGG'}, 'TGG': {'GGC'}, 'GGC': {'GCA', 'GCG'}, 'GCG': {'CGT'}, 'CGT': {'GTG'}, 'GTG': {'TGC', 'TGG'}, 'TGC': {'GCA', 'GCG'}, 'GCA': set()} hamilton_paths(hamilton_graph(kmers)) {('ATG', 'TGC', 'GCG', 'CGT', 'GTG', 'TGG', 'GGC', 'GCA'), ('ATG', 'TGG', 'GGC', 'GCG', 'CGT', 'GTG', 'TGC', 'GCA')} euler_graph(kmers) {'AT': ['TG'], 'TG': ['GG', 'GC'], 'GG': ['GC'], 'GC': ['CG', 'CA'], 'CG': ['GT'], 'GT': ['TG']} graph = euler_graph(kmers) find_start_end_vertex(graph) ('AT', None) euler_path(graph, 'AT') ['AT', 'TG', 'GC', 'CG', 'GT', 'TG', 'GG', 'GC', 'CA']