2019 9/29 help追加
2019 9/30 fastaへの変換コマンド追加
相同な配列をクラスタリングするツール。相同性の下限値を指定してランすると、閾値以上の相同性を持った塩基配列をまとめてくれる。CD-HIT-ESTより高速に動作するとされる。
http://www.drive5.com/uclust/downloads1_2_22q.html
マニュアル
http://www.drive5.com/uclust/uclust_userguide_1_1_579.pdf
配列が一致してクラスタリングされるかどうかは、配列とクエリーとのlocal alignment(e.g., BLAST)ではなく、global alingmentの結果で判定される。
公式サイトから引用。
このアライメントではidentityは66.6%となる。データベースはメモリーにキャッシュされ、それからクエリとの検索が行われる。クエリと既存のクラスターが合致すれば其のクラスタに編入され(下図 右)、マッチするクラスターがなければ新しいクラスターが作られる(下図 左)。
公式サイトから転載。
インストール
ダウンロードした実行ファイルを解凍し実行権をつける。パスの通っているディレクトリに移動しておく。
mv uclust1.2.22q_i86darwin64 uclust #リネーム
chmod u+x uclust
mv uclust /user/local/bin/
> uclust
]$ uclust
uclust v1.2.22q
(C) Copyright 2009-10 Robert C. Edgar
Licensed ONLY for use in PyNAST and QIIME.
Sort sequences by length, use --mergesort for very large files:
uclust --sort seqs.fasta --output seqs_sorted.fasta
uclust --mergesort seqs.fasta --output seqs_sorted.fasta [--split N] [--tmpdir dir]
--split N is partition size in Mb (default 1000).
--tmpdir dir is directory for partition files (default current dir).
Cluster de novo:
uclust --input seqs_sorted.fasta --uc results.uc --id 0.90
Database search without clustering:
uclust --input seqs.fasta --lib database.fasta --uc results.uc --id 0.90 --libonly
Database search, cluster seqs that don't match:
uclust --input seqs_sorted.fasta --lib database.fasta --uc results.uc --id 0.90
File format conversions:
uclust --uc2clstr results.uc --output results.clstr
uclust --clstr2uc cd_hit.clstr --output results.uc
uclust --uc2fasta results.uc --input seqs.fasta --output results.fasta [--types abc]
--types abc... Record types to include (default SH).
Create multiple alignment for each cluster:
uclust --staralign results.fasta --output results_aligned.fasta
Sort results by cluster number:
uclust --sortuc results.uc --output results_sorted.uc
Input:
--usersort Don't assume input is sorted by length (default assume sorted).
--maxlen L Ignore query sequences longer than L (default 10000).
--minlen L Ignore query sequences shorter than L (default 16).
--amino Input is amino acids (default infer from ACGTU frequencies).
--nucleo Input is nucelotides (default infer from ACGTU frequencies).
Output:
--trunclabels Truncate FASTA labels at first white space.
--allhits Write all accepts to .uc file (default top hit/no match only).
--[no]output_rejects Write rejects to .uc file (default output top hit/no match only).
--log filename Log file with miscellaneous information.
--fastapairs filename Pair-wise alignments for all hits in FASTA format.
--blastout filename BLAST-like alignments.
--rowlen n Row length for --blastout (default 64).
--idchar c Character for identities in --blastout (default '|').
--diffchar c Character for mismatches in --blastout (default ' ').
--[no]blast_termgaps Show terminal gaps in --blastout (default don't show).
Search:
--id f Minimum identity for a hit (default 0.9).
--maxaccepts n Maximum hits before quitting search (default 1, 0=infinity).
--maxrejects n Maximum rejects before quitting search (default 8, 0=infinity).
--w n Word length for windex (default 5 aa.s, 8 nuc.s).
--[no]wordcountreject Dis/enable word count rejection (default enabled).
--bump n Bump percent (default 50, 0=don't bump).
--stepwords n Target nr. of common words (default 8, 0=don't step).
--rev Reverse strand matching (default plus strand only)
--libonly Match to --lib only (default add new seed if not matched).
--self Ignore target sequence with same label as query.
--idprefix n First n letters of query and seed must be identical (default 0).
--exact Same as --maxrejects 0 --nowordcountreject.
--optimal Same as --maxrejects 0 --maxaccepts 0 --nowordcountreject.
Alignment:
--match s Match score (nucleotides only, default 2.0).
--mismatch s Mismatch score (nucleotides only, default -1.0).
--gaopen s Gap open penalties (see manual).
--gapext s Gap extend penalies (see manual).
--[no]fastalign [Don't] use HSPs and banding for speed (default do use).
--hsp n Minimum length of HSP (default 32).
--hspscore s Minimum score/col for HSP (default 1.0)
--k n Word length for HSP-finding (default 3 amino acids, 4 nucleotides).
--band n Band radius for regions between HSPs (default 16, 0=don't band).
--check_fast Compare fast & slow alignments and report statistics in --log file.
Misc:
--help This help.
--quiet Don't output progress messages to stderr.
--version Write version to standard output and exit.
実行方法
Clustering
uclust --sort seqs.fasta --output seqs_sorted.fasta
uclust --input seqs_sorted.fasta --uc results.uc --id 0.90
- --id Minimum identity for a hit (default 0.9).
fastaへの変換
uclust --uc2fasta results.uc --input seqs_sorted.fasta --output result.fasta
非冗長(nr)なデータベースを作るには以下のコマンドを打つ。
uclust --input seqs_sorted.fasta --uc2fasta results.uc --types S --output nr.fasta
Database search
既存のデータベースを使ってクラスタリングを行う。
uclust --sort seqs.fasta --output seqs_sorted.fasta
uclust --input seqs_sorted.fasta --lib database.fasta --uc results.uc --id 0.90
Multiple alignment
uclust --input seqs_sorted.fasta --uc results.uc --id 0.90
uclust --uc2fasta results.uc --input seqs_sorted.fasta --output results.fasta
uclust --staralign results.fasta --output aligned.fasta
引用
Search and clustering orders of magnitude faster than BLAST
Robert C. Edgar
Bioinformatics, Volume 26, Issue 19, 1 October 2010, Pages 2460–2461,