クラゲ - クラウド上のオンライン

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド jellyfish です。

プログラム:

NAME


Jellyfish は、DNA 配列内の k-mer をカウントするソフトウェアです。

SYNOPSIS


クラゲの数 [-o接頭辞] [-mマーレングス] [-tスレッド] [-sハッシュサイズ] [-- 両鎖] ファスタ
[ファスタ ... ]
クラゲのマージ hash1 hash2 ...
クラゲ捨て場 ハッシュ
クラゲの統計 ハッシュ
クラゲの歴史 [-h高いです] [-l低いです] [-i増加] ハッシュ
クラゲのクエリ ハッシュ
クラゲの引用

さらに、Quake モードの同等バージョン: qhisto、qdump、qmerge。

DESCRIPTION


Jellyfish は、マルチスレッドのハッシュ テーブル実装に基づいた k-mer カウンターです。

カウンティング そして マージ中
k-mer をカウントするには、次のようなコマンドを使用します。

クラゲ数 -m 22 -o 出力 -c 3 -s 10000000 -t 32 input.fasta

これにより、22 スレッドの input.fasta 内の 32-mer がカウントされます。 のカウンターフィールド
ハッシュは 3 ビットのみを使用し、ハッシュには少なくとも 10 万のエントリがあります。

出力ファイルには、output_0、output_1 などの名前が付けられます (プレフィックスは
-o スイッチ)。 ハッシュが十分に大きい場合 ( -s スイッチ)すべてに適合するように
k-mers では、output_0 という名前の出力ファイルが XNUMX つだけ存在します。 以前にハッシュがいっぱいになった場合
すべてのマーが読み取られ、ハッシュがディスクにダンプされ、ゼロが設定されてマーが読み取られます。
再開します。 ディスク上には、output_0 という名前の複数の中間ファイルが存在します。
出力_1など

他のサブコマンド (histo、stats など) から正しい結果を取得するには、
複数の出力ファイルがある場合は、merge コマンドを使用して XNUMX つにマージする必要があります。 のために
次のコマンドの例:

クラゲ マージ -o Output.jf 出力\_*

多数の中間出力ファイル (たとえば数百) を取得する場合、ハッシュ テーブルのサイズ
小さすぎます。 大きいサイズのクラゲを再実行(オプション) -s)はおそらくより速いです
すべての中間ファイルをマージします。

オリエンテーション
入力 fasta ファイル内のシーケンスの方向が不明な場合、たとえば
読み取りのシーケンス、使用 -- 両鎖 (-C)が最も理にかなっています。

任意の k-mer m について、その正規表現は m 自体またはその逆補数です。
辞書順に最初に来るもの。 オプションあり -C、正規のもののみ
マーの表現はハッシュに保存され、カウント値はマーの数です。
mer とその逆補体の両方の出現。

選択 ハッシュ サイズ
最高のパフォーマンスを実現するには、最小限の数の中間ファイルを書き込む必要があります。
ディスクに。 したがって、パラメータは -s できるだけ多くの k-mer に適合するように選択する必要があります (理想的には
それらすべて)をまだ記憶に収めながら。

シーケンスリードおよび完成したゲノム内のマーの数を例として考えます。

まず、ショートシーケンシングリードの k-mer を数えると仮定します。n 個のリードがあり、
読み取りごとに平均 1 エラーが発生し、各エラーは k 個の固有のマーを生成します。 もしゲノムが
サイズは G、ハッシュのサイズ (オプション) -s) すべての k-mer を一度に適合させるには、次のように推定されます: $(G
+ k*n)/0.8$。 0.8 で除算すると、約 $80%$ の最大使用量が補償されます。
ハッシュテーブルの。

一方、長さ G の組み立てられた配列内の k-mer を数える場合、 -s
〜Gが適当です。

便宜上、Jellyfish はハッシュのサイズに対する ISO サフィックスを理解します。
したがって、「-s 10M」は 10 万エントリを表し、「-s 50G」は 50 億エントリを表します。

ハッシュ テーブルの実際のメモリ使用量は次のように計算できます。 実際のサイズ
ハッシュは次の 2 のべき乗 (s=2^l) に切り上げられます。 パラメータ r は次のとおりです。
最大リプローブ値 (-p) プラス 2 は XNUMX^r より小さいです。 次に、エントリごとのメモリ使用量
ハッシュ内の値は (バイトではなくビットで) 2k-l+r+1 です。 ハッシュ テーブルの合計メモリ使用量
バイトは 2^l*(2k-l+r+1)/8 です。

選択 カウンティング フィールド サイズ
スペースを節約するために、ハッシュ テーブルは可変長カウンターをサポートしています。つまり、k-mer が発生します。
数回のみ小さなカウンターが使用され、k-mer が何度も発生すると複数のカウンターが使用されます。
ハッシュ内のエントリ。

重要: カウント フィールドのサイズは結果を変更しません。影響するのは、
使用されるメモリの量。 特に、ハッシュには最大値がありません。 たとえ
カウンティング フィールドは 5 ビットを使用し、2 万回発生する k-mer の値は次のように報告されます。
2 万 (つまり、2^5 に制限されていません)。

この -c カウントフィールドの長さ (ビット単位) を指定します。 トレードオフは次のとおりです。
値を小さくすると、ハッシュ内のエントリあたりのスペースが節約されますが、エントリ数が増加する可能性があります。
エントリが使用されているため、より大きなハッシュが必要になる可能性があります。

実際には、次の値を使用します。 -c そのため、ほとんどの k-mer は 1 つのエントリだけを必要とします。 のために
たとえば、配列の大部分が固有であるゲノム内の k-mer をカウントするには、次を使用します。 -c1 or
-c2。 シーケンス読み取りの場合は、次の値を使用します。 -c 最大 XNUMX 倍までカウントできるほど大きい
カバレッジ。 たとえば、カバレッジが 10X の場合、カウンタ長として 5 を選択します (-c5) $2^5 として
> 20ドル。

サブコマンド そして OPTIONS


COUNT
使用法: クラゲ数 [オプション] ファイル:パス+

fasta または fastq ファイル内の k-mer または qmer をカウントする

オプション (() 内のデフォルト値、*必須):

-m, --マーレン=uint32
*マーの長さ

-s, - サイズ=uint64
*ハッシュサイズ

-t, -スレッド=uint32
スレッド数 (1)

-o, - 出力=文字列
出力プレフィックス (mer_counts)

-c, --カウンターレンズ=長さ
ビット単位 カウントフィールドの長さ (7)

--アウトカウンターレン=長さ
バイト単位 出力のカウンタフィールドの長さ (4)

-C,-- 両鎖
両方のストランドをカウント、正規表現 (false)

-p, --再プローブ=uint32
再プローブの最大数 (62)

-r,- 生
生のデータベースを書き込む (false)

-q,--地震
Quake 互換モード (false)

--品質開始=uint32
品質値の ASCII の開始 (64)

--最小品質=uint32
最低限のクオリティ。 品質の低い塩基は N (0) になります。

-L, --下位カウント=uint64
count < lower-count の k-mer を出力しない

-U, -- 上限数=uint64
count > upper-count の k-mer を出力しない

- マトリックス=行列
ファイルハッシュ関数バイナリ行列

- タイミング=タイミング
ファイル 印刷タイミング情報

-統計=統計
ファイル印刷統計

- 利用方法
使用法

-h, - 助けて
このメッセージ

-フルヘルプ
詳細なヘルプ

-V,- バージョン


STATS
使用法: クラゲ統計 [オプション] db:path

統計

ハッシュ内の k-mer に関するいくつかの統計を表示します。

Unique: XNUMX 回だけ発生する k-mer の数。 個別: k-mer の数 (カウントされていない)
多重度。 合計: 多重度を含む k-mer の数。 Max_count: 最大数
k-merの発生。

オプション (() 内のデフォルト値、*必須):

-L, --下位カウント=uint64
count < lower-count の k-mer を考慮しないでください

-U, -- 上限数=uint64
k-mer を count > upper-count で考慮しないでください

-v,-詳細
冗長 (偽)

-o, - 出力=文字列
出力ファイル

- 利用方法
使用法

-h, - 助けて
このメッセージ

-フルヘルプ
詳細なヘルプ

-V,- バージョン


ヒスト
使用法: クラゲの履歴 [オプション] db:path

k-mer の出現のヒストグラムを作成する

指定されたカウントを持つ k-mer の数を使用してヒストグラムを作成します。 バケット「i」の中には、
「low+i*inc <= c < low+(i+1)*inc」を満たすカウント「c」を持つk-merを集計しました。
出力内のバケットは、下限点 (low+i*inc) によってラベル付けされます。

出力の最後のバケットはキャッチオールとして動作し、すべての k-mer をカウントで集計します。
このバケットの下限点以上。

オプション (() 内のデフォルト値、*必須):

-l, - 低い=uint64
ヒストグラムの下位カウント値(1)

-h, - 高い=uint64
ヒストグラムの高いカウント値 (10000)

-i, - インクリメント=uint64
バケットの増分値 (1)

-t, -スレッド=uint32
スレッド数 (1)

-f,- 満杯
完全な履歴。 カウント 0 をスキップしません。(false)

-o, - 出力=文字列
出力ファイル

-v,-詳細
出力情報(false)

- 利用方法
使用法

- 助けて
このメッセージ

-フルヘルプ
詳細なヘルプ

-V,- バージョン


DUMP
使用法: クラゲダンプ [オプション] db:path

k-mer カウントをダンプする

デフォルトでは、ヘッダーがカウント、シーケンスがファスタ形式でダンプされます。
k-merの配列。 列形式は 2 列出力です: k-mer カウント。

オプション (() 内のデフォルト値、*必須):

-c,- 桁
列の形式 (false)

-t,- タブ
タブ区切り文字 (false)

-L, --下位カウント=uint64
count < lower-count の k-mer を出力しない

-U, -- 上限数=uint64
count > upper-count の k-mer を出力しない

-o, - 出力=文字列
出力ファイル

- 利用方法
使用法

-h, - 助けて
このメッセージ

-V,- バージョン


MERGE
使用法: クラゲマージ [オプション] 入力:文字列+

クラゲデータベースを統合する

オプション (() 内のデフォルト値、*必須):

-s, - バッファサイズ=バッファ
length 入力バッファーのバイト長 (10000000)

-o, - 出力=文字列
出力ファイル (mer_counts_merged.jf)

--アウトカウンターレン=uint32
出力 (4) のカウントフィールドの長さ (バイト単位)

--アウトバッファサイズ=uint64
スレッドごとの出力バッファのサイズ (10000000)

-v,-詳細
冗長にする (false)

- 利用方法
使用法

-h, - 助けて
このメッセージ

-V,- バージョン


QUERY
使用法: クラゲクエリ [オプション] db:path

圧縮されたデータベースからのクエリ

ハッシュをクエリします。 標準入力から k-mer を読み取り、標準入力にカウントを書き込みます。
出力。

オプション (() 内のデフォルト値、*必須):

-C,-- 両鎖
両方のストランド (偽)

-c,--キャリービット
キャリービット情報としての値フィールド (false)

-i, - 入力=ファイル
入力ファイル

-o, - 出力=ファイル
出力ファイル

- 利用方法
使用法

-h, - 助けて
このメッセージ

-V,- バージョン


キスト
使用法: クラゲ qhisto [オプション] db:string

k-mer の出現のヒストグラムを作成する

オプション (() 内のデフォルト値、*必須):

-l, - 低い=ダブル
ヒストグラムの下位カウント値(0.0)

-h, - 高い=ダブル
ヒストグラムの高いカウント値 (10000.0)

-i, - インクリメント=ダブル
バケットの増分値 (1.0)

-f,- 満杯
完全な履歴。 カウント 0 をスキップしません。(false)

- 利用方法
使用法

- 助けて
このメッセージ

-V,- バージョン


Qダンプ
使用法:jellyfish qdump [オプション] db:path

qmer データベースから k-mer をダンプする

デフォルトでは、ヘッダーがカウント、シーケンスがファスタ形式でダンプされます。
k-merの配列。 列形式は 2 列出力です: k-mer カウント。

オプション (() 内のデフォルト値、*必須):

-c,- 桁
列の形式 (false)

-t,- タブ
タブ区切り文字 (false)

-L, --下位カウント=ダブル
count < lower-count の k-mer を出力しない

-U, -- 上限数=ダブル
count > upper-count の k-mer を出力しない

-v,-詳細
冗長にする (false)

-o, - 出力=文字列
出力ファイル

- 利用方法
使用法

-h, - 助けて
このメッセージ

-V,- バージョン


Qマージ
使用法: クラゲマージ [オプション] db:string+

地震データベースを結合する

オプション (() 内のデフォルト値、*必須):

-s, - サイズ=uint64
*マージされたハッシュテーブルのサイズ

-m, --マーレン=uint32
*マーの長さ

-o, - 出力=文字列
出力ファイル (merged.jf)

-p, --再プローブ=uint32
再プローブの最大数 (62)

- 利用方法
使用法

-h, - 助けて
このメッセージ

-フルヘルプ
詳細なヘルプ

-V,- バージョン


CITE
用途:クラゲ引用[オプション]

Jellyfish の論文を引用する方法

論文の引用

オプション (() 内のデフォルト値、*必須):

-b,--ビブテックス
Bibtex 形式 (false)

-o, - 出力=文字列
出力ファイル

- 利用方法
使用法

-h, - 助けて
このメッセージ

-V,- バージョン


VERSION


バージョン: 1.1.4 (2010/10/1)

onworks.net サービスを使用してオンラインでクラゲを使用する



最新のLinuxおよびWindowsオンラインプログラム