京橋のバイオインフォマティシャンの日常

データ分析、コマンドライン、プログラミングについての技術資料・自己アップデート・悩み事などをまとめています。最近、ディープラーニング関連のR言語の資料をまとめるべく注力してます。

Wikipedia 英語記事「SARS-CoV-2 オミクロン変異体」の日本語訳 その1

この記事は、2021年12月5日現在のWikipedia 英語記事「SARS-CoV-2 Omicron variant」を日本語翻訳したものである。

この情報は英語ページにはありますが、まだ日本語ページは存在していません。結構しっかりした内容で発信するのに有用だと思いましたので、このwikipedia記事の日本語訳を作成することにしました。

コロナ関連の情報はすぐに古くなりますので、その都度、新しい情報を確認してください。

概要

オミクロン変異体(他の名称については、命名法を参照)は、COVID-19の原因ウイルスであるSARS-CoV-2の変異体である。2021年11月24日に南アフリカから世界保健機関(WHO)に初めて報告された*1

2021年11月26日、WHOはこれを懸念すべき変異体に指定し、ギリシャ語アルファベットの15番目の文字であるオミクロンにちなんで命名した*2*3

このオミクロン変異体には、かなり多くの変異があり、そのうちのいくつかは新規のものである*4*5。そのうちのかなりの数が、オミクロン変異体発見時にほとんどのCOVID-19ワクチンが標的としていたスパイクタンパクに影響を与えている。このようなレベルの変異により、その感染性、免疫系の回避、ワクチン耐性が懸念された。その結果、この変種はすぐに「懸念(of concern)」とされ、国際的な広がりを遅らせるために、いくつかの国で渡航制限が導入された。

f:id:skume:20211205230239p:plain:w400
SARS-CoV-2のオミクロン変異体とその他の主要変異体を遺伝子距離で放射状に拡大した樹形図(Nextstrain、2021年12月1日作成)

f:id:skume:20211205230351p:plain:w300
シリーズ「COVID-19」パンデミックについて

分類

命名法

11月26日、WHOのSARS-CoV-2ウイルス進化に関する技術諮問グループは、PANGO系統B.1.1.529を懸念すべき変種と宣言し、ギリシャ文字のオミクロンで指定した(1)(2)(3)。 WHOは、英語の「new」と中国の姓「Xi」の類似性との混同を避けるために、ギリシャ語アルファベットの先行する文字nuとxiをスキップした(2) (3) *6 *7。 世界保健機関は「懸念される変異体」にギリシャ文字の呼称を留保している(3) *8

英語圏の人々がギリシャ語のアルファベットに慣れていないためか、「Omnicron」と誤って発音されることもある*9*10*11*12

GISAIDプロジェクトでは、GR/484Aというクレード識別子が付けられ*13、Nextstrainプロジェクトでは21Kというクレード識別子が付けられている*14

変異

f:id:skume:20211205231418p:plain
ゲノム配列

この変種には多数の変異があり、そのうちのいくつかは科学者を悩ませている*15

オミクロン変異体は、オリジナルのウーハン・バリアント(the original Wuhan variant)と比較して、非同義的な変異が50個、同義的な変異が8個、非コードの変異が2個、合計60個の変異を持っている(5)。 32個の変異は、感染症によって生成される抗体や、広く投与されている多くのワクチンの主要な抗原標的であるスパイクタンパク質に影響を与えている。 これらの変異の多くは、他の菌株では観察されていませんでした*16*17。 このオミクロン変異体の特徴は、オリジナルのウイルスと比較してスパイクタンパクに30個のアミノ酸の変異、3つの小さな欠失、1つの小さな挿入があり、そのうち15個が受容体結合ドメイン(残基319-541)に位置している。 また、他のゲノム領域にも多くの変異や欠失が見られます。さらに、この変異体には、furin cleavage site(Sタンパク質のS1とS2の間に挿入されているPRRAというアミノ酸配列)に3つの変異がある*18。 furin cleavage siteは、SARS-CoV-2の感染力を高める*19

ゲノム領域別の変異は、以下の通りである*20(15)。

  • スパイクタンパク

    • A67V, Δ69-70, T95I, G142D, Δ143-145, Δ211, L212I, ins214EPE, G339D, S371L, S373P, S375F, K417N, N440K, G446S, S477N, T478K, E484A, Q493R, G496S, Q498R, N501Y, Y505H, T547K, D614G, H655Y, N679K, P681H, N764K, D796Y, N856K, Q954H, N969K, L981F
    • この30個の変異のうち、半分の15個は、受容体結合ドメイン-RBD(残基319-541)にある。
  • ORF1ab

    • nsp3: K38R, V1069I, Δ1265, L1266I, A1892T
    • nsp4: T492I
    • nsp5: P132H
    • nsp6: Δ105-107, A189V
    • nsp12: P323L
    • nsp14: I42V
  • エンベロープタンパク質: T9I

  • 膜タンパク質: D3G, Q19E, A63T

  • ヌクレオカプシッドタンパク質: P13L, Δ31-33, R203K, G204R

f:id:skume:20211205232512p:plain
スパイクタンパク質におけるオミクロン変異の位置を示す図。上面図(左図)と側面図(右図)で、アミノ酸の置換(黄)、欠失(赤)、挿入(緑)を示している。この三量体構造では、2つのモノマー(灰色と水色)の受容体結合ドメインが「ダウン」コンフォメーションであるのに対し、1つのモノマー(濃紺)は「アップ」または「オープン」コンフォメーションである。変異データはWHOより、タンパク質構造はPDBより:6VYB

風邪の原因となるコロナウイルス(HCOV-229E)とヒト免疫不全ウイルス(HIV)の両方にその遺伝子配列が存在することが知られているため、少なくとも1つの新たな変異がコロナウイルスから獲得された可能性がある。また、南アフリカはHIVの感染率が世界で最も高く、同時感染の可能性が高いとされている*21

想定される影響

WHOは、多数の突然変異により、過去に感染した人やワクチン接種を受けた人の免疫力が低下することを懸念している。また、この点については、オミクロン変異体が以前の変異体よりも感染力が強くなっている可能性がある。変異の影響があったとしても、2021年11月下旬の時点では不明である。WHOは、特に死亡率や罹患率がはるかに高くなりそうなワクチン接種率の低い国では、医療サービスが圧迫される可能性があると警告し、すべての国にCOVID-19のワクチン接種を増やすよう求めている*22

カーディフ大学の免疫学者であるポール・モーガン教授(Professor Paul Morgan, immunologist at Cardiff University)は、ワクチン接種を推奨している。モーガン教授は、「完全に(免疫が)失われるのではなく、鈍化する可能性が最も高いと考えている。ウィルスは、その表面にあるすべてのエピトープを失うことはありえません。ですから、以前のバージョンのウイルスやワクチンに対して作られた抗体やT細胞クローンの中には、効果がないものもあるかもしれませんが、効果が残っているものもあるでしょう。(免疫反応の半分、あるいは3分の2、あるいはそれ以上が有効ではなく、残りの半分が残っているのであれば、それをより高めれば高めるほどよいのです」*23

ユニバーシティ・カレッジ・ロンドン遺伝学研究所のフランソワ・バルー教授(Professor Francois Balloux of the Genetics Institute at University College London)は、「これまでに分かったことは、他の変異型と比較して、オミクロン変異体は、過去に感染してCovid-19からの保護を受けたことのある人に再感染しやすい傾向があるということです。これは、オミクロン変異体のタンパク質構造に見られる突然変異から予想されていたことで、非常に明確です。これらの変異により、抗体がウイルスを中和することがより困難になります」*24

(その2に続く)

*1:"Classification of Omicron (B.1.1.529): SARS-CoV-2 Variant of Concern". World Health Organization. 26 November 2021. Archived from the original on 26 November 2021. Retrieved 26 November 2021.

*2:Parekh, Marcus; Platt, Poppie; Team, Global Health Security; Barnes, Joe (26 November 2021). "Coronavirus latest news: EU suspends all flights to southern Africa over omicron Covid variant fears". The Telegraph. ISSN 0307-1235. Archived from the original on 26 November 2021. Retrieved 26 November 2021.

*3:Meyer, David (26 November 2021). "What's Omicron? Here's what we know and don't know about the new COVID variant that's roiling markets and air travel". Fortune. Archived from the original on 26 November 2021. Retrieved 26 November 2021.

*4:Torjesen, Ingrid (29 November 2021). "Covid-19: Omicron may be more transmissible than other variants and partly resistant to existing vaccines, scientists fear". BMJ. 375: n2943. doi:10.1136/bmj.n2943. ISSN 1756-1833. PMID 34845008. S2CID 244715303.

*5:William A. Haseltine (2 December 2021). "Omicron Origins". Forbes. Archived from the original on 3 December 2021. Retrieved 4 December 2021.

*6:Patel, Vimal How Omicron, the New Covid-19 Variant, Got Its Name. The New York Times. ISSN 0362-4331. Archived from the original on 28 November 2021. Retrieved 28 November 2021.

*7:There are several COVID-19 variants you haven't heard of. NewsNation Now. 27 November 2021. Archived from the original on 27 November 2021. Retrieved 27 November 2021.

*8:"Countries are scrambling to stop a new covid variant". The Economist. 26 November 2021. Archived from the original on 26 November 2021. Retrieved 26 November 2021.

*9:Falcon, Russell (29 November 2021). "It's 'omicron,' not 'omnicron': COVID variant's spelling doesn't have two Ns". KXAN. Retrieved 1 December 2021.

*10:Brandt, Joe (30 November 2021). "Omicron or Omnicron? How To Pronounce the Latest COVID-19 Variant". NBC Lx. Retrieved 1 December 2021.

*11:Heaney, Katie (1 December 2021). "What We Know About the Omicron Variant So Far". The Cut. Retrieved 1 December 2021.

*12:"What Do You Need To Know About Omicron? Biden Says Be Concerned But Don't Panic". NPR. 29 November 2021. Retrieved 1 December 2021.

*13:"In focus". gisaid.org. GISAID. 28 November 2021. Archived from the original on 21 January 2021. Retrieved 28 November 2021. The unique mix of spike amino acid changes in Omicron GR/484A (B.1.1.529) is of interest as it comprises several that were previously known to affect receptor binding and antibody escape.

*14:"Variant: 21K (Omicron)". covariants.org. CoVariants. 28 November 2021. Archived from the original on 28 November 2021. Retrieved 28 November 2021. Variant 21K (Omicron) appears to have arisen in November 2021, possibly in South Africa.

*15:Hurst, Luke. What we know so far about the B.1.1.529 Omicron COVID variant causing concern. Euronews. Archived from the original on 26 November 2021. Retrieved 26 November 2021.

*16:Cookson, Clive; Barnes, Oliver (26 November 2021). "What we know about Omicron variant that has sparked global alarm". Financial Times. Archived from the original on 26 November 2021. Retrieved 26 November 2021.

*17:Callaway, Ewen (25 November 2021). "Heavily mutated coronavirus variant puts scientists on alert". Nature. 600 (7887): 21.

*18:Zimmer, Carl (26 November 2021). "New Virus Variant Stokes Concern but Vaccines Still Likely to Work". New York Times. Archived from the original on 26 November 2021. Retrieved 26 November 2021.

*19:Zhang, Liping; Mann, Matthew; Zulfeqhar, Syed; Reynolds, Hayley; Tian, E; Samara, Nadine; Zeldin, Darryl; Tabak, Lawrence (23 November 2021). "Furin cleavage of the SARS-CoV-2 spike is modulated by O-glycosylation". Proceedings of the National Academy of Sciences of the United States of America. 118 (47): e2109905118.

*20:SARS-CoV-2 variants of concern and variants under investigation in England, technical briefing 29 (PDF) (Briefing). Public Health England. 26 November 2021. GOV-10481. Archived (PDF) from the original on 26 November 2021. Retrieved 26 November 2021.

*21:Lapid, Nancy (3 December 2021). "Nancy Lapid". Reuters. Archived from the original on 3 December 2021. Retrieved 4 December 2021.

*22:Gregory, Andrew (29 November 2021). "Omicron Covid variant poses very high global risk, says WHO". The Guardian. London. Retrieved 29 November 2021.

*23:Geddes, Linda (29 November 2021). "What does appearance of Omicron variant mean for the double-vaccinated?". The Guardian. London. Retrieved 29 November 2021.

*24:Omicron: what do we know about the new Covid variant? The Guardian

MacOSXでの「R CMD check --as-cran」実行時のエラー対応について

R CMD check --as-cranは、 R/CRANパッケージ作成時に実行するチェックコマンドの1つである。

久々に、checkコマンドを叩くと見慣れないエラーが連発したので、 その際の対応をメモ程度に残しておくことにする。

Error in texi2dvi への対応

以下のようなエラーが出た場合には、

* checking PDF version of manual ... WARNING
LaTeX errors when creating PDF version.
This typically indicates Rd problems.
* checking PDF version of manual without hyperrefs or index ... ERROR
Re-running with no redirection of stdout/stderr.
Hmm ... looks like a package
Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet,  : 
  pdflatex is not available
Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet,  : 
  pdflatex is not available
You may want to clean up by 'rm -Rf /var/folders/vz/hq44m17x5jvdzg6n6nbfb8380000gn/T//RtmpwyHygN/Rd2pdf5641462210a4'
Error in running tools::texi2pdf()

その解決法として、 pdf2htmlexなどをHomebrewでインストールした。

#インストール実行
brew install pdf2htmlex
brew install texinfo
brew install basictex
exit

インストールが完了したら、一度、exitでターミナルを閉じる。

LaTeX errors when creating PDF version. への対応

以下のようなエラーが出た場合には、

* checking PDF version of manual ... WARNING
LaTeX errors when creating PDF version.
This typically indicates Rd problems.
LaTeX errors found:
! LaTeX Error: File 'inconsolata.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

! Emergency stop.
<read *> 
         
l.287 ^^M
         
!  ==> Fatal error occurred, no output PDF file produced!
* checking PDF version of manual without hyperrefs or index ... ERROR
* checking for non-standard things in the check directory ... NOTE

その解決法として、 tlmgrのアップデートとか、pandocとかをインストールする。

#tlmgrのパス確認
which tlmgr
#/Library/TeX/texbin/tlmgr

#インストール実行
sudo tlmgr update --self
sudo tlmgr update --all
sudo tlmgr install titling framed inconsolata
sudo tlmgr install collection-fontsrecommended
brew install pandoc

実際、ワークショップ資料の作成時に、 これらのエラーは、結構面倒な問題であった。

参考

stackoverflow.com

Rscriptをバックグラウンド実行するときに知っておくべきこと

Macターミナルから Rコマンドを実行する最も便利な方法は、 Rscriptコマンドを使用することである。

Rscriptコマンドは、#!スクリプト*1や、 その他のスクリプトアプリケーションで使用するための代替フロントエンドである。

つまりは、Macのターミナル上からでも、Rコードを実行できるコマンドである。

今回、少し変則的に、Rscriptのバックグラウンド実行のやり方を紹介する。

Rコードのバックグラウンド実行

以下のようなRスクリプトが書かれた、 test.R ファイルがあったとする。

中身は、ベクトルaの計算を3秒スリープしながら、 実行して結果をprintとかで出力するコードである。

a <- c(1, 2, 3, 4, 5)

Sys.sleep(3)
print(mean(a))

Sys.sleep(3)
print(sd(a))

Sys.sleep(3)
message(paste0(mean(a), "±", round(sd(a), 3)))

さっそく、ターミナルを起動して、 これをRscriptコマンドで実行してみる。

#ターミナル起動・ディレクトリ移動

#実行
Rscript test.R

#[1] 3
#[1] 1.581139
#3±1.581

10秒くらい経つと、3行の結果が出力される。

次に、この実行コマンドをバックグラウンド実行する場合には、nohup&を使用する。

nohupは先頭につけて、&は実行コマンドの最後につける。

#バックグラウンド実行
nohup Rscript test.R &

#[1] 39058
#appending output to nohup.out

そして、nohup&を付けると、結果が出力されなくなる。

デフォルトだと、nohup.outに実行ログが出力される。

catコマンドでログを見てみると、確かに出力されている。

cat nohup.out

#[1] 3
#[1] 1.581139
#3±1.581
#[1]+  Done                    nohup Rscript test.R

実際、nohup&の組み合わせは、 Rscriptコマンドに限らず、使用できる。 他の実行コマンドでも試して欲しい。

また、よくあるトラブルとして、 sshでリモート接続しているときに、 sshログアウト時に送られるHUPシグナルによって、 実行中のコマンドが停止されることがある。 それを防ぐ場合にも、nohupコマンドを使うと良い。

*1:シェル(sh)とか

R環境でのパッケージのversion管理の諸事

パッケージを不意にアップデートしたばかりに、 解析ワークフローが動かなくなったりする。。

Rで特定のバージョン*1のパッケージを 管理するには、やはりCRANのソースファイルからインストールするしかないのか。。。

R環境だけでなく、パッケージのバージョン管理は、結構悩ましい問題である。

そんなことを考えていたら、remotesパッケージを使えば、 「特定のバージョンのパッケージをインストールできる」ということを知り、早速試してみた。

まずは、remotesパッケージのインストール

install.packages("remotes")
library(remotes)

kerasのバージョン管理で試してみた

まず、CRANから普通に、Kerasをインストールする。

現在のバージョンは、‘2.7.0’である*2

#インストール
install.packages("keras")

#バージョン確認
packageVersion("keras")
#[1] ‘2.7.0’

ここで、remotesパッケージのinstall_version関数を使って、 バージョン2.3.0をインストールしてみる。

#インストール
remotes::install_version("keras", version="2.3.0")

#バージョン確認
packageVersion("keras")
#[1] ‘2.3.0.0’

おおー!!、無事に、kerasパッケージのダウングレードができた。

このinstall_version関数では、指定されたパッケージのバージョンを見つけるために、 複数のパッケージリポジトリと、そのアーカイブディレクトリを検索しているとのことである。

これで、1つ諸事が減りそうである。

*1:だいたい、古いバージョンを想定している

*2:2021年11月24日、現在

CentOS7に、R-4.1.0をソースからコンパイルするTips

最近、CentOS7に、R-4.1.0をインストールしたので、その際のメモを残しておく。

まずは、古いバージョンのRを消す

#とりあえず、yumで削除する
sudo yum remove R
#あと、sudo rmも使って、不要なバージョンを削除する、、

#Rパスを確認する
which R

#/usr/bin/which: no R in (/usr/lib64/qt-3.3/bin:/home/rch/perl5/bin:/usr/local/bin:/usr/bin:/
#usr/local/sbin:/usr/sbin:/usr/local/cuda-9.0/bin:/usr/local/cuda-9.0/lib64:/usr/local/cuda
#-9.0/bin:/usr/lib/python2.7/site-packages/:/home/sas/.local/bin:/home/rch/.local/bin:/home/rch/bin)
#というように、表示されればOK

R-4.1.0 のダウンロード & コンパイル

現在の最新版あたりである、R-4.1.0 (2021-05-18 09:05) をダウンロードして、コンパイルする。

いま、一番最新は、R-4.1.2であるが、普段使いのPCにはまだ怖くて入れられない。。。

#CRANからのダウンロード
wget https://cran.r-project.org/src/base/R-4/R-4.1.0.tar.gz

#解凍
tar -zxvf R-4.1.0.tar.gz

#のちほど、不要なファイルを削除
#sudo rm -rf R-4.1.0.tar.gz

#Rディレクトリ内に移動
cd R-4.1.0

#コンパイル実行
sudo ./configure --enable-R-shlib
#--enable-R-shlibを設定すると、結構時間がかかる
#--prefix: インストール先を指定できる。ex. --prefix=~/R

#make 実行(以下を順番に実行する、5-10分くらいかかる)
sudo make
sudo make check
sudo make install

上記の実行が完了すれば、Rのパスとバージョンを確認しておく。

which R
#/usr/local/bin/R

#バージョンを確認する
R --version

#R version 4.1.0 (2021-05-18) -- "Camp Pontanezen"
#Copyright (C) 2021 The R Foundation for Statistical Computing
#Platform: x86_64-pc-linux-gnu (64-bit)
#
#R is free software and comes with ABSOLUTELY NO WARRANTY.
#You are welcome to redistribute it under the terms of the
#GNU General Public License versions 2 or 3.
#For more information about these matters see
#https://www.gnu.org/licenses/.

上記のR実行で、 -bash: /usr/bin/R: そのようなファイルやディレクトリはありません というエラーが出たら、、、

/usr/binにもシンボリックリンクを追加してみる。

#シンボリックリンクの追加
sudo ln /usr/local/bin/R /usr/bin

そして、Rが起動できて、以下のように表示さされば、インストールは完了である。

R version 4.1.0 (2021-05-18) -- "Camp Pontanezen"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R は、自由なソフトウェアであり、「完全に無保証」です。 
一定の条件に従えば、自由にこれを再配布することができます。 
配布条件の詳細に関しては、'license()' あるいは 'licence()' と入力してください。 

R は多くの貢献者による共同プロジェクトです。 
詳しくは 'contributors()' と入力してください。 
また、R や R のパッケージを出版物で引用する際の形式については 
'citation()' と入力してください。 

'demo()' と入力すればデモをみることができます。 
'help()' とすればオンラインヘルプが出ます。 
'help.start()' で HTML ブラウザによるヘルプがみられます。 
'q()' と入力すれば R を終了します。

configure実行時の補足

configure: WARNING: neither inconsolata.sty nor zi4.sty found: 
PDF vignettes and package manuals will not be rendered optimally

というエラーが出たとしても、無視かな。。。

参考資料

cran.r-project.org

atmarkit.itmedia.co.jp