kuroの覚え書き

96の個人的覚え書き

Programing

Flaskでhtmlファイルを読み込むとき、ブラウザのキャッシュが読み込まれてしまうのを回避するには

インタラクティブに生成されたhtmlファイルをFlaskで表示させようとしたところブラウザがキャッシュファイルを読みに行ってしまって、作り変えた結果が表示されない。 data = dir + "/data_" + datetime.datetime.now().strftime('%y%m%d%H%M%S') + ".html" …

sequence alignmentをBokehを使ってインタラクティブに表示してみる

clustalwでsequenceのアライメントをとると、テキストで.alnというファイルが生成されるが、文字の並びとアスタリスクではわかりにくいことが多い。 なのでclustalxだとかMEGAだとかで表示するとカラフルに色分けで表示できるのでぱっと直感的に分かるのだが…

Arduino Pro micro その3 ATCG キーボード

さて、1キーのキーボードができたら今度はそれを複数にしていきたいわな。ということで4キーに拡張してみた。 #include "Keyboard.h" const int buttonPinA = 6; // input pin for pushbutton int previousButtonStateA = HIGH; // for checking the state…

Arduino Pro micro その2 ワンボタンキーボード

Arduino Pro microはArduino Leonardoの互換基板で、今回入手したのは更にそのコピー商品である。このArduinoクローンの特徴としていわゆるArduino UNOなどスタンダードなシリーズがATMegaシリーズのAVRを使っているのと異なり、32U4というUSBインターフェイ…

Arduino Pro micro

Arduino Pro micro を入手したのでとりあえずLチカの儀。オンボードには電源直結のLEDとシリアルのインジケータLEDしか載ってないので、LチカするためにLEDを繋がねばならない。 で、普通Lチカのスケッチは13ピンを使ってるので13ピンがどれか探すと、13ピン…

ImageJのマクロをpythonで動かす

1000枚以上あるようなTIFF画像にImageJで一律の処理を行いたい。 とてもじゃないが手ではやってられないのでマクロを使って自動運転する。 File>New>Text Window を開き、次のようなスクリプトを作成して、Runする。 from ij import IJ from ij.io import D…

cDNA FASTAファイルから最長ORFを抽出し、5'UTR/CDS/3'UTRに分割してそれぞれのFASTAファイルを作成する(改訂版)

#DNA FASTAファイルから最長のORFを抽出し5UTR,CDS,3UTRに分割して保存する。 import sys, os, re from Bio import SeqIO from Bio.Alphabet import IUPAC from Bio.Seq import Seq fasta_file = sys.argv[1] faname = os.path.basename(fasta_file) fdir …

seqkitでfastaファイルから一部を取り出す

multi fastaファイルから一部の遺伝子だけ取り出したサブfastaファイルを作るには samtools faidx TAIR10_cDNA.fasta AT1G01010.1 AT1G01020.1 AT1G01030.1 AT1G01040.1 AT1G01050.1 > subset.fastaのようにsamtoolsを使えばいいのだけれど、fastaファイルが…

matplotlibで自動的に振られる色が10色しか無い点を変更する

marplotlibは複数の要素をグラフ表示すると、自動的に色を分けてくれるわけだが、これが10色しか用意されていない。まあ実際10本以上折れ線が重なっていたらかなり見にくいことになるのは確かなのだが、それでもたくさんの色で表現したいこともあるわけで。…

DataTablesの表にチェックボックスをつけて選択した内容から次のアクションを起こす

まず、DataTablesで表をweb上に表示できていることが前提。いろいろなプラグインがあるのだけれど、ほぼ標準的に使われているButtonsに加え、Selectプラグインも入れておく。 <script type="text/javascript" src="{{ url_for('static', filename='js/datatables.min.js') }}"></script> <script type="text/javascript" src="{{ url_for('static', filename='js/dataTables.select.min.js') }}">…

xgboostのインストール

前回xgboostのインストールがすんなりいかなくて色々回り道をしたが、ちゃんとエラーの内容を紐解けば正しいやり方がわかったろうに、ということでやり直し。まず、一旦戻ってpip3のところから。 $ pip3 list WARNING: pip is being invoked by an old scrip…

PythonでGUIアプリを作る

プログラミングの練習も兼ねてPythonでゲームを作ってみる。 まずはtkinterの使い方練習。 import tkinter #tkinterモジュールをインポート root = tkinter.Tk() # ウィンドウの部品を作る root.geometry("400x300") #ウィンドウのサイズを決める root.title…

Clusteringしたデータを折れ線グラフとして一気に作成

%matplotlib inline import matplotlib.pyplot as plt import pandas as pd import matplotlib as mpl color_codes = {1:'#E60012', 2:'#F39800', 3:'#FFF100', 4:'#8FC31F', 5:'#009944', 6:'#009E96', 7:'#00A0E9', 8:'#0068B7', 9:'#1D2088', 10:'#920783…

SQLiteのINSERTをSQLAlchemyで書く

かなり久しぶりにSQLiteのデータを追加しようと以前に作成したスクリプトを持ち出してきて実行してみたところ sqlalchemy.exc.ArgumentError: Textual SQL expression 'rnaseq_temp' should be explicitly declared as text('rnaseq_temp')こんなエラーが出…

CLUSTALW

これまでCLUSTALWによるクラスタリングから系統樹作成はDDBJのサービスを主に使っていたのだけれど、系統樹を描く部分はNjplotというかなり古いソフトをMac上で利用していた。これがいつまで使えるかわからないし、クラスタリングからの連携も面倒なので、一…

cDNA FASTAファイルから最長ORFを抽出し、5'UTR/CDS/3'UTRに分割してそれぞれのFASTAファイルを作成する

cDNA FASTAファイルから最長のORFを抽出し、5UTR,CDS,3UTRに分割して保存する。 Multi FASTA にも対応する。 #fasta_utr.py import sys, os, re from Bio import SeqIO from Bio.Alphabet import IUPAC from Bio.Seq import Seq fasta_file = sys.argv[1] …

pythonでseq data

相変わらずいろいろ画策中。 やっぱり何が面倒ってab1ファイルを開いて2つ重なったピークを分離するところなわけで。 ピークコールの自動化ができるととても楽ちんになる。BiopythonモジュールでもSeqデータを見られるらしい。 from Bio import SeqIO from B…

CRISPRの編集を調べるプログラム

以前、CRISPRによって編集された遺伝子配列を解析するプログラムを書いたが、100%マッチするときしか検出できないのは不便だな、ということで、アライメントを取るツールを利用できないだろうかと考え中。pairwise2 | BioPython の pairwise2 ライブラリー…

ディープラーニングちょっとずつ

なかなか先に進まないが、とりあえずちょとでもいじってみるか。 jupyter notebookの使い方を確かめながらmnistのデータを使った練習をやってみる。いろいろわからないまま言われるままに入力し、その出力をまずは眺めてみる。

zeissのlsmファイルから画像を取り出して重ね合わせる

zeissの共焦点レーザー顕微鏡で撮影したマルチチャンネルな画像ファイルの各チャンネルをバラバラにしたファイルを出力し、それらをstackではなく1枚の画像にmergeしたものを作成したい。使うのはImageJ。 とりあえずImageメニューの中のツールでできること…

Raspberry piで温度ロガー

ラズパイを温度監視用ロガーとして使えないかなと。ここまでラズパイはマイクロLinuxボックスとしてしか使っておらず、IoT的な電子工作はやっていない。 で、どうなんよ、と今更ながらにIO関係を調べてみたところ、AD変換とかはない。 抵抗とコンデンサを使…

primer設計でblast

適当に選んだ配列がoff targetを増幅しないか調べるためにblastnで検索するとき、普通にデフォルトでやっても何も引っかからない。 そんなときは $ blastn -db ath -query ~/Desktop/act1_f.txt -word_size 7のように-word_sizeオプションを付けると良い。

multi FASTA (DNA)からmulti FASTA (Amino Acid)を機械的に作成する(その2)

ちょっと調べたらいけそうな気がしてきた。Biopythonを使うといろいろ簡単にできる模様。まずはmultifastaを開いて配列を順番に読み込む import sys from Bio import SeqIO fasta_file = sys.argv[1] for record in SeqIO.parse(fasta_file, 'fasta'): ids =…

pythonでABIのシークエンスデータをゴニョゴニョする

シークエンスファイルとかfastaファイルとかMacのApEとかで開いてどうにかするのがだんだん億劫になってきた。 pythonでどうにかあんなことやこんなことができないかと調査中abifpy · PyPIまあこんなモジュールでも使えばどうにかなりそうな感じ。 引き続き…

multi FASTA (DNA)からmulti FASTA (Amino Acid)を機械的に作成する

やりたいことは 複数の遺伝子のcDNA情報をまとめて記載したFASTA形式のファイルがあったとして、それをアミノ酸に翻訳し、clustalw等でアライメントを作成する。 cDNA情報はUTRを含んでいたりいなかったりまちまちである。 フレームを3フレームともチェック…

文字列とQRコードを並べて合体した画像を作成する。

テプラには文字列からQRコードを生成して、テープに印字する機能があるのだが、このQRコード生成と文字情報の印字の入力は別系統な操作が必要で結構面倒臭い。 なので、QRコードと文字情報をまとめて画像にしてしまって画像挿入機能一操作だけで完結できるよ…

QRコードをpythonで作る(その2)

QRコード生成をFlaskのwebアプリから行ってみる。 2つのパターンを想定。 前もってデータベースのIDごとのQRコードを生成。 データベースの1エントリーからQRコードを生成。 from functools import wraps from flask import request, redirect, url_for, ren…

QRコードをpythonで作る

ラボの物品や実験植物の管理をやりたい。 サーバにデータを置いておいて、WEBアプリで管理できるようにし、物品をQRコードで紐づけておく。物品にそのQRコードを貼り付けておいて、スマホカメラで見ると、WEBに飛んでその場でデータを編集、statusを変更など…

プロジェクト進捗管理とコミュニケーションツールの構築

現在ラボメンバー間の情報共有にはSlack、Benchiling、Google calendarとバラバラのツールを使っている。 そこにプロジェクト進捗管理グループウェアを追加しようということになったので、RedMineをサーバに立ち上げてみた。 だが、うちのサーバはファイアウ…

塩基配列(文字列)のどこにリストに挙げた配列が位置しているかを示すプログラム

モチーフの抽出ができたらそれが一体どこにあるのか列記したい。 import re text = """GACTTTAGATGGCTTCTTCCTTTATAACCAATTGATATTGCATACTCTGATGAGATTTAT AATTAAAGAAGCAGAAACAAAAACAAGTAAAACAGAAACAATCAACACAGAGAAACCACC CCGAGAATATCTCCATTGGTTGGTGACTGATATCCC…