kuroの覚え書き

96の個人的覚え書き

Programing

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…

連番で同じ処理をさせるためのリストを作る

ファイルを連番を付けて作成していてそれに同じ操作を全部やるとき、excelで編集してコマンドリストを作っていたが、shellでやるほうが簡単なので、その覚え書き seq -w 0 42 | xargs -i echo "python3 seq.py TAIR10_cdna_20101214_updated.fa.split/TAIR10…

塩基配列(文字列)からコンセンサス配列を抽出するプログラム

要するに文章からよく出てくる単語をピックアップしてカウントし、リストを作れれば良い。 辞書型を使って単語を数えるプログラムはpythonのプログラム例としてよく上がっているが、単語の区切りが明確でない遺伝子配列のような文字列から指定文字数の連続し…

Pythonの環境を一旦リセットする

どうもややこしくていけないのだが、systemに入っているpython は2.6とかなりふるい目。なので自前でpython3を入れて使いたいわけだが バージョンの使い分けにpyenvというものがある。更にはvirtualenvというものもある。 しかしよく考えると、バージョンを…

2つのファイルを比較して、一方に含まれる文字列を他方から抽出

a.txt AT1G01000:10 AT1G01000:15 AT1G01000:20 AT1G01000:25 AT1G01001:10 AT1G01001:15 AT1G01001:20 AT1G01001:25 AT1G01002:10 AT1G01002:15 AT1G01002:20 AT1G01002:25 AT1G01003:10 AT1G01003:15 AT1G01003:20 AT1G01003:25 AT1G01004:10 AT1G01004:15…

flask runをデーモンサービスに

flaskで作ったwebアプリの起動を python3 manage.py runserver で行っていたが、このままではシステム立ち上げ時にそのまま起動できるようにならないので、uWSGIを介した起動をしないといけないのかなと思っていたが、flaskをpythonから読み込むのじゃなくて…

SQLとBLASTの連携

まず、SQLで抽出された遺伝子のIDを元にtranscriptのFASTAファイルから配列を抽出。 抽出した配列をfasta形式で一時保存し、Arabidopsisの遺伝子データベースに対してtblastxでサーチ。 結果をwebに表示。こんな流れを構築した。 https://pypi.python.org/py…

BLASTとの連携

生物種間で発現を比較しようとすると、アノテーションデータベースで橋渡ししてデータを見るということになるわけだが、アノテーションにはどうしても限界がある。 例えば生物Aで発現変動が見られた遺伝子について、生物Bでの発現を見る分にはアノテーション…

python3を整備

python3をlinuxbrewでインストールしたが、どうもすっきりしないのでここは一旦brew uninstallして王道どおりyumでインストールし直してみる。https://weblabo.oscasierra.net/python3-centos7-yum-install/基本このページの指示通りにインストールするのだ…

google compute engineの環境構築

今時の環境構築というかMacと同じようにやりたいということでHomebrewのLinux forkであるLinuxbrewをインストールすることから始めよう。 http://linuxbrew.sh 基本はこのサイトに書かれたとおりで良いだろう。その上で何はともあれPython3をインストール。…

改行コードに要注意

uniqコマンドで抽出作業をしているときに、不用意にデータファイルをmacのエディタで触ってしまうと改行コードがCRに置き換わってしまうことがある。そうするとその後の操作でuniqなどがちゃんと働かなくなる。 かなり注意しないといけない。あとpythonのcsv…

in_()に入るlistのサイズは最大で999らしい

あるqueryを組み立てて、結果出てくるものからlistを作って、そのlistに含まれるものをin_()を使って別のqueryの中でfilterしたいと思った。 q = session.query(Rna_snp) snp = q.distinct(Rna_snp.snp_hash).group_by(Rna_snp.snp_hash)snp.all() snp_list …

SQLからmatplotlibでグラフを作ってFlaskで表示

@app.route('/') def index(): import matplotlib.pyplot from matplotlib.backends.backend_agg import FigureCanvasAgg import io import random session = Session() q = session.query(Diff).filter(Diff.id <6).filter(Diff.id > 1).all() fig, ax = ma…

matplotlibでグラフをWeb上に表示

さて、Pythonでグラフをかけるようになったので、今度はそれをFlaskでweb上に表示させてみたい。 まえに参照したページはpython2系のコードだったようで、そのままではPython3ではエラーが出る。 なので、エラーを一つずつ潰していったところ @app.route('/'…