macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

ロングリードのシミュレーター LongISLND

 

これまでシミュレーションは現実的でありながら多用途なロングリードシミュレータの欠如によって妨げられてきた。例えば、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.