kuroの覚え書き

96の個人的覚え書き

Programing

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…

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

ファイルを連番を付けて作成していてそれに同じ操作を全部やるとき、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…