2020年8月31日月曜日

データが無い期間

午前
・標本整理

午後
・修論手伝い(データ解析)
・学会業務

修論のデータ解析。データが無い期間を0個として表現する方法でつまづいた、、、未だに、つまづいている。

これといった用事はなかったのに、午後は時折届くメールへの対応でバタバタした。

2020年8月28日金曜日

お返しします

午前
・データ解析

午後
・データ解析

消耗品が切れてしまったので、一日中データ解析。数ヶ月待たせてしまったが、共同研究者にやっとdraft reportができた。

ここ数日苦戦したのが、haplotype networkの描画。結局、解決はしていないけど。

library(pegas) を使った方法だと、プロットのサイズの制御ができなかった。1枚だけなら良いのだが、今回は6つのサブグループがあり、グループ間でサイズの統一ができず断念。

library(haplotypes) では、プロットの配置の際に、シミュレーション?が行われているようで、出力するたびに微妙に配置が異なる。

完全な制御はできていないが、
coo1 <- plot(p, net=1, mode="fruchtermanreingold",,,,)
plot(p, net=1, coord=coo1, label.pos=5,,,,)
とすると、大きくズレることはない気がする?気のせいかも。

とはいえ、どうにかこうにか、haplotipe network図を作成し、
系統樹を作成し、
地図に投影できた。ゴチャゴチャ、、、でも、しばらくは考えたくない。一旦、お返しします。

2020年8月27日木曜日

どハマり

午前
・データ解析
・統計ゼミ

午後
・個人ゼミ
・データ解析

昨日で解決したと思ったHaplotype netwokの描画で、どハマり中、、、。

2020年8月26日水曜日

ハプロタイプ;シーケンス名変更;「.fasta」を出力

午前
・標本整理

午後
・授業準備
・データ解析

かなり苦戦したが、どうにかできるようになった。

library(haplotypes)を用いてハプロタイプごとにシーケンスをまとめ、さらに、シーケンス名を変更したのち、「.fasta」を出力する方法。
#library(haplotypes) #「::」で指定する
#library(ape) #「::」で指定する
x <- haplotypes::read.fas("???.fasta")
h <- haplotypes::haplotype(x) #to class"haplotype"
#h@nhap #ハプロタイプ数の確認
h_dna <- haplotypes::as.dna(h) #to class"DNA"
names(h_dna) <- c(1:34) #シーケンス名の変更;class"DNA"で使う
h_dnabin <- haplotypes::as.DNAbin(h_dna) #to class"DNAbin"
ape::write.dna(h_dnabin, file = 'test.fasta', format = 'fasta')
library()は使わず、「::」で指定した方が良い?詳しく検証していないが、2つのlibraryで同じ関数名が使われている?

関数が「class」に依存するので、順番を間違えるとハマる。「class:haplotype」→「class:DNA」→「class:DNAbin」で「ape::write.dna」が実行できる。

また、「names()」は「class:DNA」で使う。

2020年8月25日火曜日

packages"haplotypes"

午前
・標本整理

午後
・データ解析
・手伝い
・会議

変異が大きいため、pegas::haplotype、pages::haploNetを使った方法では、ハプロタイプネットワークがうまく描けなかった。
replot()を使って、頑張ればどうにかなりそうだけど、あまり現実できではない。

で、昨夜、packages"haplotypes"というのを見つけた。

ハプロタイプネットワークの老舗ソフトTCSでも利用されている最節約法によるサブネットワーク化?を計算することができる。pagesでもできるかも?
install.packages("haplotypes")
library(haplotypes)
#マニュアルでは「.fas」となっているが、うまくいかなかった。
x <- read.fas("***.fasta")
h <- haplotypes::haplotype(x)
p <- parsimnet(x, prob=.95)
rownames(p@d[[1]])<-c(1:8)
plot(p,
   net=1, #network番号の指定
   label.pos=5,
   vertex.cex=c(rep(5, p@nhap[[1]]), #円の大きさの指定
		rep(1, c(nrow(p@d[[1]])-p@nhap[[1]]))),
   vertex.col=c(rep("magenta", p@nhap[[1]]), #の色の指定
   		rep("deepskyblue3", c(nrow(p@d[[1]])-p@nhap[[1]]))))
パッケージのマニュアルでは、「p@nhap」となっているが、「p@nhap[[1]]」と「[[1]]」の指定が必要。この数字はネットワーク番号に合わせて変更する。

例えば、2つ目のネットワークの緑色で出力する場合は下記となる。
rownames(p@d[[2]])<-c(7:11)
plot(p,
   net=2,
   label.pos=5,
   vertex.cex=c(rep(5, p@nhap[[2]]),
		rep(1, c(nrow(p@d[[2]])-p@nhap[[2]]))),
   vertex.col=c(rep("green", p@nhap[[2]]),
   		rep("deepskyblue3", c(nrow(p@d[[2]])-p@nhap[[2]]))))

2020年8月24日月曜日

ハプロタイプネットワーク

午前
・標本整理

午後
・資料作成
・授業準備

頼まれていた解析を再開。Rではハプロタイプネットワーク作成。うまく制御できず、、、。変異が大きす過ぎきなのか、と考えが至ったところで終了。

2020年8月21日金曜日

PCR primer用のサイト

午前
・授業準備
・面談

午後
・個人ゼミ
・資料作成
・授業準備

資料作成がストレスがたまる作業で、爆発しそうだった。

先日、マウスが壊れたが、やっと新しいのが届いた。ここ数日は、使いにくいマウスで、これまたストレスの溜まる日々だった。


先日、海外の共同研究者からワラジムシ類のPCR primerについて問い合わせがあった。以前から、作ってみようと思っていたPCR primer用のサイトを作成してみた

あとは、データを入力するだけ、入力するだけ、、、

2020年8月20日木曜日

野外調査

午前
・修論手伝い(野外調査)

午後
・統計ゼミ
・授業準備

統計ゼミでは、Rで地図作成の勉強。しかし、学生(win)のrJavaインストールでハマった。

1時間ほどネット検索を続けて、jdk-7u80-windows-x64.exe、をインストールしたら治った、という情報を得たので試したら無事に成功。

昨日、鳥取砂丘で男性が亡くなったそうだ。熱中症の可能性が高いとのこと。

午前中は、その鳥取砂丘近くの海岸で、先日、設置したpit fallの回収。2時間ほどウロウロしたが、汗がどんどん出て行く。冬だけでなく、夏も野外調査は避けないとダメかな。

最終回の授業の準備が終わらない。

2020年8月19日水曜日

当然ながら

午前
・標本整理

午後
・会議
・授業準備

授業はあと1回!

これが終われば、、、

しかし、古い標本の再整理すら終わらない。当然ながら、新しく採集した標本は瓶別けすらできずに放置されている。

2020年8月18日火曜日

積み上げ折れ線グラフ

午前
・修論手伝い(データ解析検討)
・個人ゼミ

午後
・文献経理
・授業準備

学生に、「そのうち教えるからデータ入力だけしておいて」と言って、ほったらかしにしていたRによるグラフ作成。

積み上げ折れ線グラフと、地図作成方法について、教え方を検討した。実際に教えるのは後日。

データは、いわゆるスタック形式(縦長データ)

本研究室では日付を8桁の数値(本日は20200818となる)で記録しているので、このままグラフにすると、20200831〜20200901までの70がデータがない余白になる。

ハマり①:8桁の数値を日付データに変換する。as.Data()を使うことが判明するまで、結構な時間を要した。

#データをdata_popuとして読み込んだ
#数字ではas.Dateできないため文字に変換
data_popu$date_sum <- as.character(data_popu$date_sum)
#日付に変換
data_popu$date_sum <- as.Date(data_popu$date_sum, "%Y%m%d")

スタック形式は1行1個体を意味しているので、採集日ごとの個体数を数える。採集日(date_sum)ごとの行の数を数えれば良い。行の数はlength()で数えることができる。

ハマり②:以前は、こんな時はtapply()を使っていたが、ネットを参考にaggregate()を使ったら少しハマった。

data_day <- aggregate(data_popu, by=list(data_popu$date_sum), length)
plot(data_day$date~data_day$Group.1, type="b")

8桁の数値が日付として認識されたので(2020-08-18となっている)、無駄な余白がなくなった。

続いて、種ごとの積み上げ折れ線を作りたい。そのためには、採集日ごとの種ごとの個体数データが必要。

ハマり③:reshape2が良く分かっていない。ネットで調べたママ使った。

採集日ごとの種ごとの個体数(行数)を整理する。ただし、アスンタック形式(横広データ)。

library(dplyr) #group_by()、summarize()、select()に必要
library(reshape2) #dcast()、melt()に必要
library(ggplot2)
#採集日(date_sum)ごとの種(spe)ごとに行数(個体数)をまとめる。
frog <- dcast(data_popu, date_sum~spe, fun.aggregate=length)
frog

下記で使えるように縦長にする。

frog_tsumi <- melt(frog, id.vars = "date_sum")
frog_tsumi

ggplot2で作図する。

ハマり④:そもそもggplot2に慣れていないのだが、日付のxlimは「as.Date(""),as.Date("")」で指定することに悩んだ。

tsumiage <- ggplot(data = frog_tsumi)
	+ geom_area(
    	mapping= aes( x = date_sum , y = value , fill = variable))
        + xlim(as.Date("2017-01-01"), as.Date("2017-12-31"))
plot(tsumiage)

参考したサイト

【R】8桁の数字を日付に変換

積み上げ折れ線グラフをggplot2で描く

2020年8月17日月曜日

インクルード

午前
・修論手伝い(野外調査)

午後
・授業課題採点

猛暑の中、砂丘での作業は大変だった。

お盆休暇の成果。

SQLiteからPHPで表を作ることができるようになった。このおかげで、これまでほぼ手作業で作成していた、青色ダンゴムシ・ワラジムシの整理が楽になった。

結構見やすくなったかと。Javascriptを使ったセルの結合とか、色々と勉強になった。

もう一つ勉強したことが、インクルード、という技術。

現在、日本産ワラジムシ類の種を整理しているが、ここで苦労していたのが、過去の学名を扱った文献を整理するシノニムリストの作成。

例えば、Porcellio sundaicusはのちに、Mongoloniscus vannamei、に変更となった。

この2種に同じシノニムリストを掲載したいのだが、そのために文献を見つけるたびに両種のデータを変更しなければならず、良い方法を考えていた。

実は、この種に絡む学名は少なくとも6つはあるので、いずれかの学名が掲載されている文献を見つけるたびに、全て学名のデータを変更しなければならず、さすがに面倒で悩んでいた。

そこで、学んだのがインクルードという技術で、1つのhtmlファイルを共有して表示することができる。下記2種のシノニムリストは同じファイルを共有している。

Porcellio sundaicus
Mongoloniscus vannamei

2020年8月7日金曜日

コウモリ

午前
・標本整理

午後
・研究相談
・学会業務

珍しい場所で採集したマダニをもらった。私には同定できなかったが、コウモリマダニという珍しい種であることが分かった。


2020年8月6日木曜日

ばかり

午前
・学会関連業務
・統計ゼミ

午後
・標本整理

これまた放置していた共同研究者に送る標本の整理。瓶別け作業が終わった。放置ばかり、、、。

整理の途中、気になった標本を発見し、その解剖にかなりの時間を費やしたのが良くなかった。

2020年8月5日水曜日

綺麗

午前
・シーケンス準備
・会議

午後
・卒論指導(解析)
・資料作成
・卒論指導(研究計画)

2プレート分をシーケンスへ。綺麗に読めると良いけど。

標本整理をする時間がとれない。

2020年8月4日火曜日

見学

午前
・調査見学

午後
・シーケンス準備
・課題採点

午前中は、新しく研究室に配属された学生と一緒に砂丘での昆虫調査を見学。

今年は課題をweb経由で提出されるため、目の前に提出物がたまらないので、放置気味だった。採点がしんどい。

親バカ青春白書のオープニング、アオイホノオと雰囲気が似ていた気が。何かへのオマージュなのか?

2020年8月3日月曜日

依頼

午前
・PCR実験

午後
・電気泳動
・授業準備

共同研究者に依頼されていた実験の1つ目が終わった。とある場所で採集されたワラジムシ類のボルバキア感染をPCRで調べるというもの。

送られてきたサンプル。半数程度で感染が確認された。


私が別の場所(3島)で採集した同種は感染が確認されない。


動物の方の遺伝的分化も調べている。ひとまず、違いが出てよかった。かなり待たせて、何も違いが無かったらどうしよう、と不安だった、、、。