アミノ酸配列の周期性分析
- 文字列配列を一定の基準に従い写像する。 * 分子量 * 疎水度 * 等電点 * その他
- フーリエ変換、ウェーブレット変換、単変量時系列解析にかける
| def findWeeklyContents(page: Int = 1, amount: Int = 8): List[LightContent] = { | |
| toLightContents(coll.find("date" $gt get_last_week()).take(amount)) | |
| } | |
| def findMonthlyContents(page: Int = 1, amount: Int = 8): List[LightContent] | |
| = toLightContents(coll.find("date" $gt get_last_month()).take(amount)) | |
| def findWeeklyPopularContents(page: Int = 1, amount: Int = 8): List[LightContent] | |
| = toLightContents(coll.find("date" $gt get_last_week()).sort(DBObject("views" -> -1))) |
| 検索の方針; | |
| 1. 複数の検索項目をユーザーが入力しそれに伴い結果を絞っていく。 | |
| 2. 検索対象は現在繋がっていないユーザーに限る | |
| 3. 得意分野に関してはまず得意分野をチェックボックスにて絞ってもらい必要とあらばフリーワードによってその得意分野の詳細分野に引っかかる単語が入力されたならばそのcategoryのidを持っているユーザーに限る。 | |
| process: | |
| -> get category and free word | |
| -> find related category from categories table by free word(just simple like search) | |
| -> get id(detailed category) lists | |
| -> limit == users that have the categories at least one ; |
| <div class = "contents_container"> | |
| <ul id = "@gather_kind" class = "middle_content_frame"> | |
| @views.html.contents.content_ad() | |
| @contents.map{ content => | |
| <li class = "@content.category each_middle_content_frame" style = "float: left; list-style: none;"> |
| Basic Direction | |
| 1. one variable classify. Simply, find the point to separate into two groups. List up all available characteristics. | |
| 2. several variables linear classify | |
| a. generate all patterns by combinations(1 to 20) | |
| b. in each pattern, find border by linear SVM | |
| c. in each pat, check it can classify 100%. | |
| 3. several variables non-linear classify | |
| d. use non-linear SVM instead of linear one | |
| 3次元データの境界面可視化 | |
| http://www.yasutomo57jp.com/2012/09/04/matplotlib%E3%81%A73%E6%AC%A1%E5%85%83%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E3%83%97%E3%83%AD%E3%83%83%E3%83%88/ | |
| http://qiita.com/ynakayama/items/88b4dd5d0dd9b1604006 | |
| http://qiita.com/mojaie/items/c993fbb3aa63d0001c1c | |
| what to implement: | |
| show_border() |
| Monday todo: | |
| Get support vectors and cul the minimum margin of them. Margin larger => better border | |
| ``` | |
| from sklearn import svm | |
| X = [[0, 0], [1, 1]] | |
| y = [0, 1] | |
| clf = svm.SVC(kernel='linear') |
| 1. add debug code | |
| 2. make sure each function work properly | |
| * read data | |
| * aminos -> freqs | |
| * weight check | |
| * is separated | |
| 3. add data pattern gradually. | |
| * variation of amino pattern | |
| * variation of data amount(with the small size case, it worked.) | |
| 4. visualize is not separated data |
| 1. sublime textにlinterとpep8プラグインを追加 | |
| 2. 中村さんのブランチをマージ | |
| 3. pep8に従い修正 | |
| 4. tab -> spaceができてるか確認 | |
| 5. 閾値とマージンの和を追加(正識別なら+, 誤識別なら-を足す. マージン和が最大のものが最も良い境界) |
| def count_repeat(seq, min_window, max_window): | |
| repeat_count_by_window = {} | |
| for window in range(min_window, max_window+1): | |
| print("window {0} -----------------------------------------".format(window)) | |
| seq_parts = set([]) | |
| for start_index in range(0, len(seq)): | |
| focus_letters = seq[start_index:start_index+window] | |
| if len(focus_letters) == window: | |
| seq_parts.add(focus_letters) |