配列のクラスタリングツール UCLUST

 2019 9/29 help追加

2019 9/30 fastaへの変換コマンド追加





ダウンロード (linux, mac)



配列が一致してクラスタリングされるかどうかは、配列とクエリーとの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 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



   --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).



   --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).



   --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.



   --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.



   --help                 This help.

   --quiet                Don't output progress messages to stderr.

   --version              Write version to standard output and exit.





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). 


uclust --uc2fasta results.uc --input seqs_sorted.fasta --output result.fasta 



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,