macでインフォマティクス

macでインフォマティクス

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

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

 2019 9/29 help追加

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

 

相同な配列をクラスタリングするツール。相同性の下限値を指定してランすると、閾値以上の相同性を持った塩基配列をまとめてくれる。CD-HIT-ESTより高速に動作するとされる。

 

 

ダウンロード (linux, mac)

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の結果で判定される。

f:id:kazumaxneo:20170903180611j:plain

公式サイトから引用。

このアライメントではidentityは66.6%となる。データベースはメモリーにキャッシュされ、それからクエリとの検索が行われる。クエリと既存のクラスターが合致すれば其のクラスタ編入され(下図 右)、マッチするクラスターがなければ新しいクラスターが作られる(下図 左)。

f:id:kazumaxneo:20170903181646j:plain

公式サイトから転載。

 

インストール

ダウンロードした実行ファイルを解凍し実行権をつける。パスの通っているディレクトリに移動しておく。

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,