28 lines
1,014 B
Tcl
28 lines
1,014 B
Tcl
namespace path ::tcl::mathop
|
|
|
|
proc process {data {width 50}} {
|
|
set len [string length $data]
|
|
set addrwidth [string length [* [/ $len $width] $width]]
|
|
for {set i 0} {$i < $len} {incr i $width} {
|
|
puts "[format %${addrwidth}u $i] [string range $data $i $i+[- $width 1]]"
|
|
}
|
|
puts "\nBase count:"
|
|
foreach base {A C G T} {
|
|
puts "$base [regexp -all $base $data]"
|
|
}
|
|
puts "Total $len"
|
|
}
|
|
|
|
|
|
set test [string cat \
|
|
CGTAAAAAATTACAACGTCCTTTGGCTATCTCTTAAACTCCTGCTAAATG \
|
|
CTCGTGCTTTCCAATTATGTAAGCGTTCCGAGACGGGGTGGTCGATTCTG \
|
|
AGGACAAAGGTCAAGATGGAGCGCATCGAACGCAATAAGGATCATTTGAT \
|
|
GGGACGTTTCGTCGACAAAGTCTTGTTTCGAGAGTAACGGCTACCGTCTT \
|
|
CGATTCTGCTTATAACACTATGTTCTTATGAAATGGATGTTCTGAGTTGG \
|
|
TCAGTCCCAATGTGCGGGGTTTCTTTTAGTACGTCGGGAGTGGTATTATA \
|
|
TTTAATTTTTCTATATAGCGATCTGTATTTAAGCAATTCATTTAGGTTAT \
|
|
CGCCGCGATGCTCGGTTCGGACCGCCAAGCATCTGGCTCCACTGCTAGTG \
|
|
TCCTAAATTTGAATGGCAAACACAAATAAGATTTAGCAATTCGTGTAGAC \
|
|
GACCGGGGACTTGCATGATGGGAGCAGCTTTGTTAAACTACGAACGTAAT]
|
|
process $test 50
|