kuroの覚え書き

96の個人的覚え書き

Python

画像をカタログ化して共有する

顕微鏡の画像データが蓄積してきているが、いまいち整理されてなくて、バラバラにCD-Rとかに保存されているので一元管理したい。 できればサムネイル付きでカタログ化しておいて、目的の画像をパラパラっと見つけ出せるようであればなお良い。ということでま…

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だとかで表示するとカラフルに色分けで表示できるのでぱっと直感的に分かるのだが…

ImageJのマクロをpythonで動かす

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

ベイジアンネットワーク解析で遺伝子発現の制御関係を網羅的に調べたい

マイクロアレイや、次世代シークエンサーによる発現データセットが大量にあると、すべての遺伝子同士の制御関係(上下関係)が描けるかもしれない。 ということで方法を模索するとネットワーク解析というものに行き着く。ところが、世の中に出ている遺伝子発…

正規分布しているかの検定

例によってwebアプリ拡張。統計処理をするにあたって、データが正規分布しているかどうかによってその後の処理が分岐する事が多い。 なので、まずは正規分布かどうかを確定させる必要がある。 Shapiro-Wilk testで判定。Q–Q plot, quantile-quantile plotも…

カテゴリープロット、ボックスプロット、バイオリンプロット

最近Nature系の論文は投稿時に平均値+エラーバーだけでなく、全データ点をプロットしたグラフを要求するようになった。 投稿サイトでもそういうグラフをオンラインで作ってくれるサイトが紹介されているのでそれを使えばいいのだが、みんなそのサイトを使っ…

werkzeugの使い方が変わった件

$ python3 manage.py runserver Traceback (most recent call last): File "manage.py", line 2, in <module> from app import app, manager File "/Users/kuro/database/app/__init__.py", line 11, in <module> from app.models import * File "/Users/kuro/database/app/m</module></module>…

Linuxbrew + python3でglibcのバージョンが足りない件(解決)

新規構築したCentOS7環境にLinuxbrewでpython3.7をインストールするとmatplotlibがインポートできない現象が出て、どうにかpython3.6を入れてお茶を濁そうとしていたわけだ。 Mac OSXのHomebrewではgit checkoutで古いバージョンのインストールができるよう…

homebrewでpython3.6(前のバージョン)をインストールする

$ cd /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula $ git log python.rb commit b02eee23d9ac8e1027a212f269da6edd4c1f0f5f Author: BrewTestBot <homebrew-test-bot@lists.sfconservancy.org> Date: Mon Apr 20 06:02:17 2020 +0000 python: update 3.7.7_1 bottl</homebrew-test-bot@lists.sfconservancy.org>…

Python3.7.7/CentOS7でエラー

Traceback (most recent call last): File "manage.py", line 2, in <module> from app import app, manager File "/home/kuro/database/app/__init__.py", line 23, in <module> from app.views import samples, genes, anno, fasta, blast, blast_nb, crispr, clustalw, se</module></module>…

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 …

Pythonのライブラリアップデート

$ python3 -m pip install --upgrade <ライブラリ>が基本書式。 インストールしているライブラリを一括でアップデートしたいときは $ python3 -m pip install pip-review $ pip-review --autoとする。 アップデートする前に $ python3 -m pip freeze > lib.t…

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

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

PythonでGUIアプリを作る

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

clusteringだけmatplotlibで

ヒートマップの描画ははじめてseabornを使ってみたのだが、噂通り細かい調節は難しい。 今回系統樹の枝の長さを入れたかったのだが、結局方法にたどり着けなかったので、系統樹の部分だけmatplotlibで描いてみる。 枝が自動で色がついていたり、まだ改良の余…

ClusteringとHeatmap

RNAseqのデータ解析で、とりあえずやっておくことといえば、遺伝子発現プロファイルをクラスタリングしてヒートマップを描くということだろうか。 R使いならRでやるんだろうけど、Rはあまり良く知らないため、これまで MeVを使ってきた。最近のバージョンで…

統計的検定をpythonで行う〜Tukey編

Student's T testはexcelでも特に難しくない。標準関数でできるからね。それに比べて多重検定はアドインとか手計算とか結構面倒なので、これをwebアプリでチョチョイとできるとすごくいい。というわけでまずはexcelで実施した場合。 https://www.amazon.co.j…

統計的検定をpythonで行う〜Student's T test編

統計計算をexcel以外でやる。よく使われるのはRなんだがRはいまいち知らないので、pythonでやれないものかと。まあやれるでしょう。いつものようによく使う機能はまとめてWEBアプリにしてやろう。 このグラフデータについてexcelとpythonの比較をしてみる。 …

PCA plotをpythonで行うWEBアプリ(ver2)

さて、さっきのアプリからPCAだけを抜き出してちょっと改変してみる。主成分分析を Python で理解する - Qiita こちらのページを参考にさせてもらう。ポイントはnumpyで数値データを抜き出していた点をpandasに換えることでテキストも含んだcsvを入り口にで…

PCAやMDS plotをpythonで行うWEBアプリ(ver1)

以前にもpythonでPCAを実施するスクリプトを書いてみていたが、webアプリ版を作ってみた。まずは低機能にとりあえず数値だけのcsvファイルを投げるとプロットを描かせるだけのものからPCA by Pythonこんな感じ。Flaskのviewsはこんなふうで。 /flask_root_fo…

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] …

Anacondaの再インストールで躓く

pyenvで仮想化 $ git clone https://github.com/yyuu/pyenv.git ~/.pyenv $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc $ echo 'eval "$(pyenv init -)"' >> ~/.bashrc $ source ~/.…

pythonでseq data

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

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

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

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

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

VNCとpyenv

deep learning machineの構成をあれこれいじっているうちに動作がおかしくなってきたので、一旦リセットしてOSインストールからやり直すことにした。ここまでの手順ではCentOS7をデフォルトの最小構成でインストール ネットワーク設定 一般ユーザー追加 gnom…

Raspberry piで温度ロガー

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