Note of Pediatric Surgery

腸内細菌、R、ときどき小児外科

LEfSeをインストールする

はじめに

LEfSeとは簡単に言うと多重検定を考慮した解析を行ってくれるツールです。bioBakeryから使うこともできますし、webアプリケーションのGalaxyから使うこともできますが、最近、コチラは不安定なことが多いような気がします。

本当は僕もwebアプリケーションを使用する予定だったのですが、どうしても不安定で開けなかったのでインストールすることにしました。実は昔、インストールを試みて挫折したのですが、なんとかできました。コチラのページの " Step 4: Taxonomic biomarker discovery with LEfSe " を参考に進めていきます。

続きを読む

小児固形腫瘍の腫瘍マーカー

はじめに

小児固形腫瘍では、腫瘍マーカーが診断においても非常になってきます。成人固形腫瘍とはやや感覚が違うような印象もあります。あまり横断的に勉強することは少ないので、まとめておきます。少しずつ追記していきます。

続きを読む

bioBakeryのインストール

はじめに

こちらのマニュアルを参考に進めていきます。

必要なソフトのインストール

1. VirtualBox

VirtualBoxをインストールします。リンク先から.pkgファイルをダウンロードしてダブルクリックします。VirtualBoxは無料の仮想化ソフトです。自分の中にまた別のOS環境を構築することができます。

2. Vagrant

Vagrantをインストールします。これもリンク先から.pkgファイル -> ダブルクリックでOKです。Vagrantに関してはまったく知りませんでしたのでQiitaから引用します。難しいのですが便利そうなのはよくわかりました。 qiita.com

これはなに?

仮想マシン(以下 "VM")を動かす仮想化ソフトの超すごいラッパーツール。 VirtualBoxなどの仮想化ソフトの操作を、ものすごく親切に代行してくれます。 VMの構成を Vagrantfile というテキストに記述してVagrantに任せることで、ネットワークドライバの設定などを意識すること無く、ホスト環境に依存しない形で整備してもらえます。

なにに使う?

ゲストOSがインストールされたVMを整備するのに使います。 Vagrant Cloud にあらかじめ用意されている「box」というVMイメージを指定してコマンドを実行するだけで、OSインストール済みのVMを作成し、ネットワーク設定やSSH環境の整備までやってくれます。 また、VMの構成内容を Vagrantfile というテキストファイルとしてコード化できます。

具体的に何がどう楽になる?

VMの構成を Vagrantfile に記述して vagrant up コマンドを実行するだけで、すぐに完全な環境を整備できます。 VirtualBoxVMを作って、GuestAdditionsを入れて、ゲストOSをダウンロード&インストールして、sshdを立てて、SSHでログインして、ミドルウェアを入れて…といった大変な作業がバッサリカットできます。

bioBakeryをダウンロードして開く

コチラからダウンロードします。.tar.gzファイルを開くとフォルダの中にMacOSの場合は"start_biobakery.command"というファイルがありますので、これをterminalから開きます。するとインストールが始まりますが、かなり時間がかかるので心して行って下さい。6GBくらいの容量の余裕があった方がいいと思われます。

日本のダブルスペース、海外のダブルスペース

はじめに

Facebookでとある先生が「日本のダブルスペースの設定と海外のダブルスペースの設定が違うことを知らない人が多い」という旨の投稿をしたのが友人経由で流れてきました。正直、寝耳に水でした。

これはと思い、一流誌に載った論文を多数持つラボのボスにも確認したところ、予想に反して「何それ?でも気にしたことないよ」とのこと。そうなんです。結局、論文で「枚数制限」がかかることはあまりなく、どちらかというと「字数制限」なのでほとんどは体裁が違ってもスルーされているようです。

ただ、今とあるcase reportを書いているのですが、投稿しようとしている雑誌がCase reportに限っては「ダブルスペースで8枚まで」という制限が付いていたのです。ダブルスペースの設定が違うのならば、1枚に収まる行数が異なり、書ける量が大幅に違ってきます。というわけで、いろいろと調べてみて自分なりの答えを出したので、記事にしておきます。正しいかどうかは確証はありませんが…。

いろいろ調べてみた

ダブルスペースに関する記事が意外と少ないのですが、ダブルスペースの定義とは、どうやらタイプライター用語で「1行の文章に2行分の場所 ( スペース ) を確保すること」のようです。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q112731516 detail.chiebukuro.yahoo.co.jp

Microsoft Wordでは、このダブルスペースの書式に文書を変更するには「Ctrl+2」のショートカットを使うだけで可能という記事が見つかります。

www.lifehacker.jp

しかしこのダブルスペースの設定が間違っていて、日本独自の「ダブルスペース」の設定のようです。論文は基本的にはTimes New Roman 12ptで書くので「Ctrl+2」を押すと17行分の文章を書けることになります。初めてこの書式を見た時、いやースカスカだな?と思ったらこんな記事を見つけました。

detail.chiebukuro.yahoo.co.jp

引用すると

基本的に[ グリッド線 ]に合わせる設定は東アジア系の特徴であり、アメリカ版のような基本的仕様しかない場合には、このような設定はありません

と記載されております。

ではどうすれば、正しいダブルスペースの設定になるのか?

detail.chiebukuro.yahoo.co.jp

こちらの記事と上司からのコメントを参考にまとめてみました。

  • 用紙サイズはレターサイズに:A4やB5は日本独自の規格で、海外ではletterが標準
  • フォントはTimes New Romanの12pt
  • Ctrl+Aで全文を選択→形式→段落→行間を「固定値」「24pt」

に設定すると、1枚に25行分の文章が書ける「正しいダブルスペース」の書式になると思います。この設定にしないといけないわけではなく、多少行間が広くても何か言われることはないとは思いますが、原稿に枚数制限があるときなどはきちんと設定しないといろいろと面倒なことになりそうです。お役に立てれば。

JMPファイルを何とかRに取り込もうとする…も撃沈する

0. はじめに

少し前から大学病院でJMP ( ジャンプ ) という統計ソフトの包括ライセンス契約を結んでいるらしく、JMPを使って解析をしたという話をよく聞くようになった。どうやら初学者にも使いやすくて好評らしい。聞いたことなかったので、なんだその怪しいソフトは、と内心バカにしていたのだが ( スミマセン ) どうやら泣く子も黙るSASの別バージョン ( ? ) らしい。

先日、共同研究先の先生から、jmpファイルで被験者情報のファイルをいただいたのだが、手元にRしか存在しないため上手く読み込めなくて悪戦苦闘してしまった。Excelに変換してもらう、というオチになってしまったが、その奮闘記を何かの役に立てればと思い書いてみる。

1. なぜExcelに変換してはいけないのか?

誰もが思うExcelにexportしてもらえばいいじゃん、ということ。当然僕も思いましたし、最終的にここに落ち着いてしまいましたが、

  • カテゴリー変数のラベル情報が消去されてしまう

という致命的な問題があるようです。

2. JMPファイルをRで読み込むのは難しい

ネットで.jmpからRに取り込む手段を検索するもなかなかヒットしない。

JMP®による解析アプリケーションの開発

どうやらRとJMPを同じマシンにインストールしておけばいろいろと連携させることができるようです。しかしそんなことがしたいわけではない。困ったのでFacebookのRのグループのメンバーにお伺いを立ててみた。すると、JMPでSASのファイルに変換すれば上手く読み込めるという情報をいただいた。コチラにも同様の情報がある。その名も、SAS移送ファイルで拡張子は.xpt。

3. .sas7bdat

3-1. {sas7bdat}を試してみる

というわけで、.xptに変換してもらうように先方に依頼したところ、.sas7bdatという形式で送られてきた。明らかにこれもSASのファイルなので、Rで開けるだろうと判断していろいろと調べてみるとRのPackage ‘sas7bdat’で開けることがわかった。

install.packages("sas7bdat")
library("sas7bdat")
Data <- read.sas7bdat("export.sas7bdat",debug=FALSE)

と入力すると

Error in read.sas7bdat("export.sas7bdat", debug = FALSE) : 
  magic number mismatch please report bugs to maintainer

と返ってくる。エラーメッセージをgoogleにかけても有効な情報は得られない。辿り着いたコチラのサイトによると、どうやら原因は2つあるようだ。

SAS側でのデータ作成について
ASデータセットを作るときに圧縮をかけるのが通常なのですが、
Rに取り込むときに圧縮をかけていると、
読み込みがエラーになるので注意が必要です。

SASにて、データを取り込むときに「compress = no」とオプションをつける!

データの確認 日本語の変数要素が入っている場合は 文字化けしている可能性があります。

先方にデータを圧縮したか尋ねたが明瞭な回答は得られず。日本語はそもそも入っているようで、英語にすべて変換するのは厳しいとのこと。というわけで{sas7bdat}を使うのは諦めた。

3-2. {haven}を試してみる

次にたどり着いたのは、Package ‘haven’。これも試してみると

install.packages("haven")
library(haven)
read_sas("export.sas7bdat")

すると

read_sas("export.sas7bdat")
Error: Failed to parse export.sas7bdat: Invalid file, or file has unsupported features.

と怒られた。するとhavenの最新バージョンならイケるという情報をゲットしたので試してみる。Githubからダウンロードするらしい。

devtools::install_github("hadley/haven")
library(haven)
read_sas("export.sas7bdat")

インストールに時間がかかり、これはイケるかも?と期待されたが

read_sas("export.sas7bdat")
Error: Failed to parse export.sas7bdat: Invalid file, or file has unsupported features.

とあえなく撃沈。

3-3. sas7bdat.parso

今度はコチラのサイトを見つけました。ここで紹介されているsas7pdat.parsoという物を使えば、compressされたSASファイルも扱えそう。というわけでやってみました。

install.packages(c("rJava", "devtools"))
devtools::install_github("BioStatMatt/sas7bdat.parso")
library(sas7bdat.parso)
read.sas7bdat.parso("export.sas7bdat")

とすると今度は

Error in .jnew("s7b2csvclass") : 
  java.lang.UnsupportedClassVersionError: s7b2csvclass : Unsupported major.minor version 51.0

という新しいエラーメッセージが。割りとメジャーなものでどうやらJAVAの設定の問題の様子。Githubの皆様は、みんな困っていたようですが、解決策が出ず。他にもいろいろとgoogleでヒットするのですが、僕の理解の範疇を超えてしまっています。コチラを参考に.bash_profileをいじったりしましたが、結局解決せず。この問題さえ解決できれば、クリアできそうだったのに…残念です。

3. .xpt

というわけで、.sas7bdatのインポートは諦めて、改めて.xptで送ってもらうように頼みました。.xptであれば割りと有名なpackage ‘foreign’でインポートできるようです。

install.packages("foreign")
library("foreign")
mydata <- read.xport("export.xpt")

とすると、ついに読み込めました!感極まりましたが、結局、

head(mydata)[,1:6]

とデータを確認すると

> head(mydata)[,1:6]
  X_R______ X____ X___A X________ X_E______ X_E_____R
1      C001     2     1         1         0        NA
2      C002     1     1         2         0        NA
3      C003     1     1         3         0        NA
4      C004     1     1         4         0        NA
5      C005    NA     1         5        -1        NA
6      C006     1     1         6         0        NA

となり、日本語で書かれた列名が文字化けし、ラベルの項目は結局削除されてしまっていましたとさ。
というわけで、長くなりましたが、結局はExcelに単純に変換してもらったファイルを何とかラベルを類推して解析しました。恐らくsas7bdat.parsoでJAVAの問題さえ解決できればなんとかなったんじゃないかと思われます。
どなたか、詳しい方、教えていただけると幸いです。

コホート内ケースコントロール研究: 2. コントロール群の抽出法

0. はじめに

さて、この記事ではRとパッケージ"Epi"を用いて、コホート内ケースコントロール研究の被験者を実際に抽出していきたいと思います。データ・セットはRパッケージ{Epi}の中の"diet"を使用していきます。

コホート内ケースコントロール研究についてはコチラにまとめてあります。 www.pediatricsurgery.site

続きを読む

コホート内ケースコントロール研究: 1. コホート内ケースコントロール研究とは?

0. はじめに

現在、私が関わっているプロジェクトでコホート内ケースコントロール研究を行うことになりました。というのも、腸内細菌叢や糞便中代謝物を測定するのには非常にお金がかかるので、集めた全検体を調べると大変なことになります。ですので、前向きコホート研究で集めた検体や被験者の中から、一部を抽出して解析する方法です。その概要と実際の被験者の抽出方法をまとめたので書いていきたいと思います。

Rでの実行はこちらの記事を参照してみてください。 pediatricsurgery.hatenadiary.jp

続きを読む

予測メタゲノム解析: HUMAnNをインストールするためのあれこれ

はじめに

f:id:Razumall:20180708130659p:plain

HUMAnNとは、The HMP Unified Metabolic Analysis Networkの略で、メタゲノムデータを使って腸内細菌叢がどの代謝経路を有していて、またその遺伝子をどれくらい持っているのか?ということを明らかにするためのパイプラインです。16SrRNAアンプリコンシーケンシングではできない、腸内細菌の機能の比較にまで踏み込んでいけます。

通常はメタゲノムデータ、つまり糞便中の全細菌の全DNAの配列を全て読んだ膨大なシーケンスデータを使って解析をしますが、PICRUStを用いれば、16S rRNA解析の結果をゲノムデータベースにマッチングさせて遺伝子を予測することができます。

続きを読む

Gasteroenterology: γδ-T 細胞から産生されるIL-17と胆道閉鎖症

Interleukin-17, Produced by γδ-T Cells, Contributes to Hepatic Inflammation in a Mouse Model of Biliary Atresiaand is Increased in Livers of Patients.

www.ncbi.nlm.nih.gov

続きを読む