kuroの覚え書き

96の個人的覚え書き

ImageJのマクロをpythonで動かす

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

Raspberry pi にRTCをつけてネットワークのないところでも時計が狂わないようにする

温度ロガーとかタイムラスプカメラを設置する場所が必ずしもwifiの届くところでない場合、Raspberry Piの時計をちゃんと合わせるのは結構面倒なことだ。特にモニタとかキーボードとか全然使えなくて、本体とカメラのみで運用する場合どうしようもない。そこ…

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

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

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

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

systemctlでvncserver起動

$ sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service $ sudo nano /etc/systemd/system/vncserver@:1.service[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type…

SiGN-SSMをソースからコンパイル

Linux版バイナリとして配布されているSiGN-SSMはrel 1.0.2. Multi-thread supported, MPI support not enabledだった。 だからMPIを指定するとマルチスレッドも働かず激遅になったんだな。 あと You can also use signssm to do this (rel 1.10.0 or later):…

SiGN-SSM

ネットワーク解析がしたいと思い環境構築。結構手こずったので(いつもながら)メモ。まずはHGCからダウンロード。 MacOSバイナリーとLinuxバイナリーを両方ダウンロードしてみる。Linux版は解凍して $ make INSTALLDIR=適当な場所 installでインストール。…

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

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

マルチスレッドでblast

blast+の場合 $ tblastx -query sample.fasta -db transcript_db -num_threads 12 > result.txtのような感じ。

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

CentOS7のKVMにUbuntuを乗せる

$ sudo virt-install --name kvm3_ubuntu --memory 8192 --disk /home/kvm/images/kvm3,size=100 --location /tmp/ubuntu-20.04-desktop-amd64.iso --network default --vcpu 8 WARNING オペレーティングシステムを検出できません。仮想マシンのパフォーマン…

KVM環境をホストの電源オンオフと連動

ホストの電源を入れたら自動で起動させるには $ sudo virsh list --all Id Name State ---------------------------------------------------- 1 centos7 running - centos8 shut off $ sudo virsh autostart centos7ホストをシャットダウンするとき自動的に…

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

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

SRAToolkit

公開されているSRAファイルをダウンロードして再解析がしたいとき、データのダウンロードが結構面倒なので(サイトの構造が複雑すぎてなかなかファイル本体にたどり着けない)専用のツールを利用したい。 とおもってインストールをbrewからやってみた。 $ br…

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…

OSXで改行をまとめて消す。

普通にテキストエディタの置換でやろうとすると1万行とかあると時間がかかって仕方がない。 そこでsedで置換してやりたいのだがOSXのsedはGNU sedではなくBSD sedなのでお作法が違う。 $ sed -e :loop -e 'N; $!b loop' -e 's/\n/* /g' gene.txt >gene1.txt…

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

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

Raspberry pi にarduinoをのっける

Raspberry piにはピンが出ていて、デジタル信号を操作した工作などができるようになっている。ただし、そのピンは基本デジタルであってアナログな信号は直接やり取りできない。アナログ(電圧値など)の入出力をコントロールするならワンチップマイコンの出…

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') }}">…

Fujitsu PRIMERGY TX1310M3にCentOSをインストールする

昨年度末にディスコン間近と思われるTX1310M3を購入したっきり、全然時間がなくて放置してあったのだが、ちょっと触ってみる。まず、これまでのRX200や300とはBIOSがUEFIになっている点でかなり勝手が違う。同じUEFIのRX1330M3ともなにやら違っていてこのTX1…

RNAmotifのコンパイル(OSX)

config.hは以下のようになっている。 # Edit the configuration variables below to match your system. The default # values given here should work on GNU/Linux systems. CC= gcc CFLAGS= -O2 -Wall # Notes: clang can replace gcc above; # for icc (…

xgboostのインストール

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

最近のサーバ構成

サーバ CPU メモリ 理論性能 RX1330M3 E3-1230v6(4C/8T, 3.50GHz) DDR4-2400 (PC4-19200E) UDIMM 64GB 224.0GFLOPS RX300S7 E5-2667(6C/12T, 2.90GHz)x2 DDR3-1600 (PC3L-12800R) LV-RDIMM 32GB 278.4GFLOPS RX300S7 E5-2643(4C/8T, 3.30GHz)x2 DDR3-1600 (P…

PythonでGUIアプリを作る

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

教師なし機械学習

deep learningの本を読めば読むほどに自分のやりたいことが教師あり深層学習ではできないんじゃないかと思い始めた。結局正解、不正解が明確に判定できる例が多数ないと、その特徴を抽出する学習が機能しないわけだが、世の中そんなに白黒はっきりした例が揃…

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…