window 1, @"Bioinformatics/base count" local fn SubstringCount( string as CFStringRef, substring as CFStringRef ) as long CFStringRef tempString = fn StringByReplacingOccurrencesOfString( string, substring, @"" ) end fn = len(string) - len(tempString) void local fn DoIt CFArrayRef sequence CFStringRef string long index = 0 long a = 0, c = 0, g = 0, t = 0 sequence = @[@"CGTAAAAAATTACAACGTCCTTTGGCTATCTCTTAAACTCCTGCTAAATG", @"CTCGTGCTTTCCAATTATGTAAGCGTTCCGAGACGGGGTGGTCGATTCTG", @"AGGACAAAGGTCAAGATGGAGCGCATCGAACGCAATAAGGATCATTTGAT", @"GGGACGTTTCGTCGACAAAGTCTTGTTTCGAGAGTAACGGCTACCGTCTT", @"CGATTCTGCTTATAACACTATGTTCTTATGAAATGGATGTTCTGAGTTGG", @"TCAGTCCCAATGTGCGGGGTTTCTTTTAGTACGTCGGGAGTGGTATTATA", @"TTTAATTTTTCTATATAGCGATCTGTATTTAAGCAATTCATTTAGGTTAT", @"CGCCGCGATGCTCGGTTCGGACCGCCAAGCATCTGGCTCCACTGCTAGTG", @"TCCTAAATTTGAATGGCAAACACAAATAAGATTTAGCAATTCGTGTAGAC", @"GACCGGGGACTTGCATGATGGGAGCAGCTTTGTTAAACTACGAACGTAAT"] for string in sequence printf @"%3ld: %@",index,string index += len(string) a += fn SubstringCount( string, @"A" ) c += fn SubstringCount( string, @"C" ) g += fn SubstringCount( string, @"G" ) t += fn SubstringCount( string, @"T" ) next print printf @"A:\t\t%3ld",a printf @"C:\t\t%3ld",c printf @"G:\t\t%3ld",g printf @"T:\t\t%3ld",t printf @"\t\t---" printf @"Total:\t%ld",a+c+g+t end fn fn DoIt HandleEvents