kuroの覚え書き

96の個人的覚え書き

Python

Flask2.0.0(3.0.0)のBlueprintの使い方

Flask1系から2系にアップデートしたとき、blueprintの使い方がちょっと変わっていてトラブったので覚書。 manage.py ## 2系以降は不要 sqlite.db app----------+ |-__init__.py |-config.py |-models.py |-views---------+ | |-home.py | |-tools.py | |-tem…

Flaskアプリでbotのアクセスを受けたときに拒否する

Flaskのアクセスログを見ていると半分以上がbotのアクセスであった。さらに、過去に生成して、時間経過のために消去した一時ファイルを参照していたりするので、ことごとくエラーになり、無駄な処理をさせられまくっていたので特にしつこくアクセスしてくるI…

PythonでGO解析

これまでGO解析はDAVIDを使ってきた。特に理由はないが、まあ老舗だし。しかしインターフェースがあんまり使いやすいとは言い難く、植物のデータベースもシロイヌナズナにしか対応していない。ということでAgriGOとか他のサービスを利用してもいいのだけれど…

nがばらばらのときのTukey

多重比較検定としてTukeyをよく使う。 一応Tukey-HSDとしてpythonのwebアプリを作って使っているのだが、どうも比較する各項目のnが同じでないとちゃんと検定が働かないようだった。もともとのTukeyの検定ではnが揃っていないとだめなんだが、statmodelsモ…

Pythonでベン図

いろいろな条件で遺伝子発現パターンを調べ、各条件に共通した因子を探るときなど、よくベン図を使う。2条件、3条件などのかんたんなものから、単純な円で表現できなくなる4条件以上など。 これを今まで、excelで並べて処理していたんだけど、超面倒くさい。…

ラズパイにキャラクタディスプレイとシャットダウンスイッチ

ラズパイには電源ボタンがない。電源を入れるときはケーブルを刺すだけなので、別に困りはしないが、切るときはネットワーク越しにアクセスするか、キーボードとモニタを繋いでシャットダウンするしかない。もしくはブチっとケーブルを抜くか。ハードディス…

データベースアプリ上のtempファイルを介した動作と古いtempファイルの自動削除

これまでデータベースアプリに仕込んだ解析プログラムの中間ファイルだったりダウンロードする解析済みファイルなどは各個人のプライベートフォルダに記録することにしていた。共有のフォルダにtempファイルを落とすようにすると、複数人でアクセスしたとき…

CentOS7にpyenv-virtualenvを噛ましてAnacondaを入れてETE3toolkitをインストールする

なんともややこしいが禁断のAnacondaをCentOS7に入れてみる。 とにかくメインのサービスの邪魔をしないように厳重に環境を切り分けておく必要がある。 単純なPythonの環境切り分けなら、venvが今風なんだろうけど、混ぜるな危険のcondaなのでちょっと面倒だ…

Anacondaに手を出す

ずっとPythonは素のPython3をつかっている。 Anacondaはいっとき手を出した事はあるが、conda以外のpipでインストールしたライブラリとの折り合いが悪く、結局アンインストールして今に至る。 しかし素のPython3では依存関係がうまく構築できない案件がやは…

PythonからUSB camで写真を撮る

Pythonでは映像周りはopenCVで扱うのが良いようだ。 $ sudo apt install python3-opencvcv2モジュールを読み込んであれこれするようだ。 $ python3 Python 3.8.10 (default, Mar 15 2022, 12:22:08) [GCC 9.4.0] on linux Type "help", "copyright", "credit…

somocluで自己組織マッピング その2

というわけで定番Irisでやってみよう。 import numpy as np import matplotlib.pyplot as plt import somoclu import pandas as pd %matplotlib inline from sklearn.datasets import load_iris iris = load_iris() X = iris.data Y = iris.target n_rows, n…

somocluで自己組織マッピング

Self Organized Mappingをpythonでやりたくてsomocluをインストールしてみた。まずはMacに入れてみると、 Python 3.9.6 (default, Jun 29 2021, 06:20:32) [Clang 12.0.0 (clang-1200.0.32.29)] on darwin Type "help", "copyright", "credits" or "license"…

Dockerのコンテナをイメージに書き出して別のJetson Nanoに環境を移す

ここまでJetson Nano 2GBでDocker上にPython3環境を作ってきたが、32GBのSDカードだったためちょいと手狭になってきた。 JetsonNano B01のほうは128GBだったので一旦こっちに環境を移して続きの開発を行いたい。ということでDocker-composeで構築したコンテ…

Docker-composeでpython3環境をJetson Nanoに作る。

Jetson NanoにDocker-composeを入れるところまではやったので、その先の実際の運用例としてpython環境を構築してみる。Jetson Nanoにも素の状態のpython3はインストールされているのだが、この素のpython環境にごちゃごちゃライブラリをインストールしようと…

Rspberry piにnumpy

Raspberry piにpipでnumpyを入れようとしたら動かなかった。これまたARMに対応してないらしいね。対応策としては $ sudo apt install python3-numpyと直接インストールするといいらしい。 一旦 $ python3 -m pip uninstall numpyとしてやってからインストー…

python 状況整理

メインサーバ(RX1330M3) $ which python3 /home/linuxbrew/.linuxbrew/bin/python3 $ python3 --version Python 3.9.7 $ python3 -m pip list Package Version --------------------- --------- alembic 1.7.1 beautifulsoup4 4.10.0 biopython 1.79 bleac…

AlphaFold2のその後2.2

いろいろわけがわからなくなってきている(特にPython絡み)ので、一旦minicondaもbrewで入れたpython3もアンインストールした。(minicondaは~/miniconda3にインストールされているのでフォルダまるごとrm -rf) (python3は $brew uninstall python3したあ…

local blastをグラフィカルに

モデル植物としてはゲノムデータがあまり完璧でない植物を研究対象にしているためBlast検索も外部データベースサイトに頼らず自分でシークエンスデータをあちこちから集めてきて自分仕様のBlastサーバを立てている。 これまでのところ、まあ自分で見るだけだ…

Jetson Nano 4GBと自作キーボード

壊れたJetson Nano 2GBの保証交換がちっとも進まないまま2ヶ月が過ぎようとしている。ということでもう一台買っちゃった。それも4GB。 今回はアマゾンではなく、日本での正規代理店らしい菱洋エレクトロから購入。アマゾンより安い。 ryoyo-gpu.jp基板丸出…

Jetson nano 2GB

とうとう手を出すことに。 https://amzn.to/33zSXVO NVIDIA Jetson Nano 2GB 開発者キットNVIDIAAmazonまずはOSのセットアップから。 developer.nvidia.com 現在の最新版は4.5.1らしい。Getting Started with Jetson Nano 2GB Developer Kit | NVIDIA Develo…

jExcelでスプレッドシートをwebアプリに仕込む(完成)

最終的にここに落ち着いた。 {% extends "base.html" %} {% import "bootstrap/wtf.html" as wtf %} {% block title %}Freezer list{% endblock %} {% block head %} {{ super() }} <link rel="stylesheet" href="https://bossanova.uk/jspreadsheet/v4/jexcel.css" type="text/css" /> </link>

jExcelでスプレッドシートをwebアプリに仕込む

以前チョロっと眺めていたjExcelを使ってウェブアプリに冷凍庫管理表を作ってみる。 javascriptなのでじつはあまり得意ではない。 しかし使い方は結構簡単そうだ。(実は実用するには結構ハードルが高いことは後でわかる) 設置方法は基本HTMLファイルにjava…

グラフの要素を平均やボックスプロットに重ねる

以前より作っていたグラフ描画用ウェブアプリをバージョンアップしてつかいやすくした。 ボックスプロットやバーグラフに各要素点をかんたんに重ねることが可能になった。 これでNatureにも投稿し放題だね。いよいよExcelは必須ではなくなってきたな。

pandasで読み込んだデータフレームからかんたんにグラフを作る

例えばStudent's T testをやるついでにグラフも描いとこうというような場合。 import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv("./ttest.txt") des = df.describe() print(des) # plt.figure() des[des.index=='mean'].T.plot.bar(ye…

まっさらなOSXが手に入ったから、一から環境構築をしてやる

先日MacBook Airを新たに導入したわけで、とりあえず書き物用としてOfficeはインストール済みである。 で、しばらく使ってきたわけだが、一昔前のサーバに引けを取らないパワーがありそうなんで、やはり開発環境やデータ解析環境なんかも入れておこうかなと…

Pythonで統計解析

やはりRとはなかなか仲良くなれないな。といって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…