これまでシミュレーションは現実的でありながら多用途なロングリードシミュレータの欠如によって妨げられてきた。例えば、PBSIM(Ono et al、2012)は、マルチパスメカニズムまたは追加の塩基ごとの確率および下流分析ツールによって必要とされる速度論的データなしに、FASTQデータフォーマットのみを生成する。 BLASRパッケージ(Chaisson and Tesler、2012)のAlchemyシミュレータは維持されず、現代の下流解析ツールと互換性のない古いPacBioフォーマットのデータを生成する。実際のユーザビリティの問題に加えて、シミュレータは特定のシーケンシング技術に合わせて調整され、真のエラー特性を捕捉しない理想化されたエラーモデルであるという一般的懸念がある。
これらの問題は、新しいソフトウェアパッケージLongISLNDによって対処される。 LongISLNDは、第3世代の一分子シーケンス決定(SMS)技術をエミュレートするために設計されたソフトウェアパッケージ。リファレンスのシーケンシング・コンテキストに従って、ベース・コールを記録することによってアライメント・データから学習する。合成(シミュレートされたデータを使用した概念実証による下流解析により、新しいシークエンシング技術の開発、導入、採用を加速し、高価で面倒な実験を避けることができる。 P5とP6の化学反応によるPacific Biosciences(PacBio)マルチパスシーケンシングのエミュレーションにより、FASTQ、H5、最新のPacBio BAMフォーマットでデータを生成することで、一般的なソフトウェアアーキテクチャは容易に拡張可能である。 著者らは、コンセンサス構築と変異コールによってその有用性を実証している。
インストール
cent OSに導入した。
公式ページからバイナリをダウンロードできる。
http://bioinform.github.io/longislnd/
wget https://github.com/bioinform/longislnd/releases/download/0.9.5/longislnd_0.9.5.binary.tgz
tar xzf longislnd_0.9.5.binary.tgz
cd longislnd_0.9.5.binary/
./linux_build.sh
> python simulate.py
$ python simulate.py
]usage: simulate.py [-h] --fasta FASTA [--hdf5 HDF5] [--class_path CLASS_PATH]
[--class_name CLASS_NAME] [--model_dir MODEL_DIR]
[--out OUT] [--movie_id MOVIE_ID] [--read_type READ_TYPE]
[--sequencing_mode SEQUENCING_MODE] [--coverage COVERAGE]
[--sample_per SAMPLE_PER] [--seed SEED]
[--min_frag MIN_FRAG] [--max_frag MAX_FRAG]
[--min_pass MIN_PASS] [--max_pass MAX_PASS]
[--custom_rate CUSTOM_RATE] [--jvm_opt JVM_OPT]
simulate.py: error: argument --fasta is required
(anaconda3-2.0.0) [uesaka@cyano longislnd_0.9.5.binary]$ python simulate.py -h
usage: simulate.py [-h] --fasta FASTA [--hdf5 HDF5] [--class_path CLASS_PATH]
[--class_name CLASS_NAME] [--model_dir MODEL_DIR]
[--out OUT] [--movie_id MOVIE_ID] [--read_type READ_TYPE]
[--sequencing_mode SEQUENCING_MODE] [--coverage COVERAGE]
[--sample_per SAMPLE_PER] [--seed SEED]
[--min_frag MIN_FRAG] [--max_frag MAX_FRAG]
[--min_pass MIN_PASS] [--max_pass MAX_PASS]
[--custom_rate CUSTOM_RATE] [--jvm_opt JVM_OPT]
Simulate reads from reference FASTA
optional arguments:
-h, --help show this help message and exit
--fasta FASTA FASTA to simulate reads from (default: None)
--hdf5 HDF5 Path to HDF5 library (default: /home/uesaka/longislnd_
0.9.5.binary/build/HDFView-2.11.0-Linux/HDF_Group/HDFV
iew/2.11.0/lib)
--class_path CLASS_PATH
class path of all jars (default: /home/uesaka/longisln
d_0.9.5.binary/target/*:/home/uesaka/longislnd_0.9.5.b
inary/build/HDFView-2.11.0-Linux/HDF_Group/HDFView/2.1
1.0/lib/*)
--class_name CLASS_NAME
LongISLND class name (default:
com.bina.lrsim.LongISLND)
--model_dir MODEL_DIR
Directory with the model (default:
/home/uesaka/longislnd_0.9.5.binary/run)
--out OUT Output directory (default: out)
--movie_id MOVIE_ID Movie id (default: clrbam_p6)
--read_type READ_TYPE
Read type. For example, fastq/bax/clrbam for
FASTQ/PacBio-H5/PacBio-BAM. (default: clrbam)
--sequencing_mode SEQUENCING_MODE
Sequencing mode (default: shotgun)
--coverage COVERAGE Coverage (default: 50)
--sample_per SAMPLE_PER
Sample per (default: 100)
--seed SEED Random seed (default: 1351)
--min_frag MIN_FRAG Minimum length of fragment (default: 50)
--max_frag MAX_FRAG Maximum length of fragment (default: 1000000000)
--min_pass MIN_PASS Minimum passes (default: 1)
--max_pass MAX_PASS Maximum passes (default: 1000000000)
--custom_rate CUSTOM_RATE
i:d:s:m, where i/d/s/m are integer-frequency of
insertion/deletion/substitution/match. For example,
0:0:0:1 means perfect sequencing. (default: None)
--jvm_opt JVM_OPT options to jvm (default: )
> python sample.py -h
$ python sample.py -h
usage: sample.py [-h] [--input_suffix INPUT_SUFFIX] [--reference REFERENCE]
[--model_dir MODEL_DIR] [--read_type READ_TYPE]
[--flank FLANK] [--min_length MIN_LENGTH]
[--flank_mask FLANK_MASK] [--qual QUAL] [--hdf5 HDF5]
[--class_path CLASS_PATH] [--class_name CLASS_NAME]
[--num_threads NUM_THREADS] [--jvm_opt JVM_OPT]
sample all alignment files into models
optional arguments:
-h, --help show this help message and exit
--input_suffix INPUT_SUFFIX
suffix of alignment file (default: fofn.cmp.h5)
--reference REFERENCE
reference (default: )
--model_dir MODEL_DIR
Directory of the model (default:
/home/uesaka/longislnd_0.9.5.binary)
--read_type READ_TYPE
Read type (default: bax)
--flank FLANK flanks (default: 4)
--min_length MIN_LENGTH
minimum read length to consider (default: 1000)
--flank_mask FLANK_MASK
mask out this many bases from alignment (default: 100)
--qual QUAL minimum qual to sample (default: 0.7)
--hdf5 HDF5 Path to HDF5 library (default: /home/uesaka/longislnd_
0.9.5.binary/build/HDFView-2.11.0-Linux/HDF_Group/HDFV
iew/2.11.0/lib)
--class_path CLASS_PATH
class path of all jars (default: /home/uesaka/longisln
d_0.9.5.binary/target/*:/home/uesaka/longislnd_0.9.5.b
inary/build/HDFView-2.11.0-Linux/HDF_Group/HDFView/2.1
1.0/lib/*)
--class_name CLASS_NAME
LongISLND class name (default:
com.bina.lrsim.LongISLND)
--num_threads NUM_THREADS
maximum number of concurrent process (default: 1)
--jvm_opt JVM_OPT options to jvm (default: )
ラン
---ONT R7.3データ---
1、最初にアライナーgraphmapとsamtoolsをインストールする。
cd sampling_example/
./setup_ont.sh
2、Loman, N.J. et al (2015)のONTのリアルデータをダウンロードし、マッピングする。
cd sampling_example/ont_ecoli/
./download_and_align.sh
3、マッピング結果をもとにモデルを構築し、そのモデルに従いfastqを発生させる。
./learn_and_simulate.sh
---Pacbio P6データ---
1、最初にアライナーgraphmapとsamtoolsをインストールする。
cd sampling_example/
./setup_smrt23.sh
2、リアルデータをダウンロードし、マッピングする。
cd sampling_example/ecoli/
./download_and_align.sh
3、マッピング結果をもとにモデルを構築し、そのモデルに従いfastqを発生させる。
./learn_and_simulate.sh
引用
LongISLND: in silico sequencing of lengthy and noisy datatypes
Lau B, Mohiyuddin M, Mu JC, Fang LT, Bani Asadi N, Dallett C, Lam HY
Bioinformatics. 2016 Dec 15;32(24):3829-3832.