Created
November 8, 2013 21:45
-
-
Save mortdeus/7378195 to your computer and use it in GitHub Desktop.
genetic sequence pattern algorithm using hash maps in go.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package main | |
| import "fmt" | |
| const GENES = "TACGTGCATGTCGCATGATGCATGAGAGCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGAGCTTGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCACTTGCATGTCGCATGATGCATGAGTGAGAGCTTGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATCTTGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCACTTGCATGTCGCATGATGCATGAGTGAGAGCTTGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTGCATGAGAGCTTGCATGTCGCATGATGCATCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATCTTGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCACTTGCATGTCGCATGATGCATGAGTGAGAGCTTGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCACTTGCATGTCGCATGATGCATGAGTGAGAGCTTGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTGCATGAGAGCTTGCATGTCGCATGATGCATCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATCTTGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGTTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCACTTGCATGTCGCATGATGCATGAGTGAGAGCTTGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTGCATGAGAGCTTGCATGTCGCATGATGCATCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATCTTGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCACTTGCATGTCGCATGATGCATGAGTGAGAGCTTGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCACTTGCATGTCGCATGATGCATGAGTGAGAGCTTGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTGCATGAGAGCTTGCATGTCGCATGATGCATCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATCTTGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGTGAGATGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAGCTTCTCATGTCGCATGATGCACTTGCATGTCGCATGATGCATGAGTGAGAGCTTGCATGTCGCATTGTCGCATGATGCATGAGAGCTTGCATGTCGCATGATGCATGAGAGCTCATTCGCATGATGCATGAGAATGT" | |
| const SEQ = 4 | |
| type gene [SEQ]byte | |
| func main() { | |
| patterns := make(map[string]int) | |
| for k := 0; k <= len(GENES)%SEQ; k++ { | |
| for i := k; i < len(GENES); i += SEQ { | |
| if i+len(GENES)%SEQ >= len(GENES) { | |
| break | |
| } | |
| var g gene | |
| for j := 0; j < SEQ; j++ { | |
| g[j] = GENES[i+j] | |
| } | |
| gName := string(g[:]) | |
| if patterns[gName] == 0 { | |
| patterns[gName] = 1 | |
| } else { | |
| patterns[gName]++ | |
| } | |
| } | |
| } | |
| fmt.Println(patterns) | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment