21 lines
1.0 KiB
Plaintext
21 lines
1.0 KiB
Plaintext
fun printSequence(sequence: String, width: Int = 50) {
|
|
|
|
fun printWithLabel(label: Any, data: Any) =
|
|
label.toString().padStart(5).also { println("$it: $data") }
|
|
|
|
println("SEQUENCE:")
|
|
sequence.chunked(width).forEachIndexed() { i, chunk ->
|
|
printWithLabel(i * width + chunk.length, chunk)
|
|
}
|
|
|
|
println("BASE:")
|
|
sequence.groupingBy { it }.eachCount().forEach { (k, v) ->
|
|
printWithLabel(k, v)
|
|
}
|
|
printWithLabel("TOTALS", sequence.length)
|
|
}
|
|
|
|
const val BASE_SEQUENCE = "CGTAAAAAATTACAACGTCCTTTGGCTATCTCTTAAACTCCTGCTAAATGCTCGTGCTTTCCAATTATGTAAGCGTTCCGAGACGGGGTGGTCGATTCTGAGGACAAAGGTCAAGATGGAGCGCATCGAACGCAATAAGGATCATTTGATGGGACGTTTCGTCGACAAAGTCTTGTTTCGAGAGTAACGGCTACCGTCTTCGATTCTGCTTATAACACTATGTTCTTATGAAATGGATGTTCTGAGTTGGTCAGTCCCAATGTGCGGGGTTTCTTTTAGTACGTCGGGAGTGGTATTATATTTAATTTTTCTATATAGCGATCTGTATTTAAGCAATTCATTTAGGTTATCGCCGCGATGCTCGGTTCGGACCGCCAAGCATCTGGCTCCACTGCTAGTGTCCTAAATTTGAATGGCAAACACAAATAAGATTTAGCAATTCGTGTAGACGACCGGGGACTTGCATGATGGGAGCAGCTTTGTTAAACTACGAACGTAAT"
|
|
|
|
fun main() = printSequence(BASE_SEQUENCE)
|