これは、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 サービスを使用してオンラインでクラゲを使用する