50 lines
1.7 KiB
Plaintext
50 lines
1.7 KiB
Plaintext
#define SCW 36
|
|
#define GRP 3
|
|
|
|
function padto( n as integer, w as integer ) as string
|
|
dim as string r = str(n)
|
|
while len(r)<w
|
|
r = " "+r
|
|
wend
|
|
return r
|
|
end function
|
|
|
|
dim as string dna = "CGTAAAAAATTACAACGTCCTTTGGCTATCTCTTAAACTCCTGCTAAATG"+_
|
|
"CTCGTGCTTTCCAATTATGTAAGCGTTCCGAGACGGGGTGGTCGATTCTG"+_
|
|
"AGGACAAAGGTCAAGATGGAGCGCATCGAACGCAATAAGGATCATTTGAT"+_
|
|
"GGGACGTTTCGTCGACAAAGTCTTGTTTCGAGAGTAACGGCTACCGTCTT"+_
|
|
"CGATTCTGCTTATAACACTATGTTCTTATGAAATGGATGTTCTGAGTTGG"+_
|
|
"TCAGTCCCAATGTGCGGGGTTTCTTTTAGTACGTCGGGAGTGGTATTATA"+_
|
|
"TTTAATTTTTCTATATAGCGATCTGTATTTAAGCAATTCATTTAGGTTAT"+_
|
|
"CGCCGCGATGCTCGGTTCGGACCGCCAAGCATCTGGCTCCACTGCTAGTG"+_
|
|
"TCCTAAATTTGAATGGCAAACACAAATAAGATTTAGCAATTCGTGTAGAC"+_
|
|
"GACCGGGGACTTGCATGATGGGAGCAGCTTTGTTAAACTACGAACGTAAT"
|
|
|
|
dim as string outstr = "", currb
|
|
dim as integer bases(0 to 3), curr = 1, first = 1
|
|
while curr <= len(dna)
|
|
currb = mid(dna, curr, 1)
|
|
if currb = "A" then bases(0) += 1
|
|
if currb = "C" then bases(1) += 1
|
|
if currb = "G" then bases(2) += 1
|
|
if currb = "T" then bases(3) += 1
|
|
outstr += currb
|
|
curr += 1
|
|
if curr mod GRP = 1 then outstr += " "
|
|
if curr mod SCW = 1 or curr=len(dna)+1 then
|
|
outstr = padto(first,3) + "--" + padto(curr-1,3) + ": " + outstr
|
|
print outstr
|
|
outstr = ""
|
|
first = curr
|
|
end if
|
|
wend
|
|
print
|
|
print "Base counts"
|
|
print "-----------"
|
|
print " A: " + str(bases(0))
|
|
print " C: " + str(bases(1))
|
|
print " G: " + str(bases(2))
|
|
print " T: " + str(bases(3))
|
|
print
|
|
print " total: " + str(bases(0)+bases(1)+bases(2)+bases(3))
|