大部分の微生物は一般的な培地では培養不能で、シングルセルシーケンスは微生物の洞察を得るための重要な方法となっている。シングルセルシーケンスには、全ゲノム増幅によってDNAをランダム増幅させる必要があるが、シーケンスバイアスが非常に大きいという問題点がある。
Hybrid DeNovo Assembler(HyDA)はシングルセルのアセンブラ。ディープ・シングルセル・シーケンスを少し浅い数個のシングルセル・シーケンスに置き換え、コアセンブリーすることで、シーケンシング・コストを大幅に増加させることなく、サンプル損失のリスクを回避してハイクオリティなアセンブルを行うことができるとされ、論文中では、複数細胞から控えめにシーケンスしたfastqをmixし、SPAdesおよびIDBA-UDと比較してより長いコンティグを作ることを示している。入力データセットのシェアされた配列と排他配列を検出して分離することによって、キメラアセンブリを回避する機能を持つ。
公式ページ(シングルセルシーケンスデータリンクは下の方)
Synergistic single cell sequencing
インストール
cent OSに導入した。
本体 SourceForge
https://sourceforge.net/projects/hyda/?source=typ_redirect
ソースコードをダウンロードし、解凍してビルドする。
tar xvf squeezambler-2.0.3-hyda-1.3.1.tar
cd squeezambler-2.0.3-hyda-1.3.1/
make clean; make #k-merのmaxは64、もっと増やすならMAXK=Nで指定する
cd bin/
> ./import -h
$ ./import -h
Usage: import [options]
Output (FASTA by default) file name is identified by -O option.
Input files are identified by -q and -f options.
Example: import -f=lib1-1.fasta,lib1-2.fasta -q=lib2-1.fastq,lib2-2.fastq -f=lib3.fasta -O=reads.fasta
Above, lib1-1.fasta and lib1-2.fasta are paired reads in library 0, lib2-1.fastq and lib2-2.fastq are paired reads in library 1, and lib3.fasta are single reads in library 2.
-V,--version prints the version
-h,--help shows this help
-O,--output =output file
-q,--fastqlibrary =comma separated list, without space, of FASTQ file names in the library
-f,--fastalibrary =comma separated list, without space, of FASTA file names in the library
-t,--truncate =bad quality flag, truncate trailing nucleotides with the bad quality value in FASTQ files
-l,--minlen =minimum length of a read (default 20)
-n,--maxn =maximum number of N's in the relevant part of a read (default 4)
--fastqout fastq output
> ./assemble-unitig -h
$ ./assemble-unitig
Error: inputs not specified, try 'assemble-unitig -h' for help.
[uesaka@cyano bin]$ ./assemble-unitig -h
Usage: assemble-unitig [options] reads-file
Output files prefix is identified by -O option.
-V,--version prints the version
-h,--help shows this help
-O,--output =output files prefix (mandatory)
-C,--config =coloring config file, if absent all libraries are colored 0
-k,--kmer =k as in kmer (mandatory)
-p,--procs =number of threads per processing node (default 1)
-q,--fastq input is in FASTQ format
-m,--machines =number of machines (only needed when distributing among multiple machines)
-s,--slice =0-base slice number (only needed when distributing among multiple machines)
-S,--single single strand
--exportkmers export kmers with their multiplicities
> assemble-finish -h
$ ./assemble-finish -h
Usage: assemble-finish [options] reads-file
Input unitigs file is identified by -U option.
Output files prefix is identified by -O option.
-V,--version prints the version
-h,--help shows this help
-U,--unitig =input unitigs file ([collective] output of assemble-unitig [for multiple slices]) (mandatory)
-O,--output =output files prefix, may be the same as assemble-unitig output prefix (mandatory)
-C,--config =pairing config file
-c,--cov =minimum average coverage of a condensed node, as a multiple of the assembly coverage mean (default 1.0)
-l,--lowcovlen =maximum length of a low average coverage condensed node to be removed (default 1000nt)
-p,--procs =number of threads
-q,--fastq input is in FASTQ format
-S,--single single strand
-a,--exportasm export assembly graph for downstream applications, e.g. align-longreads
--mincontiglen =minimum length of an output contig (default k)
--exportgraph =max contig size, export those nodes of the condensed graph that are shorter than this value, in DOT format
--exportlowcov export removed low coverage condensed nodes
--save =file to save condensed graph into
--load =file to load condensed graph from
--separatecolors output contigs of each color into a separate file
--nolowcovunitigs do not even initially load those unitigs that have coverage less than 2
--mincontigcov =minimum coverage of an output contig [applicable only when --separatecolors used] (default 1.0)
--keepcolor0 keeps all nodes in color 0 no matter what their coverages are. That is the cut-off for color 0 is 0.
bin/にパスを通しておく(echo export PATH=\$PATH:`pwd`\ >> ~/.bash_profile && source ~/.bash_profile)。
ラン
アセンブル前に fastqやfastaを HyDAの FASTA/FASTQ フォーマットに変換する必要がある。それにはimportコマンドを使う。公式からダウンロードできるテストデータをランしてみる。/Smith/PairedEnd/K04の4組のペアードエンドfastqを使う。
import -q=2_ACTTGA_L002_R1_001.fastq,2_ACTTGA_L002_R2_001.fastq \
-q=2_ACTTGA_L002_R1_002.fastq,2_ACTTGA_L002_R2_002.fastq \
-q=2_ACTTGA_L002_R1_003.fastq,2_ACTTGA_L002_R2_003.fastq \
-q=2_ACTTGA_L002_R1_004.fastq,2_ACTTGA_L002_R2_004.fastq \
-O=output.fasta
- -q --fastqlibrary =comma separated list, without space, of FASTQ file names in the library
- -O --output =output file
output.fastaが出力される。
k=11でアセンブルする。
assemble-unitig -k=11 -p=40 -O=out output.fasta
- -p =number of threads per processing node (default 1)
- -k =k as in kmer (mandatory)
- -O =output files prefix (mandatory)
logと out.unitigsができる。
Finishing。-Uで先ほどの出力を指定する。
assemble-finish -p=40 -c=0.5 -U=out.unitigs -O=final output.fasta
- -p =number of threads
- -U =input unitigs file ([collective] output of assemble-unitig
- -O =output files prefix, may be the same as assemble-unitig output prefix (mandatory)
- -c =minimum average coverage of a condensed node, as a multiple of the assembly coverage mean (default 1.0)
final.extcontigsができる。
引用
Efficient Synergistic Single-Cell Genome Assembly
Narjes S. Movahedi, Mallory Embree, Harish Nagarajan, Karsten Zengler, and Hamidreza Chitsaz
Front Bioeng Biotechnol. 2016; 4: 42. Published online 2016 May 23.