望洋の猫

分からなくて右往左往してる猫が同じような猫に共有するためのブログ

寄付のご報告

2024年6月より、「日本猫ゲノムプロジェクト」への返礼品にネコカフェTiME様への寄付(500円)を選択肢として追加しました。

 

今日までに4名の方の申し出がありましたので以下のように寄付させていただきました。

みなさま、ありがとうございました!

 

 

ネコカフェTiME様のHPはこちらです。

ホーム | Neko Café TiME

ファンクラブに加入すると、いつでもリアルタイムのねこちゃんたちをご覧になれますよ🐈

 

みなさまのさらなる応募、お待ちしております!

 

 

 

 

研究用に使ってるサブスク・無料ソフト一覧

現在契約中

Claude

あらゆることに使う。下で記載しているとおり、ChatGPTで4oが無料で使えるようになった時点でこちらに乗り換えた。質問すると「いい質問ですね!」と褒めてくれるので少し自己肯定感が上がる。

ChatGPT(25/5/8追記)

たくさん使った。が、Claudeと同じプロンプトでコードを書かせてみたところClaudeのほうが優秀だという結論に至った。提案系もClaudeのほうがよい。英語の翻訳精度は同じくらい。

月3万のo3が優秀すぎてこれしか使ってない

Paperpile

論文のreference管理用。"Folders"で自分の論文カテゴリを作って分類し、"LABELS"でe.g. genetic tools; R packageのように複数の論文共通で使用するreferenceをつける。大変おすすめ。メモ、ファイル添付が可能。

Readable

※買い切り。翻訳ツール。twitterで話題になっていたので使ってみた。最も大きな特徴は、英語と日本語を見開きでPDFにしてくれること。欠点は数字等、絶対間違わないような文字がなぜか英日で相違してしまうこと(があった。今はないかも)。

あと、

ネコネコネコネコネコネコネコネコネコネコネコネコネコネコネコネコネコネコネコネコネコネコネコネコネコ

のように繰り返し配列がたびたび登場する。

DeepL

翻訳ツール。有名。長い間使っているが、訳抜けが多く解約を検討中。ただ、Claudeがファイルを出力できない、ChatGPTも無料版なのでできない、Google chromeプラグインでページを丸ごと日本語にできる(chromeの標準装備よりは精度が良い)ことからもう少し使う気がする。値段が高い。

FireShot

Google chromeプラグイン。webページを丸ごときれいにキャプチャできる。全体も一部でも、範囲をいろいろ選択できる。上記のDeepLと組み合わせて、日本語化→htmlまたはPDFで保存→paperpileで添付 が便利。

Googleドライブ容量アップ

ファイル保存用。

OneDrive容量アップ

ファイル保存用。

 

前に契約してたけど解約したもの

Adobe Premire

動画の編集ソフトだが、研究では動画解析用に使っていた。前のラボで契約していたため、そこからの継続の論文はこれを使わざるを得なかった。高い。無料のBORISで十分。非常勤講師のときの動画編集はPower dicrectorを使っていた(買い切りのときに購入できた。今はサブスクしかない模様)。

Evernote

使ったのはだいぶ昔。あんまり覚えてない。

Mendeley

※無料。一回作ったリストが全消えした。論文1個分は使った。起動するたびにアドレスとパスワード入力を求められる、全体的に重くて不便感があった。Paperpileに乗り換え。

OneNote

※無料。マイクロソフトの一部(?)なので、容量が大きくなると課金。実験プロトコルの管理や実験ノートで使用していた。量が多くなると重くなる、タブがどんどん増えてしまうのが嫌だったため途中でやめた。

Dropbox

クラウドストレージ。高い。間違えて課金してしまった。

benchling

※無料。電子実験ノート。UIがかっこいい。2年くらい使っていたが、どうしても使い方が理解できない機能が多く、Googleドキュメントでいいやんとなった。データとリンクしずらい、表の作成が面倒。ヒトによっては便利だと思う。プロトコル作成は便利。

 

試してみて契約しなかったもの

Notion

ナレッジ蓄積用に考えたが機能が多すぎで疲れた。googleドキュメントでいいやんてなった。

 

fastqからplinkで解析できるまでのツール全部載せin docker@windowsPC

はじめに

  • NGSの解析ってmac持ってないと話にならない感ある。

  • でもwiondowsしか持ってない人もいると思うし、dockerでできるようにした。

  • 簡単に言うと、linux環境を作ってそこにいろいろツールをぶち込んで、全部jupyter notebook*1で動くようにする。bashコマンドも入れるから、bash-python間でデータをそのまま受け渡すこともできる。

  • vscodeでも動く*2

  • 何もわからず聞く人もいなく右往左往したため、同じような人のために分からないながら書きましたという腰の低い気持ちでここに記す。


環境構築編

  1. windows版のdockerデスクトップをダウンロードする。 www.docker.com
  2. 下記のページの、「開発環境」「Dockerfile」「docker-compose.yml」「グラフの日本語化」までをすべて真似する。 www.ritolab.com
  3. Dockerfileを開き(右クリック→編集)、最後に以下のコードを付け足す。
    #ここから付け足し
    # python ライブラリのインストール
    RUN python -m pip install pandas
    RUN python -m pip install numpy
    RUN python -m pip install matplotlib
    RUN python -m pip install jupyterlab
    RUN python -m pip install notebook
    RUN python -m pip install tqdm
    RUN python -m pip install ipywidgets widgetsnbextension
    RUN python -m pip install seaborn
    RUN python -m pip install openpyxl
    RUN python -m pip install japanize_matplotlib
    RUN python -m pip install gpboost
    RUN python -m pip install patsy
    RUN python -m pip install statsmodels
    RUN python -m pip install seaborn
    
    
    #bioinfo用
    ##マンハッタンプロット書くやつ
    RUN git clone https://github.com/Pudkip/Pyhattan
    RUN python -m pip install ../Pyhattan/dist/Pyhattan-0.1-py2.py3-none-any.whl
    
    ##bashを使えるようにできるやつ
    RUN pip install bash_kernel
    RUN python -m bash_kernel.install
    
    ##QC & トリミングツール
    RUN wget http://opengene.org/fastp/fastp
    RUN chmod a+x ./fastp
    
    ##エラーコレクションツール
    RUN git clone https://github.com/emarinier/pollux.git
    RUN cd /pollux && make
    
    ##マッピング
    RUN git clone https://github.com/lh3/bwa.git
    RUN cd bwa && make
    
    ##samtools, bcftools
    RUN git clone https://github.com/samtools/htslib.git
    RUN cd /htslib && autoreconf -i && git submodule update --init --recursive && make && make install
    RUN git clone https://github.com/samtools/samtools.git
    RUN cd /samtools && autoheader && autoconf -Wno-syntax && make && make install
    RUN git clone https://github.com/samtools/bcftools.git
    RUN cd /bcftools && apt-get update && make
    
    ##忘れた
    RUN apt install \
        build-essential g++ \
        cmake \
        git-all \
        liblzma-dev \
        zlib1g-dev \
        libbz2-dev \
        liblzma-dev \
        libboost-date-time-dev \
        libboost-program-options-dev \
        libboost-system-dev \
        libboost-filesystem-dev \
        libboost-iostreams-dev \
        -y
    
    ##QCツール(マッピング後に使ってる)
    RUN git clone --recursive https://github.com/tobiasrausch/alfred.git
    RUN cd alfred/ && make all && make install
    
    ##vcftools
    RUN git clone https://github.com/vcftools/vcftools.git
    RUN cd /vcftools && ./autogen.sh && ./configure && make && make install
    
    
    #JAVAが入っていない場合?
    RUN apt-get install default-jdk -y
    
    ##VariantBam
    RUN git clone --recursive https://github.com/jwalabroad/VariantBam.git 
    RUN cd /VariantBam && ./configure && make
    

  4. 以下のツールは実物(?)を入れるほうが簡単。 製作者のHP等でダウンロードする。


最終的なフォルダ構成


使い方編

  1. powershellを開いて、Dockerfileが置いてある場所にcd
    ※hogenv内にdockerfileが置いてあって、そのなかのsrc>PJTフォルダ内にデータやnotebookを置いている。
    ※3行目でdocker内に入っている。jupyter notebook --allow-root --ip=0.0.0.0 --port 8080部分は右クリックしてペースト。
    cd C:/Users/.../hogeenv
    docker build -t bioinfotools .
    docker run --rm  -p 8080:8080  -v $PWD/src:/home/ --name bioinfoju  -it bioinfotools bash
    jupyter notebook --allow-root --ip=0.0.0.0 --port 8080

  2. 最後のjupyter notebookコマンドを入れると、ブラウザが立ち上がるまたはURLが表示される。
    URLの場合は、一番下のものをchromeなどのアドレスバーにコピペする。

  3. 出てきたファイル一覧の中に"Home"があるが、そこをクリックした先 イコール hogeenv/src となる。
    (つまり、上記のファイル構成においては、"PJT"フォルダが見えている状態)
    右上あたりにファイルを作成するボタンがあるので、そこからnotebookを作成し、1_jupyterフォルダ下などに置く。


  • pythonをベースにし*5、例えばfastqのちょっと上のほうだけ切り取ろう(?)というコード*6

  • pythonをベースにした上で、plinkやsamtoolsを動かすコマンド。
    このように"!"をつけると、上記のnotebookと同じノートで使用可*7
    ディレクトリ(どの場所にソフトが置いてあるか)に注意。


補足

上述したように、jupyter notebookは開発向きで、fastqが100個ありますというような場合はvscode等を使ってぐるぐる回すのが良い。
そのうち別記事で紹介するかも。
とはいえ、それでもだいたいは重い処理なため並列処理をする必要があるが私にはできないため、スペックの良いPCを用意し、dockerを複数立てて同時に回すという頭の悪い方法を取っている。
間違い、質問等あればコメントください。

*1:コードと処理の結果をノートのように記述できるツール。やったことのログとして非常に便利。

*2:jupyterのほうが処理は早いと感じる。なお、jupyterをvscode内で動かすこともできるが、2022/11/23現在重すぎて使い物にならない。jupyterで開発やテストを実施し、多数のファイルに同じループ処理をする場合は.pyと.shを組み合わせてvscodeに移植するのがいいと思う。

*3:ファイル操作とかQCはたしかできないが、kingという他のツール(⇐親子判定とかできる)が入っている。kingはwindowsだと動かない。結局dockerだと動くけど。

*4:jupyter notebookの場合、admixture32でないとメモリ不足で止まることがあった。

*5:上部メニュー→カーネルからpythonbashかという言語を選べる。が、!コマンドを使えるのでpythonでよい。

*6:後でもっとかっこいいコードに差し替えるかも。

*7:これすごいメリットだと思う

なつきやすいのはネコだけじゃない【論文読み】

引用

Cameron-Beaumont, C., Lowe, S. E., & Bradshaw, J. W. (2002). Evidence suggesting preadaptation to domestication throughout the small Felidae. Biological Journal of the Linnean Society, 75(3), 361-366.

解説

現在世界に存在するすべてのイエネコの祖先は、リビアヤマネコであるということがゲノムからわかっています。ネコ科にはたくさんの種がいるのにどうしてリビアヤマネコだけが現在の「イエネコ」になったのでしょうか?

実は、ほとんどのネコ科はヒトと一緒に暮らすという点であまり向いていません。考えてみると、ヒトは炭水化物をたくさん食べるのにネコ科は肉食です。警戒心が高く、テリトリーがあって、結束のある大きな社会集団を作ることはありません。 すなわち、ネコ科は全般的に家畜化に対する適性(論文では「前適応(pre-adaptation)」)がないのです。しかし、ネコが私たちの足にスリスリするのは事実ですから、その祖先種であるリビアヤマネコは他のネコ科動物よりもその適性が高かったのかもしれません。

そこでこの研究では、動物園にいるネコ科動物が、飼育係さんに対して親和的行動をどれくらい示すかが調べられました。その結果、多くの種が親和的行動を示すということ、さらに、オセロット(Leopardus pardalis)が最もその頻度が高かったことが示されました。

オセロットはイエネコとは割と離れた種です。しかし、9-16kgもあるそうなので、ペットには不向きだったのではないかと著者らは推測しています。そして、リビアヤマネコだけが親和的行動を示す特別な種であるわけではなかったことから、ヒトの側に家畜化した理由があったのではないか、つまり地域や当時のイベントによってたまたまネコが家畜化されたのではないか、とも述べています。例えばちょうど、農耕が始まって→ネズミが沸いて→ネコが寄ってきた、とかですね。

ところで個人的な感想ですが、動物園では動物は飼育係からゴハンをもらっているため、ここで見られる親和的行動は本当の「なつきやすさ」を示しているのでしょうか。いろんな飼育係さんがいるはずなので、どのように日常的なコミュニケーションを取ってきたのかは統制できていないはずです。19年前と結構古い論文なので、アップデートが望まれるところです。

しかし、「ネコはたまたまペットになった」仮説は可愛いですよね。そうあったらおもしろいです。他にも似た主張をする論文はいくつかあるので、いつかご紹介したいと思います。

 

この記事について

勉強用です。内容の間違いに責任は取れません。無断転載を禁じます。

長く離れると、ネコはたくさんおしゃべりをする【論文読み】

引用

Eriksson, M., Keeling, L. J., & Rehn, T. (2017). Cats and owners interact more with each other after a longer duration of separation. PloS one, 12(10), e0185599.

解説

ネコは独立心が強い動物だと考えられており、ネコがヒトとの触れ合いを必要としているのかについてはあまりよくわかっていません。この研究では、14頭の単頭飼いのネコを対象に、飼い主が30分または4時間留守にし、

  1. 不在前・不在中・不在後のネコと飼い主の行動は、留守番の時間の長さによってどう変わるのか?

  2. 飼い主とネコの行動は関連しているのか? (例えば、飼い主がよく話しかけるネコほどよくしゃべる、など)を調べました。

その結果、

  1. 飼い主が長く(4時間)留守にしたときの方が、短い(30分)留守のときよりも、飼い主と再会したときにネコはたくさんゴロゴロ言い、たくさんストレッチ(屈伸?)を行いました。また、飼い主のほうも、長く留守にしたときの方が、ネコに対してたくさん話しかけました。

  2. しかし、ネコの行動は飼い主の行動と関連するわけではありませんでした。つまり、よく話しかける飼い主に対して、ネコのゴロゴロやストレッチ行動がたくさん出るわけではありませんでした。

ネコが飼い主のことをどう思っているのか? は私も含め、ネコの飼い主さんの永遠の謎です。これまでの研究では、赤ちゃんやイヌで行った実験をネコでも行って、「ネコは飼い主に対してあまり愛着を持たない」という結果が示されていました。しかしこの研究では、長時間飼い主が留守にすると、ネコもある程度さびしいのかもしれないという結果が得られました。一方で、おもしろいことに、ネコと飼い主の行動はあまり関連しませんでした。単純な相関だけを調べているので、今後、時間軸を含めた分析を行えば(例えば、飼い主が呼びかけたらネコは応答するのか?など)、もしかしたら飼い主とネコの行動に関連がみられるのかもしれません。

また、ネコはあまり飼い主のことを見ませんが、音声でより多くのコミュニケーションを行っているように感じられます(私のネコは私よりもはるかにおしゃべりです)。実際、ネコの声はヒトにとって、ネコの祖先種よりもはるかに心地よく聞こえるという研究もあります。今後、ネコの音声に関する研究が進んでいくかもしれません。

この記事について

勉強用です。内容の間違いに責任は取れません。無断転載を禁じます。

奥が深いネコの「白」【論文読み】

引用

Chuong, E. B., Elde, N. C., & Feschotte, C. (2017). Regulatory activities of transposable elements: from conflicts to benefits. Nature Reviews Genetics, 18(2), 71.

解説

下のネコちゃんたちはどちらにも白が入っていますが、なんとなくこの2つの「白」は別物だと考えられてきました。実際、ネコの毛色に関するいろんな本やウェブサイトをめくると、こんな感じで書かれています(↓)。

左の真っ白の様式はかなり特徴的で①かなりの割合でブルーの目やオッドアイ聴覚障害を伴う ②Wを1つでも親から引き継ぐと、必ず真っ白になる などが挙げられます。しかし、実は左も右も同じ遺伝子上にあったのです。そして、「白色」を生む変異は、レトロウイルス由来のものでした。レトロウイルスとは、過去に感染したウイルスが宿主の「遺伝子の一部」と化してしまうものです(下図)。

この遺伝子は「KIT遺伝子」と言い、ネコ以外の動物でも白色と関係しています。動物の白は家畜化(ヒトによる動物の選抜)から生まれたものなので、とても興味深い遺伝子な気がします。

 

この記事について

勉強用です。内容の間違いに責任は取れません。無断転載を禁じます。