アグリな凡人が奮闘する話

大抵インフォ、時々バイオ、稀にアグリな日記。

久保緑本 レビュー

久保緑本読み終わりましたー

日曜日の集中力が地に堕ちていたので結局月曜日までかかってしまった。

 

 

 

まあ自分の今やっている分野にはあまり必要はないかなー、という感じだった。Rの勉強がてらとか言ってたけどRは別の本で勉強してから読んでね、とのことでしたし。

ただ今後必ず必要になりそうな予感。

 

内容としてはデータ解析の実践が中心となっている。統計学の基礎を踏まえたうえで、じゃあ実際に解析するにはそれらをどのように扱えばいいのか、現実世界に即したモデルをうまく作るにはどのような考え方をしてどのようなツールを使えばいいのか、とのこと。

 

まずモデリングの基本になる一般化線形モデルGMLを紹介して、そのパラメーターの決め方として最大対数尤度ではなくAICを使うとover fitting的なのを避けられるよ、てことを解説。

次に、でも現実世界では観測されてない個体差、陽の当たり方とか、気温のわずかな違いとか、そういうのがあるよね、それを考慮するにはどうすればいいの、で出てきたのが一般化線形混合モデル。

これで観測されてない個体差を決めることができる。でも計算量すごいし解析的に解くにはちょっと厳しすぎるよね、ということでMCMCサンプリング法の登場。こいつを使って得られたサンプルとベイズ統計モデルを組み合わせれば、複数パラメーターの尤度推定を簡単にできるじゃん。

こいつをGLM組み込めないかな、GLMをベイズ化して考えればめちゃめちゃ複雑なパラメーターの組み合わせでも尤度を決定できるじゃん、と話は進み、この応用系である階層ベイズモデルや空間構造への組み込みで話は終わり。

 

ムツカシイ理論の部分をうまくかわしながら、(詳しくは文献とかツールのマニュアルを見てね、と)基本の考え方と適用法をさらっと説明してくれてるので、とても読みやすいしわかりやすい。統計学の基礎を修めて、一度自分でデータをとった人がこれから初めての解析を始めるぞお、というときに必須の本だと思います。

 

一度目を通しただけですが何らかに応用できそうであればまた読みたいですね。 

 

一回コロナとかKaggleにあるデータ引っ張ってきてPythonなりRなりでデータ解析を自己満でやりたいと思ってるのでまたお世話になるかもですねー

 

 

ところでガラッと話は変わりますが、、、

自分の日記がどこかでつまらんと言われていて笑笑、匿名で個人の備忘録で書いてるんだからほっとけ!とか思ったけど、まあ人間つまらないと言われるとちょっとは傷つくもんですね笑笑

なのでとりあえずそこまで料理がうまいわけでもない一人暮らし大学生の食生活でもアップしときます。興味ないって?ほっとけ!

 

最近は久々にカレー作りました。カレーは簡単で安いのにアレンジ次第で味わいがガラッと変わるのでとても便利です。

ルーによってもかなり違いが出ますが、業務スーパーのルーを使ってます。コスパがいいしバーモンドカレーのようにクセもないのでアレンジ派にはいいです。

お勧めはトマト缶を入れる or ワインを入れる、ですかね。今回は肉と野菜をゆでるときに水+水の1/10量のワインを煮詰めたものを投入しました!アルコールをしっかり飛ばしてから入れて煮込むとフルーティーさが加わります。肉も柔らかくなるのでとてもおいしいです。今回はさらに余ってたソーセージ入れてジャガイモ大きめに切ってポトフ風にしました。ソーセージ入れると旨みが出ます。

まだまだ料理初心者なので何か作る度に発見と気づきの連続です。書き残しとかないと忘れちゃうのでこういうのもありですねー
f:id:god-grassland:20210222151031j:image

 ↑写真撮るの下手すぎておいしそうには見えないですね、、、(笑)

 

 

選ばれるのには理由がある

お久しぶりです。最近は応用情報技術者試験の対策だったり細胞の分子生物学(鈍器)と格闘したりしてました。

ダメもとで応募してた基生研の情報解析講習会の選考通ったので、NGS解析もまた本腰入れてやっていこうと思います。

ということでRを学んでおります。Rを学んで思ったこと。

 

いやあ、Rって便利!

 

Pythonじゃ必要なパッケージを呼び出して、テキストファイルを読み込んで、またさらに別のパッケージを呼び出して、matplotlibでもいちいちxとyを指定して、メソッド使って要素追加して、、、とするのをRじゃ2、3行で終わってしまう。

あとRのデータ構造が表形式(行列)に適しているからわざわざNumpyとか使わんでも操作が直観的にわかる。

バイオ系でRばっかり使われているのにはちゃんと理由があるんですねー、という感じ。plotで一発で図形描いてくれるなんてありがたすぎるんですよね。

 

ということでRの使いやすさに感動しているこの頃です。もちろんPython機械学習、深層学習が非常に得意な言語なので、データ解析の最先端では使っていくことにはなると思うけど。scikit-learnとかね。でもpythonはやっぱりcsvとかテキスト形式にあんまり適応してない。RはBioconductorに代表されるように、そういったデータ処理する人々向けにわかりやすく作られているので、そりゃR使った方が効率いいよな。

Rで下ごしらえして、そのデータをもとにPythonで学習させていくというのが理想なのかなー

 

Rの勉強は基生研のGithubとか久保緑本生態学データ解析 - 本/データ解析のための統計モデリング入門 (kuboweb.github.io)を使ってやってますー

 

一日二日でががっと詰め込む予定。目標今週中。鈍器と資格試験対策も平行させていくので集中するぞー

なおTOEIC対策()

SWEETのまとめ イントロ

暫く触れてなかったSWEETの知見をまとめる。Plant Molecular Biology、Plant and Cell Physiology、Plant Physiology and Biochemistryの3つのジャーナルのSWEETのレビュー記事を参照した。あとアフリカツメガエルにSWEETを発現させた研究についても最後にちょろっと述べたい。

覚書とか個人の見解の記録のために書いているので、情報の正確性など一切責任負いません。上のジャーナルのレビュー記事(たしか2つは無料記事)を参考にしてください。

 

さて、そもそもSWEETとは何か。ざっくりと言えば生体内でsugar(糖)を輸送する膜輸送タンパク質、トランスポーターである。トランスポーターって言葉はどこかで聞いたことがあるかもしれない。Wikiに詳しく載ってるのでそこら辺の説明は省くけど、言っちゃえば細胞膜上にあって細胞内外の物質をやり取りする門番または運び屋さん。SWEETはそのうち糖(細胞膜を通過できない)のやり取りを担っている。

今見つかってる糖のトランスポーターは大きく分けて三種類(これをスーパーファミリーと言う)

①Glucose Transporter(GLUTs)

②Sodium Glucose cotransporters (SGLTs)

③Sugar Will Eventually be Exported Transporter(SWEET)

①と②と③が協力して植物の細胞内外に糖を輸送し合っている。詳しくは後程。①と②は古くからその存在が知られていたんだけど、③のSWEETは2010年にようやく発見されたとても新しい輸送体。その構造や生体内における機能が活発に研究されている。

 

 

導入はここまでにして、じゃあSWEETって具体的に何してんのか、どんな形してんのか。SWEETの大まかな特徴について述べていく。

SWEETはタンパク質なので、その構造が機能に直結している。

f:id:god-grassland:20210209011612j:plain

シロイヌナズナのSWEET PDBデータベースより


SWEETの基本の骨格は3-TM domain。この3-TM domainをどういう風に含むかでSWEETはさらに3つに分けることができる。

①Semi SWEET

②SWEET

③extraSWEET

①のSemi SWEETはバクテリアにみられるSWEETで一つの3-TM domainしか持たない。②のSWEETが一般的に言われるSWEETのことで、真核生物のSWEETはこれ。リンカーでつながった二つの3-TM domainを持つ。(7-TM domainと言われる)①のSWEETが遺伝子重複してできたと言われている。ただ4-TMのリンカーエレメントがどうやってできたのか、遺伝子重複だけでは説明できない。

※このリンカーも一つのα-ヘリックスのことなんだけど、種間で全く保存されていない。これは個人的な見解なんだけど、分子進化の中立説によって説明できそうである。つまりリンカードメインが機能的に重要でないから変異が蓄積していった(変異が起こってもfatalではなかった)のでは?

③のextraSWEETは②のSWEETが更に二つにつながったもの。7-TMのSWEETが遺伝子重複を起こしてできたと言われている。

いやそもそもTMドメインてなんですか、て思うだろう。TMとはTransMenbraneの略。正式名称見ればわかると思うけど、つまり膜貫通ドメイン。SWEETは膜貫通ドメインを7個持っている、ということ。この膜貫通ドメインはα-ヘリックスであることが結構多くて、上に挙げた写真でも7個のα-ヘリックスが確認できる。

 

SWEETは人間内では一種類しか見つかってないけど、植物では多種類見つかっている。例えばシロイヌナズナでは17種類、イネでは21種類、ジャガイモでは35種類、なんていう風に。動物体内での糖輸送機構を詳しく知らないからあんまし言えないけど、植物内ではソース(葉)とシンク(貯蔵器官)の間で糖をしきりに動かさなければならないから、SWEETは植物において特に進化的に重要だったんだろう。ちなみに人間と植物、さらにはバクテリア間でSWEETが保存されているのはとても興味深い。よっぽど生体にとって重要なんだろうねえ。

植物にスポットをあてると、近年の研究で植物体内でSWEETは本当に多くの役割を担っていることがわかってきた。花粉の成長、蜜の分泌、種子/果実の登熟、師部ローディング、ジベレリン応答などなど。

 

 

次にSWEETの機能について。SWEETは上の図でわかるように2つのSemiSWEETが重なって孔を形成して、そこに糖を通してる。SWEETにはいくつか重要なアミノ酸構造がある。

一つはproline tetrad。SWEETにおいてプロリンが4つ、保存されており、これらがコンフォメーション(タンパク質の動作)において中心的な役割を担ってる。SemiSWEETにおいてはPQモチーフが同じ役割を担っている。実際はSemiSWEETのPQモチーフのようにP(プロリン)だけでなくQ(グルタミン)もこうした機能に必須と考えられているんだけど、真核生物のSWEETにおいてはリンカーエレメントの存在でプロリンだけでもなんとかなっているらしい。

次にSWEETの基質ポケット部位。イネのSWEETであるOsSWEETではシステインフェニルアラニンだったり、シロイヌナズナではセリンとトリプトファンだったりするんだけど、とにかく性質上似た二つのアミノ酸残基が糖の結合ポケットとして重要な役割を果たしている。

最後にC末端のリン酸化領域。SWEETのC末端にはリン酸化領域がある。リン酸化は細胞内のシグナル伝達によく使われる。つまり糖の輸送体と同時にSWEETは受容体でもあることが明らかになった。とても重大な発見。

ついでにSWEETは単体じゃ機能しないらしく、実際には細胞内で多量体になって働いているらしい。これは過剰発現体を用いたドミナントネガティブ変異体を用いたシロイヌナズナの実験で明らかになっている。ただし孔構造になっているのは確かだし、SemiSWEETとか機能部位とか見る限り単量体でも働きそうなんだけどなあ、というのが個人の感想。なぜ多量体でないと機能しないのか、とても興味深いところ。

(この実験はXuan et al. 2013 Fuctional role of oligomerization for bacterial and plant SWEET sugar transporter familyを参照のこと)

 

 

SWEETの機能はたくさんありすぎてまとめきれないのでさらっと。そもそもSWEETの中にさらに5つのクレード(分類)がある。5つ目のクレードは古細菌とかにしかないやつだから置いといて、大きく4つ。CladeⅠ~CladeⅣで運ぶ糖の種類も機能も違う。それぞれ細かく見て行きはしないけど、シロイヌナズナではほぼすべてのSWEETの運ぶ糖と機能が明らかになっていて、ザックリ言うと花粉、種子・果実形成、防御応答、といった感じ。他にもいろいろあるけど、生理学的に意義があるのは上の3つくらいだろう。個人の独断と偏見だけれど。

 

SWEETの機能について2016年、重大な発見がなされた。SWEETはこれまで糖の輸送活性以外は示されてこなかったが、ジベレリンの輸送活性があることも明らかになったのである。

ジベレリンは長らく輸送の仕組みが未解明であった。細胞間輸送というよりは遺伝子の制御などで作られるのがメインと考えられていたのである。(一方でオーキシンは極性輸送が有名なように、輸送によってその機能を発揮する。)そのジベレリンに輸送体が存在するという発見はまさに植物ホルモンの教科書を書き換える出来事である。

SWEETは特異性がとても低い単輸送体なので、ジベレリン以外の植物ホルモンを輸送する可能性も十分にあり得る。同2016年には菌に感染したエンドウにおいて、サイトカイニンの存在下細胞壁インベルターゼとSWEET14の相互作用が確認され、SWEETはサイトカイニンを運ぶ可能性も示唆されている。

 

長くなってしまったのでこれで一区切り。SWEETの糖輸送、師部ローディング、有名な論文紹介などはまた追々書いて上げます。

首ががが

ずっと座ってパソコン見てると首が終わる。つい先日9800円払って熱と電気で首をほぐすニップラックスなるものを買ったが。9800円払うなら普通に病院なり整骨院なり行った方がいいかもしれません。

さて、テスト終わったのでNGS関連のお話です。本当はバイオインフォマティクス技術者認定試験のお勉強もしなければならないんだけど、やる気が起きない。試験日までまだ1週間以上あるし。何とかなる。

 

 

今日の話題は3つある。

まずは先日話してたblobtoolsについて。調べたらなんとblobtools2なるものが登場していた。ただほぼblobtoolsと使い方がほぼ同じようなので、まずはblobtoolsで慣れよう、ということでblobtoolsをやりました。

追記:のちにノートパソコンでblobtools2も入れたところ、blobtools2自体のダウンロードはできたのだがtaxnomyファイル(tar.gzの形になっている)の解凍がうまくいかなかった。ファイルが大きすぎるか、exisiting now、つまりblobtoolの中のtaxonomyファイルと被ってるか。Linuxでやったときはうまくいった気がしたから、もしかしてWindows、OSのせい?blobtools2を使わなければならない理由も特にないのでDatasetのセットアップ前でいったん保留。

基本的には公式サイトとかこの前のっけたリンクのサイトの使い方の通り。(あのブログの筆者の上坂先生からスターを頂いた。恐縮です。。。)失敗した箇所が2つあって、ブラストのdata/nodesDB.txtファイルを事前に作らなかったのと、sorted.bamを使わずにbamファイルで実行していたせいでうまくいかなかった。sorted.bamを使わないと--dbの入力がデフォルトじゃなくて必須になる。

でも基本的にはうまく実行できた。blobtoolsを使う前には、まずcondaでconda activate blobtoolsが必要。あと./blobtoolsがWindowsだけ?コマンドに相当。このツールをこれから使うわけだけど、ネックになるのがtaxonomyファイルを作成すること。リファレンスゲノムいらないとか言ってたのにバッチリいるじゃん!嘘つき!って気分だけど、、、blastnとかUniprotのDiamondBlastからデータベース引っ張ってきてやるっぽいな。taxonomyファイルはなくてもいいんだけど、動作の面で推奨とのこと。一応考えてるのはBlastから適当にランのゲノム引っ張ってきてそいつをtaxonomyファイルにすることかなあ。これで無理だったらblobtoolsは見限る、またはtulasnellaのファイルを使う。QC-Blindも今後のために使用を考えているので、見限らなくても結局別の手法でやるんだけどね。コマンドあるあるでこういう時は大体うまくいかないので(笑)、まあ気楽に行こう。

 

さて、次の話題。上の話でBlastの話が出てきたけど、Blastのこと、特にコマンドユーザインターフェースでBlastを使う手法を学ぶ機会を得た。というか先生に情報源を教えていただいた。ありがたい。ということでこれまで何となく使ってた(多分使えてなかった)Blastについて勉強していきます。Blastでローカルゲノム(Blastのデータベース上にないゲノム)にもアノテーションを自由自在に付けれるようになることが最終目標。ガチれば2日で習得可能ぽいので土日でマスターします(あれ、技術者資格の勉強は???)

 

んで、最後の話題。最後だけど重要です、て表現が英語の熟語にあった気がするけどこれは最後だし全く重要じゃない。例のバイオインフォマティクス技術者試験の本読んでたら気になるフレーズが出てきたから調べたらめっちゃおもしろそうだね、て話。

システム生物学という分野らしい。個人的に気に入った表現が細胞の物理学。古典物理学を地球の仮想環境上での物質の動きを追う分野としたならば仮想細胞環境下での代謝ネットワークをすべて計算で追えるように細胞内の物質間の関係を詳細に解明していきましょう、という話。この分野の到達点は細胞内の動きをすべてコンピューター上でシミュレートすること。細胞内の動きがシミュレートできれば細胞間の動きもシミュレート可、さらに行けば生命の誕生から終わりまでを精密にシミュレーションできることになる。もっといくと人工生命の分野まで行く。ロマンがあるね。

ただこれ想像に容易いように数学がめっちゃ出てくる。特に微分方程式とかそこらへん。農学部でぬくぬく育ってきた自分には少し敷居が高いけど、本借りたしNGS解析に飽きたときに取り組んでみようかと思う。

 

て感じ。とりあえず、首が痛い。

やっぱりLinux

自分で機械学習させることもないのでしばらくPythonは趣味にとどめておくことにする。ただ機械学習自体は、さらに深層学習自体は何らかに使いたいという願望はあるので、継続はする。

バイオ系でPython使えるイメージがまだまだないので、今後新しいツールが出てきたらそのソースコードから見てみて、イメージをつかみたいところ。

調べたらPerlとRが使えそう。Perlは使用者が比較的少ないし、まだ未発達ということもあり、PythonのNumpyの方がPerlよりもいいですよ、という声もあるので微妙なところだが。でもBioPerlの有用性も、特に配列を用いた計算においては有用ということらしいので、んまあ時間があったら取り組みたい。

最も優先順位が高いのはやっぱRです。Pythonと比べて実装してるバイオ系のツールがケタ違いに多い。Pythonと同じオブジェクト指向型言語ということなので、勉強し始めにそれほど苦労しないだろうということを期待しつつ、こちらもやっていきたい。

 

で、話は変わり今の問題に対処するために何をすべきかの方向性が定まってきた。

前回挙げた選択肢の中で、特にメタゲノム解析ツール、blobtools(をはじめとする種々のツール)とマッピング・アラインメントを駆使したコンティグ整理、の二つをやっていこうと思う。

blobtoolsのコンセプトは、「シーケンスの際のContaminant(他の生物のゲノム)をスクリーニングする」というもの。実際結構他の生物種のコンタミは多いらしく、blobtoolsの論文の中には他の生物種の遺伝子が混じってただけなのにろくにスクリーニングしないで水平伝播だと勘違いされていた例も多いらしい。

こんなのがまかり通ってたらデータベース自体も汚染されるし、もっと注目されるべき問題なんだろうなあ。

blobtoolsの論文内にあった使えそうなツールをいくつか列挙する。

Anvi’O、t-SNE、ProDeGe、あとQC-Blind。PubMedで調べればもっと出てきそうだけどひとまずこんなもんで。さらっと見た感じQC-Blindがリファレンスゲノムもいらないらしくて一番期待。

これで何ともなんなかったらメタゲノム解析ツール使おう。

メタゲノムデータのtaxonomy assignmentを行う k-SLAM - macでインフォマティクス (hatenablog.com)

この記事参照かな。

 

最後にblobtoolsのもと論文を読んだから少し書き残しとく。

必要なファイルはnBlastとDiamond Blastxで作ったtsvファイル(シーケンスに相同配列検索が掛けられたもの)、アッセンブルした後のFASTAファイル、元リードをアッセンブルした後のBAMファイルである。

こいつらを準備したら下のworkflawA(リファレンスゲノムがないもの)に従って処理していく。

f:id:god-grassland:20210123173147p:plain

 

 もとファイルを集めたblobDBファイルを作って、それをpartition及びplotしてもらい、次にBAMファイルとこのpartitionの結果を合わせてリードの分割を行って終了。

この処理は二回以上行うのが推奨ぽい?

メタゲノムcontigのカバレッジ、GC、taxonomy情報を可視化して分析できる BlobTools - macでインフォマティクス (hatenablog.com)

に実行したときのこととかエラーのことが詳しく書かれているので実際にやるときにはこれを参照されたい。

泥沼

今日NGS解析に進捗がほんの少し生まれたので書いておく。

まず渡されたbamファイルからunmappedリードを取り出す。

共生特異的なリード結果を無菌のものにマッピングした結果である。

ここからunmappedリードを取り出したことによって実際共生菌のみのリードを取り出すことができた。

なので次にこのunmappedリードを共生特異的ランの全リードデータから引けば、実際にランのみで発現していたリードを取り出すことが可能になる。

なので次にやる作業はbamファイル(リード)同士の引き算。

bamファイル、つまりバイナリファイル同士の比較をすればよいのだが、この比較の方法がいまいちわからん。

コマンドプロンプト上でcmpコマンドを使えば1バイトずつ比較して違う場所を返してくれる。(cmp -l ファイル名 ファイル名)で

でもあくまで違うファイルを比較するというだけで、違う部分を抽出して新しくファイルにし直すだとか、そもそも1バイトずつ比較しているので、全体からその行を検索しているとかのわけではない。

バイナリ形式じゃなければファイル間の比較もできるのか?でもそもそもSAMファイルを置いておけるほどパソコンの容量が無い。cmpやdiffを使う方法は有効と思われたけどやめておこう。

 

tsvファイルをいじっていく方が簡単なのか?

ということで。

共生菌Tsulasnella Colasporaのアノテーションデータがウェブからダウンロードできたので、せっかくなのでアノテーションしたtsvファイルも作ってみようかと思う。

JGI Genome Portal - Home (doe.gov)

 

データをダウンロードした後すべてのゲノムが入ったgffファイルがあったので、これをもとにアノテーションしてみる。

 

tsvファイルの作り方はAtomから作った本の内容をそのまま、ちょっとファイル名変えただけで。

ちなみにダウンロードしたすぐのgffファイルはgz形式で圧縮されていたのでアプリで解凍して使った。

いけるかな、と思ってたけど、甘かった。。。

そもそもTulasnellaの遺伝子のアノテーションCDS,exon,inferred_parentしかない。mRNAがあればいいんだけど、そんなのない。(仮にmRNAがあればgene_idからidを使ってきれいにtsvファイルとして保存できる)

どうしよと思ってしょうがないからこれらの領域使ってやったみたけど当然うまくできない。アノテーションファイル作れなかったら解析うまく進まないしなあ。。。

ということでpythonからTulasnellaのtsvファイルをいじるのはあきらめた方がいいかも。ゲノムが全部FASTAファイルで入ってるからIGVとか使ってマッピングはできるかもしれんが。もうちょい粘ってみる。

 

さて、今後の方針をまとめると

①unmapped readの抽出を再度元データにマッピング

②Zengさんの論文を読んでpythonで適用できないか考える(望み薄)

③メタゲノム解析の手法を取り入れる

④blobtoolsを使ってみる(望み薄)

⑤orchidとTsulasnellaのアノテーションファイルからtsvファイルを作り、発現変動を視覚化・機械学習させて分割させる。(望み薄)

こんな感じ。だんだん何のためにpythonを使っているのかわからなくなってきた。もともとのイメージとしてはPythonで配列データを一つずつ読み込んで、その類似性を見つけてもらってから、主成分分析とかSVMで解析できる、という感じだったけども、

そもそも配列データ量が多すぎてPythonじゃそんなことできないのか。

発現データ解析はRの方が適しているという話だし、Rやるか検討します。

もしかしてメタゲノム解析使えるんじゃ

バイオインフォマティクス技術者試験の対策していたのでしばらく投稿なかったです。

これまで断片的な知識でやっていたので、こうした体系的な学びの機会を得たのは個人的にとてもアドである。この資格は重要視されない場面が多いが、特に農学部とかのバイオインフォマティクスをしっかりやってこなかった人にとってとてもいいんじゃないだろうか。

 

話は変わって表題のお話。

正直遺伝子解析は行き詰っている。

遺伝子の分割は2008年位から大した論文が出版されていない。多分プログラミングがメジャーになってウェブツールじゃなくても玄人は簡単にできるようになったからだと思うが、、、

玄人じゃない自分はどうすれば。

 

そこでふと気づいたのは、自分が今やってるのって本質的には今はやりのメタゲノム解析(環境中から生物種を特定せずにマルっと遺伝子:特に微生物 をとってきて解析すること。噴火口とか汚水とかの極限環境で役に立つ遺伝子、オーソログ遺伝子群が何なのか解析する。)と全く同じこと。じゃあメタゲノム解析の解析手法を自分のしたいことにも適用できないだろうか、ということ。

 

メタゲノム解析では生物種を特定するツールもウェブで公表されている。

代表的かつ最新のものはQiiMeとMetabinくらいか。

こいつらまた詳しく調べて役立てようかと思う。