
1. What is starcode?
2. Source file list.
3. Compilation and installation.
4. Running starcode.
5. Running starcode-umi.
6. File formats.
7. License.
8. Citation.
StarCodeは、DNAシーケンスクラスタリングソフトウェアです。 Starcodeクラスタリングは、指定されたLevenshtein距離内のすべてのペア検索(挿入と削除を可能にする)に基づいており、その後にクラスタリングアルゴリズムが続きます。メッセージの渡し、球体、または接続されたコンポーネントです。通常、DNA配列のセットを含むファイルは、目的のクラスタリング距離とアルゴリフムと共同で入力として渡されます。 StarCodeは、クラスターの正規シーケンス、クラスターサイズ、クラスターコンポーネントの入力ライン番号を構成する異なるシーケンスのセットを返します。
Starcodeには、DNA/RNAモチーフの回復、バーコード/UMIクラスタリング、シーケンスエラー回復など、生物学の分野で多くのアプリケーションがあります。
Starcodeをインストールするには、このgitリポジトリをクローンします(または、最新リリースStarcode v1.3を手動でダウンロード):
git clone https://github.com/gui11aume/starcode
ファイルは、「Starcode」という名前のフォルダーにダウンロードする必要があります。 Makeを使用してコンパイルします(Macユーザーには、Mac AppStoreで利用可能な「Xcode」が必要です):
-cスターコードを作成します
バイナリファイル「Starcode」が作成されます。オプションで、任意のディレクトリからStarCodeを実行するためのシンボリックリンクを作成できます。
sudo ln -s starcode/starcode/usr/bin/starcode
StarCodeはLinuxとMacで実行されます。 Windowsでテストされていません。
starcode [options] {[-i] input_file | -1 pailed_end_file1 -2 pailed_end_file2} [-o output_file]
デフォルトでは、Starcodeは、多くの問題で意味のあるクラスタリングパラメーターを使用します。しかし、出力はあなたが期待しているとまったく同じように見えないかもしれません。これは、次の理由である可能性があります。
クラスタリング方法はメッセージの渡しです。これは、クラスターが小さなクラスターをより大きなクラスターに融合することにより、ボトムアップを構築することを意味します。このプロセスは再帰的であるため、クラスター内のシーケンスは隣人ではない場合があります。つまり、指定されたlevenshtein距離内にない場合があります。これが当てはまる必要がある場合は、代わりにSphere Clusteringを使用します(以下のオプション-Sまたは- spheresを参照)。
クラスタリング比は5です。これは、クラスターが少なくとも5倍大きい場合にのみ、クラスターがより小さなものを吸収できることを意味します。実際的な意味は、同様のサイズのクラスターがマージされていないことです。クラスターをマージするための別のしきい値を選択できます(以下のOption -Rまたは-Cluster -Ratioを参照)。
-dまたは-distance距離
Defines the maximum Levenshtein distance for clustering.
When not set it is automatically computed as:
min(8, 2 + [median seq length]/30)
-Rまたは - クラスター比比
(Message passing only) Specifies the minimum sequence count ratio to cluster two matching
sequences, i.e. two matching sequences A and B will be clustered together only if
count(A) > ratio * count(B).
Sparse datasets may need to set -r to small values (minimum is 1.0) to trigger clustering.
Default is 5.0.
-sまたは - spheres
Use sphere clustering algorithm instead of message passing (MP). Spheres is more greedy than MP:
sorted by size, centroids absorb all their matches.
-cまたは - 接続-comp
Clusters are defined by the connected components.
- 非冗長
Removes redundant sequences from the output. Only the canonical sequence of each cluster is
returned.
- プリントクラスター
Adds a third column to the starcode output, containing the sequences that compose each cluster.
By default, the output contains only the centroid and the counts.
-seq-id
Shows the input sequence order (1-based) of the cluster components.
シングルファイルモード:
-iまたは - 入力ファイル
入力ファイルを指定します。
ペアエンドFASTQファイル:
-1 file1 -2 file2
ペアエンドクラスタリングモードに2つのペアエンドFASTQファイルを指定します。
-Iまたは-1/-2のいずれも設定されていない場合、標準入力が使用されます。
-oまたは-outputファイル
Specifies output file. When not set, standard output is used instead.
-output1 file1 -output2 file2
(Paired-end mode with --non-redundant option only). Specifies the output file names of the
processed paired-end files.
-oが設定されていない場合、標準出力が使用されます。
-Output1/2がペアリッドエンドで指定されていない場合 - 冗長モードなし、出力ファイル名は「-starcode」の接尾辞を備えた入力ファイル名です。
-tまたは - スレッドスレッド
Defines the maximum number of parallel threads.
Default is 1.
-Qまたは--Quiet
Non verbose. By default, starcode prints verbose information to
the standard error channel.
-vまたは-version
Prints version information.
-Hまたは - ヘルプ
Prints usage information.
StarCode-UMIは、 starcodeを使用してUMIタグ付きシーケンスをクラスター化するPythonスクリプトです。 UMIタグ付きシーケンスは、読み取りの開始時に一意の分子識別子を含むと想定され、その後に他の(より長い)シーケンスが続きます。 StarCode-UMIは、クラスタリングとマージのダブルラウンドを実行して、UMIとシーケンスペアの最高のクラスターを見つけます。
starcode-umi [options] -umi-len n input_file1 [input_file2]
-umi-len番号
Defines the length of the UMI tags. Adding some extra nucleotides may improve the clustering
performance.
- スターコードパスパス
Path to `starcode` binary file. Default is `./starcode`.
-umi-d距離
Match distance (Levenshtein) for the UMI region.
-seq-d距離
Match distance (Levenshtein) for the sequence region.
-UMIクラスタークラスタリングアルゴリズム
Clustering algorithm to be used in the UMI region. ('mp' for message passing, 's' for spheres,
'cc' for connected components). Default is message passing.
-seq-Clusterクラスタリングアルゴリズム
Clustering algorithm to be used in the seq region. ('mp' for message passing, 's' for spheres,
'cc' for connected components). Default is message passing.
-umi-cluster-ratioクラスタリングアルゴリズム
(Only for message passing in UMI). Minimum clustering ratio (same as -r option in starcode).
-seq-cluster-ratioクラスタリングアルゴリズム
(Only for message passing in seq). Minimum clustering ratio (same as -r option in starcode).
-seq-trimトリム
Use only *trim* nucleotides of the sequence for clustering. Starcode becomes memory inefficient
with very long sequences, this parameter defines the maximum length of the sequence that will
be used for clustering. Set it to 0 to use the full sequence. Default is 50.
-seq-id
Shows the input sequence order (1-based) of the cluster components.
-umi-threadsスレッド
Defines the maximum number of parallel threads to be used in the UMI process.
Default is 1.
-seq-threadsスレッド
Defines the maximum number of parallel threads to be used in the sequence process.
Default is 1.
1行につき1つのシーケンスを含むファイルで構成されています。標準のDNAベース文字のみがサポートされています( 'a'、 'c'、 'g'、 't')。シーケンスには、文字列の最初または最後に空のスペースが含まれていない場合があります。これらはアライメント文字としてカウントされるためです。ファイルには空の行が含まれていない場合があります。これらはゼロ長のシーケンスと見なされるためです。シーケンスをソートする必要はなく、繰り返すことができます。
例:
TTACTATCGATCATCATCGACTGACTACG
ACTGCATCGACTAGCTACGACTACGCTACCATCAG
TTACTATCGATCATCATCGACTGACTAGC
ACTACGACTACGACTCAGCTCACTATCAGC
GCATCGACCGCTACTACGCATACTACGACATC
シーケンスの数がわかっている場合、次の形式を使用して入力ファイルで指定できます。
[シーケンス] t [count] n
ここで、 ' t'はタブ文字を示し、「 n」はnewline文字を示します。シーケンスをソートする必要はなく、同様に繰り返すこともできます。繰り返されるシーケンスが見つかった場合、それらのカウントが一緒に追加されます。前と同様に、シーケンスには追加の文字が含まれていない場合があり、ファイルには空の行が含まれていない場合があります。
例:
TATCGACTCTATCTATCGCTGATGCGTAC 200
CGAGCCGCCGGCACGTCACGACGCATCAA 1
TAGCACCTACGCATCTCGACTATCACG 234
CGAGCCGCCGGCACGTCACGACGCATCAA 17
TGACTCTATCAGCTAC 39
StarCodeは、FASTAおよびFASTQファイルもサポートしています。ただし、StarCodeは品質要因を使用せず、関連情報のみがシーケンス自体であることに注意してください。 FASTA/FASTQラベルは、出力ファイルのシーケンスを識別するために使用されません。シーケンスをソートする必要はなく、繰り返すことができます。
例Fasta:
> FASTA sequence 1 label
ATGCATCGATCACTCATCAGCTACAG
> FASTA sequence 2 label
TATCGACTATCTACGACTACATCA
> FASTA sequence 3 label
ATCATCACTCTAGCAGCGTACTCGCA
> FASTA sequence 4 label
ATGCATCGATTACTCATCAGCTACAG
例FASTQ:
@ FASTQ sequence 1 label
CATCGAGCAGCTATGCAGCTACGAGT
+
-$#'%-#.&)%#)"".)--'*()$)%
@ FASTQ sequence 2 label
TACTGCTGATATTCAGCTCACACC
+
,*#%+#&*$-#,''+*)'&.,).,
StarCodeは、次の形式で検出された各クラスターの行を印刷します。
[正規シーケンス] t [クラスターサイズ] t [クラスターシーケンス] n
ここで、 ' t'はタブ文字を示し、「 n」はnewline文字を示します。 「Canonical Sequence」は、より多くのカウントを持つクラスターのシーケンスであり、「クラスターサイズ」はクラスターを形成するすべてのシーケンスの集約カウントであり、「クラスターシーケンス」は、コンマと中で区切られたすべてのクラスターシーケンスのリストです。任意の順序。行は、「クラスターサイズ」で並べ替えられて印刷されています。
たとえば、3(-d3)の次の入力とクラスタリング距離を使用した実行:
TAGCTAGACGTA 250
TAGCTAGCCGTA 10
TAAGCTAGGGGT 16
ACGCGAGCGGAA 155
ACTTTAGCGGAA 1
次の出力が生成されます。
TAGCTAGACGTA 260 TAGCTAGACGTA,TAGCTAGCCGTA
ACGCGAGCGGAA 156 ACGCGAGCGGAA,ACTTTAGCGGAA
TAAGCTAGGGGT 16 TAAGCTAGGGGT
より制限的な距離-D2で実行された同じ例は、次の出力を生成します。
TAGCTAGACGTA 260 TAGCTAGACGTA,TAGCTAGCCGTA
ACGCGAGCGGAA 155 ACGCGAGCGGAA
TAAGCTAGGGGT 16 TAAGCTAGGGGT
ACTTTAGCGGAA 1 ACTTTAGCGGAA
非冗長出力モードでは、StarCodeは各クラスターの正規シーケンスのみを印刷します。前のセクションの例に従って、距離3(-d3)の出力は次のとおりです。
TAGCTAGACGTA
ACGCGAGCGGAA
一方、-d2の場合:
TAGCTAGACGTA
ACGCGAGCGGAA
TAAGCTAGGGGT
ACTTTAGCGGAA
Starcodeは、GNU General Public Licenseのバージョン3(GPLV3)に基づいてライセンスされています。詳細については、ライセンスファイルをお読みください。
http://www.gnu.org/licenses/
ソフトウェアを使用する場合は、引用してください。
Zorita E、Cusco P、フィリオンGJ。 2015。Starcode:全ペア検索に基づくシーケンスクラスタリング。 Bioinformatics 31(12):1913-1919。