kuroの覚え書き

96の個人的覚え書き

Programing

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

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

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…

local blastをグラフィカルに

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

帰ってきたJetson nano 2GB

というわけで2ヶ月のすったもんだの末、うちに帰ってきたJetson Nano 2GB。 左:帰ってきた2GB、右:買い足した4GB(B01)壊れる前はそもそもMacbookAirのACアダプタ(容量、定格上は十分なスペック)で起動できなかったところからすでに異常だったわけだが…

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

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

Raspberry piにキャラクタLCDをつける(2)

とりあえず起動したらDHCPで拾ったアドレスなり、接続したESSIDなりを取得してLCDに表示させるようにしてみた。 #!/usr/bin/python3 # coding: utf-8 import subprocess import Adafruit_CharLCD as LCD import time # GPIO lcd_rs = 17 lcd_en = 27 lcd_d4 …

Raspberry piにキャラクタLCDをつける

お遊びではあるが、Raspberry PiにキャラクタLCDをつけてみた。 お遊びなのであえてこじんまりしたLCDをつけてみる。<液晶表示器(LCD)><液晶表示器(LCD)LCM0802A 8文字×2行 バックライト 青>1個<led-180>札幌貿易(Sapporo Boueki)Amazonこれと基本同…

Raspberry Pi でUSBカメラを使う(整理編)

まずは何はなくともV4L2 $ v4l2-ctl General/Common options: --all display all information available -C, --get-ctrl=<ctrl>[,<ctrl>...] get the value of the controls [VIDIOC_G_EXT_CTRLS] -c, --set-ctrl=<ctrl>=<val>[,<ctrl>=<val>...] set the value of the controls [VIDIOC_S_EXT_</val></ctrl></val></ctrl></ctrl></ctrl>…

UVCカメラ

タイムラプス映像のクオリティをあげるべくカメラを買ってもらった。ELP バリフォーカルレンズ USBカメラ 800万画素 フルHD ウェブカメラ 高解像度 2448P 超小型ウェブカメラ ソニーIMX179/プラグ&プレイ/フリードライバー 2.8-12mmバリフォーカルレンズ Us…

Ubuntu環境をしっかりと入れる

自宅鯖で深層学習の学習環境を整えようと四苦八苦していて、私が主に使っているCentOS7に構築したkvm環境上のUbuntu18.04にNVIDIAのドライバやtensorflowをインストールするところまでやったわけだが。 結局kvmではビデオカードを仮想環境が使うとホストで…

React JSはじめました。

さっきやっとこさJSONやらAjaxをつかってフロントエンドとバックエンドのやり取りを成功させたところだが、 気を良くしてReactにも手を出してみる。まずnpmってなんなん?ってとこからですよ。 Node.jsってのをまず入れるんですね。 $ sudo yum install cent…

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…

Pythonで統計解析

やはりRとはなかなか仲良くなれないな。といってPythonでサラサラ~っとコードを書けるのかというと、結局は本と検索でどうにかやっているわけだが。 紙媒体の本はとりあえず大まかな感じを掴むのに向いている。 というわけで参考にしている本を並べてみる。…

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

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

ADBキーボードをUSB化する

先日入手したADBキーボードがどうも調子が悪い。チャタリングがひどいといえばそうなんだが、特定のキー入力がダブるというよりはランダムにダブる。 これはスイッチがへたれているというよりはキーボードのICか周辺の回路に問題があるんだろうと思う。いっ…

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

Arduino Pro micro その3 ATCG キーボード

さて、1キーのキーボードができたら今度はそれを複数にしていきたいわな。ということで4キーに拡張してみた。 #include "Keyboard.h" const int buttonPinA = 6; // input pin for pushbutton int previousButtonStateA = HIGH; // for checking the state…

Arduino Pro micro その2 ワンボタンキーボード

Arduino Pro microはArduino Leonardoの互換基板で、今回入手したのは更にそのコピー商品である。このArduinoクローンの特徴としていわゆるArduino UNOなどスタンダードなシリーズがATMegaシリーズのAVRを使っているのと異なり、32U4というUSBインターフェイ…

Arduino Pro micro

Arduino Pro micro を入手したのでとりあえずLチカの儀。KKHMF 2個 Leonardo Pro Micro ATmega32U4 5V/16MHz ブートローダ マイクロ USB Pro Mini 開発ボード Arduinoに対応メディア:オンボードには電源直結のLEDとシリアルのインジケータLEDしか載ってない…

ImageJのマクロをpythonで動かす

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

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…