注意事項 / Precautions:
・2022年4月時点の情報です。 This information is written in April, 2022.
・同様の処理を行う他の方法もあるかと思います。ご意見やご質問等をコメントしていただけると幸いです。 Other ways may be able to conduct the same calculations. Please send your opinions and comments.
・投稿者はこの分野に対して専門外であり、全般的に知識が不足しています。用語の誤用や不自然な言い回しはご容赦ください。 I don’t have sufficient knowledge about this field because I don’t major in these. Please forgive me for mistake of words.
・本記事の情報を参考にしたインストールや解析は自己責任でお願い致します。 Please conduct installation or analyses at your own risk.
環境 / Environments:
Windows 10,11
Cygwin version 3.3.4
にて動作することを確認しています。
I confirmed that bedtools operated in these environments.
1. 本記事の背景 Background
bedtoolsとは、Bioinformaticsの分野で使用されるBED形式のファイルを扱うツールです。様々なオプションに応じて必要な処理を行うことができ、広く用いられています。今回研究で使用することになりましたが、デフォルトではCygwin上におけるコンパイルでエラーが発生します。その解決をまとめた日本語/英語のサイトが見つからなかったため、私の検討を共有させていただきます。
Bedtools is a tool which treats BED files in the feild of Bioinformatics. It can various calculations based on options. I was going to use bedtools for my research, however there were some errors in default settings. I made this article because there was no site which shows the resolution written by Japanese or English.
2. 公式サイトの案内 Guidance of official sites
公式サイト (https://bedtools.readthedocs.io/en/latest/) の説明によると、UNIXベースのコマンドラインからの処理を前提としており、通常ローカルなWindows環境では使用することができません。今回は、UNIXライクな仮想環境を提供するCygwinを用いてこちらのツールを使用することを目標とします。
According to an official site description, bedtools operates in UNIX-based environments. So we cannot use it in local Windows. The goal of this article is to use bedtools in Cygwin which gives virtual environments like UNIX.
3. 具体的な方法 Specific ways
以下が実際の方法となります。 How to install are following.
① Cygwinのインストール Installation of Cygwin
公式サイト (https://www.cygwin.com/install.html) からCygwinをインストールします。
Please install Cygwin from official site (https://www.cygwin.com/install.html).
② 必要なCygwinパッケージのインストール Installation of required packages
デフォルトのインストールでも複数のパッケージがインストールされます。今回の目標達成に必要なパッケージを追加でインストールします。set up からGUIで行うことも可能ですが、apt-cyg等を利用したコマンドラインからの実行が便利です。以下または類似のパッケージをインストールしてください。
Default setting will install some packages. We will install additional packages in this article. Although we can install them by set up GUI application, it is useful to use a command of apt-cyg. Please install following or similar packages.
・ wget
・ libbz2-devel
③ bedtoolsのインストール Installation of bedtools
公式サイトの案内通り以下のコマンドを実行します。
Please Conduct some commands by following to official guidance.
$ wget https://github.com/arq5x/bedtools2/releases/download/v2.29.1/bedtools-2.29.1.tar.gz
$ tar -zxvf bedtools-2.29.1.tar.gz
$ cd bedtools2
④ 必要なファイルの追加とヘッダファイルの編集 Editing of header files
・外部サイト (http://asprintf.insanecoding.org/ )からzipファイルをダウンロードし、解凍後にasprintf.hをbedtools2/src/coverageFileに移動してください。
Please download a zip file from another site (http://asprintf.insanecoding.org/) and unzip it. After unzipping, move asprintf.h to “bedtools2/src/coverageFile”.
・bedtools2/src/coverageFile/coverageFile.h
下図のデフォルトは#include <stdio.h> "のみですが、#include <asprintf.h>と#include <stdlib.h>を追加してください。
Please add #include <asprintf.h> and #include <stdlib.h>. Default is #include <stdio.h> only.
・bedtools2/Makefile
下図のデフォルトはc++11ですが、gnu11に変更してください。
Please change “c++11” to “gnu11”.
⑤ コンパイル Compiling
④の後に公式サイトの案内に従ってmakeコマンドを実行し、コンパイルを行います。
After ④, compiling will be executed by command of “make” with an official site.
make
⑥ パスを通してコマンドラインから実行 Making a path and executing
⑤のコンパイル後にbedtools2/bin/bedtools.exeが作成されますので、パスを通してコマンドラインから実行します。
After ⑤, a executable file of “bedtools2/bin/bedtools.exe” will be made. We can use bedtools from command line by making a path.
4. 参考文献 References
・bedtools official site
https://bedtools.readthedocs.io/en/latest/
・Cygwin official site
https://www.cygwin.com/
・http://asprintf.insanecoding.org/
・https://stackoverflow.com/questions/40766055/error-strdup-was-not-declared-in-this-scope
・https://github.com/torognes/swarm/issues/100