← Catalogo
KMER
PyJS

k-Mer Composition

String Algorithms

Pagina originale su rosalind.info

Descrizione

Una stringa di lunghezza n contiene n-k+1 k-mer sovrapposti (sottostringhe di lunghezza k). La composizione in k-mer di una stringa genetica codifica il numero di volte in cui ciascun possibile k-mer compare nella stringa. La composizione 1-mer è una generalizzazione del GC-content; qui viene richiesta la composizione 4-mer.

Given

Una stringa di DNA s in formato FASTA (lunghezza massima 100 kbp).

Return

La composizione in 4-mer di s, elencata nell'ordine lessicografico di tutti i possibili 4-mer (256 valori in totale, dato l'alfabeto {A, C, G, T}).

Sample Dataset

>Rosalind_6431
CTTCGAAAGTTTGGGCCGAGTCTTACAGTCGGTCTTGAAGCAAAGTAACGAACTCCACGG
CCCTGACTACCGAACCAGTTGTGAGTACTCAACTGGGTGAGAGTGCAGTCCCTATTGAGT
TTCCGAGACTCACCGGGATTTTCGATCCAGCCTCAGTCCAGTCTTGTGGCCAACTCACCA
AATGACGTTGGAATATCCCTGTCTAGCTCACGCAGTACTTAGTAAGAGGTCGCTGCAGCG
GGGCAAGGAGATCGGAAAATGTGCTCTATATGCGACTAAAGCTCCTAACTTACACGTAGA
CTTGCCCGTGTTAAAAACTCGGCTCACATGCTGTCTGCGGCTGGCTGTATACAGTATCTA
CCTAATACCCTTCAGTTCGCCGCACAAAAGCTGGGAGTTACCGCGGAAATCACAG

Sample Output

4 1 4 3 0 1 1 5 1 3 1 2 2 1 2 0 1 1 3 1 2 1 3 1 1 1 1 2 2 5 1 3 0 2 2 1 1 1 1 3 1 0 0 1 5 5 1 5 0 2 0 2 1 2 1 1 1 2 0 1 0 0 1 1 3 2 1 0 3 2 3 0 0 2 0 8 0 0 1 0 2 1 3 0 0 0 1 4 3 2 1 1 3 1 2 1 3 1 2 1 2 1 1 1 2 3 2 1 1 0 1 1 3 2 1 2 6 2 1 1 1 2 3 3 3 2 3 0 3 2 1 1 0 0 1 4 3 0 1 5 0 2 0 1 2 1 3 0 1 2 2 1 1 0 3 0 0 4 5 0 3 0 2 1 1 3 0 3 2 2 1 1 0 2 1 0 2 2 1 2 0 2 2 5 2 2 1 1 2 1 2 2 2 2 1 1 3 4 0 2 1 1 0 1 2 2 1 1 1 5 2 0 3 2 1 1 2 2 3 0 3 0 1 3 1 2 3 0 2 1 2 2 1 2 3 0 1 2 3 1 1 3 1 0 1 1 3 0 2 1 2 2 0 2 1 1

La mia esecuzione

08/24/2026 11:24:47

Input · dataset.txt

>Rosalind_9598
TCTCATTGACTAAGTCCTAGGGATGACCCGGCCGTCGGGGCGTAGGCAGGAAAGAGCGCG
CCTCAATGACCCAGGGAATACGTGTCGCGTTGAACGAATACCTTCGTTCAGACAATAGTA
CCTGTATAAATAGGTCAGATGATTGTCAAATCTCCCAGCGTTCTTTTACGGCACTATGTT
CCATCAATCGCATTGGGGTGGTCATAAGTTAGACTGCAGTGCGTCTTTGAAGTCCTGGCC
TTGACTTTTCATGGATGGCAATTAGTACTTCACGGACCGCGAGGCTTCGTCATGTCCAAG
AGGGGAGTTGAGCACAAGACCATTGCCTACGTCCAGTTGGATCTATCGCAAAACGTATTG
GAGGGCTACAATTAGCACAAACTAAGCTGCCCTGCATCGAGCACGATAATGATATGCCGA
TAAAATATCTTGTGATATGAATAATTTCTTTCTTGTTTACATCATTTCACGTACTGAGGT
AGGAGGCCCCCATCGCCTGCACCATTCAAATGCAGCGAGTTGTGGTCCGCTAGTGCGCGA
CTCATTTGTGTGATTAGGACCTCCGAAGGCGTGACATCGTATTTCGCTTCCCGACACCAA
TTTACGGAGTAGATGGTCAACTGCCAGACGTAACCTTCATAGCTACACTAGGCTTGTCTT
TGTTCTGTCCGCTTGATGATATGCTTCTTGGATCCTCGTAAATGACAGTTAGACTCTAGA
CGTATCGTACTATATCTGAAACCGACGTAACCCCAGCGGACAGTCGTGGGTATTTCGATC
CTTGCCCTGCATCCCTCGCTATAATTTCAACCCCTGGTCCCGGCTTGGACGCGTCTCTCA
TCAAACATCTAATCTAGACCCAGGCCTCTATTAATAGCCAATGTTCGCGGAGTTAACGGA
TAATCTTGCATTGCATTAGCACCGGAGGCGCCGAATCAACAGAGACGTGTTCTGTCTCGT
CAATCAGCAGCTCGTCCATATAAGTCCTCAGTTATCGCTCTATAGTCACAGCATACAGGG
TTCGAAGCAAGGTCTTGGCTCCGCATGCATGGCTTTCAGTACACCTCGAGCGTGACACAC
TGCTGATATCTTCTTACTCGCAGCCCCTTGATGATGCGGCGGTCACGGAAGAATCACGAT
TGGCTGACAATGGTTGGTTAGGGTGTCGCTTTGGGCGAATGTAACCGTATGAAATTGCTC
CACTCTCCATGTTGATAGAATCCTCGTCTAACCATTGACTTTGAGGGAAGGAGCACTATG
TACTTACAATTATGCCGTCATAATAGACTCATGAAATTTAGGATTTTAACCGTCTCTCGC
GCAAGTCAATCCTTGTAATTGGTCACGCTCCGAGGGACTAACAGCTGATCACTGAGAGTT
GACTTTATCGGTTCGATCGACTGAGCGGCTAACACCCACCAATTAGATATTTGCTGATTG
GCGTCTGCTAGGGGCAGCTCGCCCCAATAATGCTATTTATATTCGCCCGCCCGAGAGATT
TATTAATAGCCTGTCAGGTGTGGACCGATTTGAAGGATTCACCCGTCGCCAAGATTTACG
TCATTTTATACAGATGGGGGCTTTGTGAAATAGTCGGCCGACTGGCCTTGCCATCTATCA
AGCATTAGAGAACCCATCACACACTACAGTGCTCAACGTATTTCCGCGGTTCTTACATCA
ACTCTAGTCGTGGGGACAGTGCAACTTTGCTGATAATGTCATGAGTCCGCGTGTTGGTAA
CCTCCAGTGCCTCCTGGCCTGCTGATTTTAGCGCGCTCCGGAAGGATTTTCATCGGGTAG
TCCGAAGTATGCGGTTGGAACAGCGTTTCAGAGTTGAGGCGAGTCTAATCTCAAGTGGGA
TCCGGAAAAACTTTTGGCCAGCCAGGCACCGATGGAGATGATTGCAGAGAACCCACATGA
ATATTAACTACTGAATATAAAAGCACAAGTAGCCCCCAGTTTGGTAAACTCCCGGTCATT
GCGTACTTCTCTCTGTGGGCGTTTGAGAGTTTAGGTGCAGAGTGCGGGTCCCCATGACAA
CCGGGAAAATGGTACCCTACAGCCCGGACAGACCGGTACAGATGTTATTCGGTCTCTGTA
AGTAAAATCGGGCGCCTATCTTCCGGACTACCCATTCACTGTGATTAGATTAGGATTTCT
GGCGGTGAGTTTCTTCCGCCTGATGAGCTCTCACCACCGCTATTGGCAAGTACTCATTTC
ATACTGTTCATCCTCTGTAACGCATAGCGCCGGTAACTTCAATAATTGTGGAGTTCCTTC
TGCTCACCAACTGCGGTTGCAATACTAAGGCCTATTACAGGGGATGGGGCAGACCGTTTG
TCGGTGCATCCTTGCCTGCGCGCTCGCATGGTGATTCACCTTAGCCCGTAGGAATTTCGG
GCGGGTTATCCCCACTACGATCTAATAACGTCTCAGTTCGTAGCCACTCAGGAAACCATG
GGCGGCGCCGCCATACCTATCTAGGACATCTAACATTGCTTTAGGGTCGTCTACGGCAAC
GCATAATTTTCTTGTGGCAATGTTTTTGAAGATTCTCTAGCGGGAAGAGCTGATATCGGT
GGTCTCTGTTTTTATAAGTAGAATATCGGTACACGTCGAACGAGATGAACTTGTCGCGTT
GTAGGTAGAAAATTTTAATATGCGGACAGTCAGAAAAACCGCCCGGTCGCGTGTAAAAAC
TAAAATTCTGGCTCCTTACAGGTCAGCCAACTGGTATCGGTGGCGTGAGAGGCGGGACAG
AGCGAAACCGCAACATCGTGCGCTAGAAGATGTATGTCATGTTGGGGAGCAGGTGGGACT
CAACAGCTGGGTCATCTATTCTGCACAATAGTGAACCAGCGTGAAGGCAGTCCTGGACGT
CGCCGTATTCGTGTCGAGAAAGGCGAGCATTTCACTAACACTTACCCGTAAGGTTGGAGA
CCGGTCGCAATAGGTGCCCCTGATCGCCCTAGGCCCCGCGCTATTGCCACGTATCGACGG
GTCAACAACGTACGTCGTGGGGCCTCGGATAATTTCAACCCAGCTGCATAACACTCCATG
AGATCACGGGCTAAACTTATCATGCTACTTGAAGCGAGCTGCTTGCAAGTTCCTTCGCCG
GGAGGCCGAATATTAATACGGTTCTACCTTCTGCCTACTGTTTTGTGGCTCGGTAATTAT
ATTGTGAGAGGGACTGGCAAGTCCTTGATCTGCTCGGTCGTTTCGGACTGTGACATATTT
CATTTATTCGGTTGAGCGTATGTACGTCTAGTTACGAGCGTTATGAGTACGATCATTCTA
CTTCGCACCATCGAGCAGTTTAAGGCTGTAGCCACTCGGTGTGTAAGCATTTCGAGCCTA
GATCACCCAATTGTAAGCGAGGTAGTGAATTACACGGTCTTTTGAATCTCGGCAATCCGG
GTGTCGATGTTCGCCCCGTTGCGGCCGTCACGCCGCTCTAGGGTGTGCCTAAACTCTATG
TCTTAATGGTGTAGAGATGGAGATGCCCGCTTATGGTCTGTGGTTGTGGAGGAATCAGAA
ATGAGGTAAGGTATAAACTGCCTCGTTTCCTCTCTGTAAAGGTCGCAAGTAATTCATATC
CGGAGCTGACCTTTGACTATCGCTCACGTATGCCATTCCTGGTTCTCTCCTTCTTTCGGC
AGCTCTTCATACGTGGCTTATGTATTCATGACGGTACGCTGAGCACATGGCCATTTGTCT
TGTCACGCGCTCTCGTTCGTGGAGTGCCCTTCACGAGATTTTCAATTATGTACTCCCGCA
CAGGTTAAATATACTGCCACAAAGATATAGTCGCTGAAGCCTACCCTCGAAAGAAGGACT
CTGAAGGCCTTACTCGCACACAGCACTCATTTACCGTGGCATAGCTATCCCTGTCCTCTA
GATTTAGGGCGACCACCGCTTCAAACACTGTCCTGCGATCTAAATGCCGCTGTATAGAAT
CTGCCACACATATGTTGTCGTGTATGGCCTCCTCCAGTAGAGCCGGTCAGTCTTGTCTTC
ACGTGACTAGCAACGTCACGGCAGAATTTTTCTAGCGAGGCGCTGGCGTAGTTTCAGCTG
CCCCGAAGACGTTAATAAGGTAGTAGTCTAGTTACACCAGGAACGGTGCAACAACCCATA
TTAGTTCGAGGGACATTGAGATTGCCAACCCCTGTATGAAGCAAAAATTTGCACTCAGTG
CGTCGGGTAACTCCAAGCATATAGATTTCGCTATGATAATGCCCACATGCCGGGGCAGAA
CCTTTCATCCTCGACCGCTCTCAATTAACATGAACATGATACTGACGATGTAGCGACGAA
AGACATTAAGTATGCGTGTAAACATCCAGCACGCGGCATATCTACCGGAAGCTTCGTGCA
ACGATGCTATCGCTCCGAGTCCGGTGAGTTTGGCGTGCGTCGCCTTGGCCGTCAAGTCAA
CGAGTAACTCAGTGCGCTGACTACATATCATTAGCGCAGGATTGGGGGTAATAATATCGT
CGTGAAAGGAATGGCGAGCAAGCTCTGAGAGACCCTCGAGTCCGATGGGTGCGAGGACAA
TGGACGTCAAAAAGATTGATACAGAACAATATGACTCGCAACGATTAGAAATTCTAGCGC
ACGGCAGTATGATTGGGTTGAACACTCTCAAAAACCGTTCATTCGGTGGTATTCCTAGAA
TTGGCAAAGGAAAGATGCAACAGCTGGGTACTCCGTCAGAAGGATTATGACGTAGGGCCA
GTATTGCAATCATCCTGACTGCAGGTGGCGGCAGACTACTGTATGCATAACGTTCGAGTC
CGTTTTGAGTAGGTCAGTGGAGACAGGAATGCTGATATACGCATGGCATGTATAAAGGCA
AATTTCTATGGAACTTTGGATAGGGGGCGACCTATTTGAGATCCTCCCCGCAGTGACATT
TTTCCATCGACAAAACCATTCTTGCCACTGCCAGAATTGCATAGGACCGTTATTGATCTT
AAACGTGGCAATACCGGAGTAAATGCATCTATCAAAGCCGCTTTACAGAGAAGGTGGCAA
TTTCGTTAATCACTAGTGAAGAAGGCCTCGGGGTACTTAACGACGCCTGCCCTTTGAGAG
CGTTTAATGGAAGACGGACTTCGACTTAGCTGGCACCGATTTCATTGGCGGCTGGGTAGA
GGAATGAGAAAGAGCGCATTATGCATCTTACTACACCCATTGAACAAATGACTCCGGACC
CGTCTATCCTAACAAGCACGTGCTTGTGGGCTTTTAACTGTGCGGTGTTGTCCCCCCTCC
CTAGCAATTTCAGGCCCAGCAGGCTAGAACCTATTTCTCAACCGCCTTGTCGGAGTTCTT
CTACCTGGGTAGAATACTGACCCTTCGCAGTCTAATGTCCTATTGCTCCTGCAGGGCGGC
CAACACCCCGTACCATATAGCCCCTCACGGGGAAATCCGGCGCTGCTGAGTATTACTGGG
TCTATTAGTGTAGCGCTTGCCGCATGGCATTGAAATGCGAACCTGTTATGCAATTATATA
CGATGACACCCGTATGCTGATACATAATGAGGCTCTCGCCTGGTCCACAGTAGCATGGTT
GTTCAGAGGGCGGCCTCTGACTTATGATCAGATAGCCTAACTTGGGTTAGTTAATTCCAA
TTACCCTCTTAAATGCTGCGATGTTTGTCCAATATGAACCAAATAGACAGCAAGGACATA
GTAAATTATCACCGTTCAGATGTAATTGCTCGTCAGTAACTAACAGTCAGGGAGGCGAAT
TGATACAGGACTTTAGGCCCGTGACTTACCGCGATAAAAGGAAGAGTATGCTATTAGCGC
GCGGTCTAGGGCCCACACTGGATAGAAACGAGAGTCGTATACACATCAAAACGCTTGACC
AACTACCTGATTCCGCACGAATAGACCTTTAGAGCGTGCCCCATGGAACAAAAATTACGA
CGGTAGAAAGGTTAATAAAAACTCCTTTGTCGCGATATGTCATTGAGTTCCGATGTTCTA
CCATACGTGCCGACCCCCTCTGTTCGAACAAAGACAGCCAAGCCTAGGTTACGACGAAAA
GCGGTACCTGCTAATAATTCAACTAAGCTACCTATCGCGATCAAGTCTAGGGCCAAATTG
AAGAGAACTGGCCCGTTGCCGGCCTTCACACCTACCACCCTTCAGTTTAATATAGTTATT
CGCAAGCTATACTTTATCTCGAAGTCCTTCGTCGCCAGCGGTCGCACGAGTGTGCACCCC
GCAAAAACGAGAAGCATGTTAATACGACCCATAAATCCCGGCGAGTTATCGAGAATCGCG
TTAAATGCACATTGTAGGGGACATACATCAGTACCCATGCCAATTCTCAGTTTCGCTCTG
CTGGATTACGAGGGAATCAATACACCAGACTTAAGCGCTAAAGCAAGCTTGACGCGCATG
AGCAAGGAGGGGTTCTCCTGGGCCAGTGGTTGCAATGAAAATACGGTTACCTAGGCCGAC
ATTGCTATTTCACCACTCCACTAAAAGTTCGTCCGAGAAACTTAAGGGGTTTCGACAAAC
TAAGACTTTGCCGACATACTAAAGCCCCGACTTCATAACGGATGTATTTACCCGGGCTGC
GGGGGAGTCGAGGTGGGTTATCCCGCTTGGACGTGACGTGTTGCACAAGACCCTGACACT
GTTGCTCAGCGGAATCGCAAGGCACCGATTGCTGTAGCGGCTTACAATGTTATTCTACTC
GTAGCAATGTGGATCGGGTGATCTCAGTGTATGCATACCGTAATTGCAGACAAGAGAAGT
AGAGTCAATACGTTTTGATCCGATACCTGTGAAACTAAGGTCATTGAGCCGCGAGGTAAC
ATGGAGCGGCAGGCAAATAAATGAGTAGTGTGCATTATTTCAATCTCGACGAAGGCGTCC
GCGTATCGGTTCATGGGGCAGTCTAAGTGACGGCCTAGGTATATCCGAGCTGGACTTTTC
AGCAGCCTACAGTTCTACGACTCAATAGGTGTATACGTAAGCACGCCTCTGTATATCCGT
ACTAAGGCATGTACAGATGCCGATAGATCGAAGACGCCGCGTCGATCTATGAAGTTCCTG
TAGCCCCATTTACAATTAGGTGCCTTTTAGGATTCGTCCTGCATCTTGTTGTCCTCGGAA
GCGGTCTACGTGCACATGTGATCGCGCAGGCAGCGTTCGAAACTTTAAAGTATCGGGTTC
CCCGACTACAATAGCTGTTATATCGAACCTAGAGACAAGGGAAGCCTAAACGTAGCGCAA
TGTTACAGAGCGCTATAGTTGGCTGTCGAGTGGGTATTAGGTTTATGGCGTGATGGGACT
ACAACCAACCCGGTCTGTTGCTCCGAATTCCCCGTATCGACGGGGTTGAAGCGGCACATG
TCGGATGTATCAGAAATACGTTGGGACATCTGTAATGCGCGCATTCGGTCAGATTCCCAT
CACAGGTGAAAGTCCCGGATCTCGTATGGCCCCGCACCGTTTTCTTCGTCCGTATTGCCA
CTTCCGGAGCCTCATGCGTGTTCCCAAATTCTCGCAACGCACGCCACTGATGAGCCCTTC
ATTTGAGGTACTTTAAGTATTTCATTGGGTCTAGCTCGATCGATTAATCGTAACAAGATT
CAACCAATAAGACAAGCCGCCCGTGAAGGTAGACTTCTCGTCAGAGTGTATACCGACGAG
AATTGCGGTTGGAGTTTGGATCTTTAGTTGCCGATAGGCCCCGGGGGGCGAAGTAGCAAG
CTAGTGTTTCCACGAGACCATTACGGGCACAATTGACGCGAGGAATATGCCAGTCCGCCA
CCGGTACAGTAAGCCACAATGCCCACTATGGGCTGCTAGTGGTATGTTAGACGTTCAGGT
TACAACCCTTATTGGTTCCGGCGGGGGTTAGCCTATGGGTAGGTTAGTTGCTGACCGTTT
GTCCTTGTTTATAAAAATCGGAAACGTGTCGGAATGGGCGGCGTGGGGGTTTCGCTCAAC
AGACACGGCATCCACGTTACGCACTGCTAAACAACCCATGACGATCCGACATGCGATTGC
GACCAACTGAAATTAACGGGCCCCCCCGTGTGGTTTGAAGTATAAATGGGCTCCCTAGTA
AGCACTCACTCATAAATTCAAATTGACGAGACTCGAAGGACGGAAATCTTAGTAGACGGG
ACGATTAGTTCGTACGGACATCTATTATTGTAGTCTTCCTAAGATCCCTAGGACTAGCTG
TTTACTATTAAATCACTGGCTGGGCCGTATGGGCCGTTCGGCGAATTTTCCCGTAATTGA
CGATTAACCGTGTGTCCATTGTCATAGTATTCGCTAGGTGAGGGCCCCTGCGGTCGTACG
ATGGGGTGCAAGGATTCAGAGGTCAAGTTCGGGCATCTTAGTGAATCGGTGGCGAGAAAA
CCGTGCACGCCGCCTGGTCCCCGGTTCCTCCACGGTGGGTTGAACTTGGCACCGCCAATT
GAAGAGTTGTTGCGGGTCTTAGTATTCAGGGTCATAAGTAAATTGGAGTCTTTAAGTGCG
GGACTCCTCCTGAAGGGCTCCAAGGTCCAAGGTTCTTTCTTAGATCCATGGGCCGGCGTG
TTCGACCGTTGACATAAGCTAAATGTAGATACTTGCCGTTGATAAACCATAGATAGGGGA
AACTTATCTTTAACCGAGGGTGTCGCCTCCCGCCATCCCCAGACTTCGTCCTGAATCAAG
CCGGTCTCGGGATCTCCCCTGATGCTGCTAGATTCATCCTACCTTGGTCATTGGCTTACA
TAATCAGCGTGCGTCTGATGATGGGAGATCCCCAGTGGATTTTTAATCCTGAATCGCTCC
GACAACAAGGATCTTACTATGGCCGATTCTTAGTGCATCGTTATGATAGGCGTCTCCTTA
GATTAGGAAATAAGGTTCCACCCTTGTCCCAAGCCTCCACATCTTAGAAGTTTCGGAATT
AAGGAGTGAGGGATGCCAGAATCCGCCCCGGTTCCACGGGTGTCGACTGAGGCGAATCCT
TCTGATTCTATCAGGTGAAATAGGATTATTAGCGATGGCAAGTATTACACTTGAAGTACA
GGTGTATGGCAGTCGGGTAGAATCTGGCCCAAGGCCGCACGGACCAAGCGTGGCACGTTT
AATAATTAAGAGCCGTGATACTTATTGGACGCAAGACTGACGGACATAGCTGTACGTACT
CGCAACGGATGTCCCATGCCACCTGGCAGAGTGGGGCTGATTTGATTCCGATACAGACCA
CCCAGTCCAGTCGTCTTACTCTATTTGACAATCCTAGGAGGAATCCCACTCTTCTTGGAC
GTCACTCGTCTTCTCGTCACCAGATTTCTCTCCTGGTTATTACTCTGATGCAAGACATTC
GACGGAAGATCCTACTGGTACATGCTGACAACTCCCCTTGTTTGGAAGGTACGTTCACTT
CGCCGACATTTTTTCCTAAGTTTGTTGCGGGCGCCGCAGTCTAGACGTGCTCCCGTGTAG
GAATACAGCACACCCACAACTACCCTTTAAGTGCCAGTCACACTGGGAACAATGACTCAC
GCCCTTAATCGACAGTCATTACGACAATTCATCCTCGCCGCCAGGATTTAATCTTAGCAG
TGCGGTCAAAGGAGCGAACTCCGTACGTAGAGATCAGAGATGCTCAACTAACTTATGTTT
CTCTTCGTAGCATTCCAAACACTCACCTTAGAATATGTTGAGCTTCAGGTGCGCGGTAAT
ACTTAAGAGTAATTGAGCCCCTCCTGGAAAAATGTTAATAGGGGGTTAGTTGAAACCACC
ACTTAGATGTGATCGGGGATTTATCGTATACTTAATATGGCAATGCTAGAAGGGGCTCTA
TGCTCGTCACTAACGTGGAGAATAACTTATGCTTCTCGGGGATTTGACGAGGCTGTAACC
GCACGCCATCCCTTCAACATAAAAACAACCCTCCCGCAGGATGTAACCAGACAAGCGGCG
ACGGGTGACGCATGATCCCATTATGCACAGGACCAAGGACGTCAGCATTCGGTACCCGAT
GGACACCTCGGCTTCGGAAGAAGGTACGTAGAACTCATTCCTCACCCAGATTATCCGCTG
GTCTTTACCTCTCAGATAGTAAATTCTGTGAGGTTCAAGAAAAACTCTCGTTACTCGTCT
GATAGGACATGTGGTGCGTTACGGGCGACTAGGAAAGTGCCCACGACGTGAAGTTTACGC
TGTCAGCGGTTGCTCGAAATTGATCCACGATAGTGTTGGATGAGCTGTATTTAGCGGCGC
CTGTTAAAGATGAGTGGTGGATAAAGGTCCTGCGCACTTGAGCGGAAAGCTTGAGACGCT
TTTCATTTCCCATTCCTACATGTAGAAATGCCTCGTCTTACTTCTACGTAACTGCTTCGA
GCTATAGTAGGAAGGGCCGTTAAGGGTACGCGAAATTAAACCGCAGTGTTTGTCACGTGA
TGACTGGCTGGTAGCGCGAACATACAATAGAGTACTCATGTCGGATGCATAGCTTTACTT
AGAAGGTTCAGATTAGTTCGCGTAGGAACCTACTTAACGCCAGATTGCGTCTGCACAGTC
ATCAAACACATTACTAACGCTCAGGGGGACCATACGTGGGAACAGCTACCCCGGGGGGCT
AAATTATGTGACTTGGCGCTAGTCGAACTTGCGTCTGTGCACGATCGCAAATCTAAGCAG
TACCACAGAACAATCCCAAGGTTGCTCCTCTTTCTAGGGGGACTATGGGATACAACGGTG
AACGATTGTTGGAAACTCCCGCTGCGTTAGATGATTCAGAGATAGGGCATAGGGGTACGC
TAACGCCTCCAGGAGATCAAGTTCTCAGGCACCTATTCCAGCTCAACTTGTTCTTACTTA
TGCTCGTTAGGTGGTATCTGCCCACTAATGTAACCACCGTTATGGATCCCTAGTTTGGTT
AACCCACCGAGTTTAGGCGTATATACTCTGAAACCTAAATTAGGGATACCGCACTGAAGG
TCTTACCCTACTTTGGACAGAGGCACCGGCTATCCAAGTCAGGTCAGGCCTTGATGGTCT
ACCCCCGTCAAGATTCTTCTGTAGGCACTGTGGTTGCATGATAGTGAATCCGGCTGTAGT
GTGGTAGCATTGGGTCATAGGCACGTATAGCGGAGTAAGCTAACCACCCTCGACCACCAC
GACGGTGAGACTCAGTTCCTAAACCTCCATAGACCTTTAGCATTAGAGCACATCGTTGTG
GGCTACTAGTTACCAAGCAAAGTCCACGGCACACTCGTCGGGTATGAGTACATGCCCCAG
ACGATACTGTGATTACCAAACCAGTTCCAACCGTCTCTGTCGCAGGCGATTACGGTACTT
ATATAAAAACTCAAAGCGTTAGGGCCTGAGAACCGGCCGACCAGGTGACACGGGACCGTT
GCAAACGGGCATGAGGGCACCTCACAAACGTTACAGAGAAGAACGCTGCAGTTAACCAGC
GTTGCAGTTGGGCCCACAAGGAAGTCCGCACCCGGCGTCGATGTGGGTGAGTTGTCTAAG
CATTGTCTCCCATAAAGAATTCTGTCACCTTGCCAAGACTAGAATAATTGAGATACAAGG
TATGAGAGATCCTCGTCTACAGAAAGCAGAACCCAGATCACTCGCTCAACCTAGTGGACC
TGAAGACGACACGCCGTTGTACTCTGCGCCCTGTTCATCTAACGTCCCGCCAAAATGTAT
AGCGGGCTACGCCTGCCTAGGTACCTGAATTAAGTTAGGCAGGTTAGCACACATGGCACC
AGGTCTACGACTGGATACTGTGGCGGCGC

… troncato (87.578 caratteri totali)

Output · run_log.txt

OK
315 322 332 337 328 331 325 313 335 335 351 371 336 324 312 311 325 317 302 341 321 346 361 311 378 332 318 329 322 334 314 349 335 333 335 359 338 321 314 334 344 342 344 322 344 335 313 354 341 327 341 342 298 349 351 357 288 340 346 340 339 336 335 362 350 318 358 300 304 348 328 339 348 329 304 313 326 354 346 332 317 330 357 334 355 329 325 342 326 328 359 345 315 382 314 335 311 360 357 375 329 335 339 351 335 360 356 327 328 348 339 333 317 340 348 341 352 346 344 346 301 332 321 343 343 338 352 335 334 306 367 304 321 318 370 341 348 314 341 343 343 330 319 391 357 356 313 346 330 333 329 351 333 344 362 339 345 319 324 323 353 337 335 350 350 336 379 311 353 363 356 343 328 328 331 334 327 324 330 331 331 318 317 366 318 330 354 300 336 365 333 333 307 351 335 342 332 342 334 326 331 329 356 319 346 347 338 338 327 316 322 337 332 343 343 342 366 350 339 335 364 353 345 361 312 320 319 299 355 351 346 315 343 311 359 329 312 321 319 346 350 343 316 355 321 347 378 353 343 365 321 315 346 360 324 379

Esegui nel browser · Pyodide

Mostra il codice sorgente (problem.py)
#http://rosalind.info/problems/kmer/

from itertools import product

K = 4
ALFABETO = "ACGT"

def lettura(filename):
    data = []
    with open(filename) as f:
        record = ""
        first = True
        for riga in f:
            riga = riga.rstrip("\n")
            if riga[0] == ">":
                if not first:
                    data.append(record)
                record = ""
                first = False
            else:
                record += riga
    data.append(record)
    return data

def conta_kmer(s, k):
    conteggi = {}
    for i in range(len(s) - k + 1):
        kmer = s[i:i + k]
        conteggi[kmer] = conteggi.get(kmer, 0) + 1
    return conteggi

def main():
    seqs = lettura("dataset.txt")
    s = seqs[0]
    conteggi = conta_kmer(s, K)
    kmers_ordinati = ["".join(t) for t in product(ALFABETO, repeat=K)]
    risultato = [str(conteggi.get(kmer, 0)) for kmer in kmers_ordinati]
    print(" ".join(risultato))

if __name__ == "__main__":
    # execute only if run as a script
    main()

Soluzione JavaScript

Esegui ora, live

Mostra il codice sorgente
// k-Mer Composition (Rosalind ID: KMER) - soluzione JavaScript
// indipendente, non una trascrizione di problem.py: stessa logica
// (parsing FASTA, conteggio di tutti i 4-mer nella sequenza, poi
// output nell'ordine lessicografico dei 4^4 possibili 4-mer
// sull'alfabeto ACGT), riscritta in modo idiomatico per JS.
//
// L'ordine dei k-mer riproduce quello di
// itertools.product("ACGT", repeat=4): l'ultima posizione varia più
// velocemente, esattamente come in lexf.mjs.
//
// Contratto: riceve il contenuto testuale di dataset.txt, restituisce
// l'output testuale (stessa forma dell'output Python).
const K = 4;
const ALFABETO = "ACGT";

function parseFasta(testo) {
  const righe = testo.split("\n").map((r) => r.replace(/\r$/, ""));
  const data = [];
  let record = "";
  let first = true;
  for (const riga of righe) {
    if (riga.startsWith(">")) {
      if (!first) data.push(record);
      record = "";
      first = false;
    } else {
      record += riga;
    }
  }
  data.push(record);
  return data;
}

function contaKmer(s, k) {
  const conteggi = new Map();
  for (let i = 0; i <= s.length - k; i++) {
    const kmer = s.slice(i, i + k);
    conteggi.set(kmer, (conteggi.get(kmer) ?? 0) + 1);
  }
  return conteggi;
}

function* prodotto(simboli, k) {
  if (k === 0) {
    yield "";
    return;
  }
  for (const s of simboli) {
    for (const resto of prodotto(simboli, k - 1)) {
      yield s + resto;
    }
  }
}

export default function solve(datasetText) {
  const seqs = parseFasta(datasetText);
  const s = seqs[0] ?? "";

  if (!s) {
    throw new Error("Input non valido: nessuna sequenza FASTA trovata");
  }

  const conteggi = contaKmer(s, K);
  const risultato = [];
  for (const kmer of prodotto(ALFABETO, K)) {
    risultato.push(conteggi.get(kmer) ?? 0);
  }

  return `${risultato.join(" ")}\n`;
}