問題タブ [samtools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
424 参照

perl - コマンドラインでは機能しますが、シェルスクリプトでは機能しません

私はこの行を持っています

-Sと-bの間のダッシュは、それがSTDINからのものであることをプログラムに示すことになっています。コマンドラインのperlスクリプトから実行できますが、シェルスクリプトに移動しようとすると、データを出力せずにファイルが作成されます。任意のアイデアをいただければ幸いです。

0 投票する
2 に答える
801 参照

database - Perl: 2 つの列を持つタブ ファイルのインデックスを作成する

最大 2 億行 (通常は約 2000 万行) と 2 つの列を持つ巨大なタブ区切りファイルがあります。最初の列には最大 40 文字の ASCII 単語が含まれ、2 番目の列には整数が含まれます。

次の手順を実行したいと思います。

  1. 最初の列で並べ替え
  2. 重複する行を削除して、すべての行を一意にします
  3. 最初の列の指定されたエントリのすべての行を読み取る

3 GB のメモリ制限があり (すべてのデータをハッシュに読み込むことはできません)、無制限のハード ディスク領域があり、単一のコアでスクリプトを実行したいと考えています。いくつかのスクリプトを並行して実行するつもりなので、ハード ディスクの読み取りおよび書き込み操作が高すぎないようにする必要があります。

ファイルのサイズを考慮して、(Perl で) 私のスクリプトの実装をどのように進める必要がありますか?

ファイルのサイズを考慮して、最初のステップにどのアルゴリズムをお勧めしますか?

ステップ 3 は、私が考える最も複雑な部分です。これをどのように処理すればよいですか?索引付けアルゴリズムに精通していません。問題に最適なものを提案していただけますか?使用できる Perl モジュールはありますか?

最初にファイルをバイナリ ファイルに変換することは理にかなっていますか (SAM を BAM に変換するなど)。はいの場合、そのようなファイルを変換および処理するための指示またはアルゴリズムはありますか?

0 投票する
1 に答える
1318 参照

debian - Debianにtophatをインストールするにはどうすればいいですか?

私はすべてを検索して試しました。システムに蝶ネクタイ、samtools、libbam-devがインストールされています。実行./configure中にこのエラーが発生します:

このエラーを解決してtophatをインストールするにはどうすればよいですか?

0 投票する
1 に答える
1967 参照

linux - samtools バイナリをいくつかのディレクトリにコピーする場所

Mac OS X にカフスボタンを取り付けています。手順は次のとおりです。

http://cufflinks.cbcb.umd.edu/tutorial.html

[SAM ツールのインストール] の下で、以下の手順に従います

  1. SAM ツールをダウンロードする
  2. SAM ツールの tarball を展開し、cd で SAM ツールのソース ディレクトリに移動します。
  3. コマンド ラインで「make」と入力して、SAM ツールをビルドします。
  4. SAM ツール バイナリ、含まれているライブラリ libbam.a、およびライブラリ ヘッダーをコピーするディレクトリを選択します。一般的な選択は /usr/local/ です。
  5. libbam.a を上記で選択したフォルダーの lib/ ディレクトリ (例: /usr/local/lib/) にコピーします。
  6. include/ ディレクトリに「bam」というディレクトリを作成します (例: /usr/local/include/bam)。
  7. ヘッダー (.h で終わるファイル) を上記で作成した include/bam ディレクトリ (例: /usr/local/include/bam) にコピーします。
  8. samtools バイナリを PATH 内のディレクトリにコピーします。

最初の 7 つの手順を実行しましたが、最後の手順 (#8) を続行する方法がわかりません。次のコマンドを使用する必要があります。

または他のディレクトリに?手順 8のPATHは何を示していますか? ありがとう!

0 投票する
1 に答える
3921 参照

cygwin - cygwin で samtools をコンパイルして動作させる方法

この問題を解決するには、助けが必要です。Cygwin (Windows 8 64 ビット) で Samtools をコンパイルすると、エラーが発生しました。

次のメッセージを受け取りました。

ADMIN@USER ~/samtools-0.1.19

何が問題で、どのように修正する必要があるか教えてください。-D_CURSES_LIB=1 を -D_CURSES_LIB=0 に変更し、"LIBCURSES= -lcurses # -lXCurses" を "LIBCURSES= # -lcurses # -lXCurse

エラーメッセージはまだ続きます。助けてください..

0 投票する
2 に答える
441 参照

c - 書き込み呼び出しと読み取り呼び出しの間で popen2() がハングするのはなぜですか?

samtoolsの使用をC プログラムに統合しようとしています。このアプリケーションは、 BAMと呼ばれるバイナリ形式でデータを読み取りますstdin

(これは の無駄な使い方だと思いますが、BAM ファイルのバイトをコマンド ラインcatでパイプする方法を示しているだけです。これらのバイトは、他のアップストリーム プロセスから取得される可能性があります。)samtools

unsigned charCプログラム内で、バイトのチャンクをsamtoolsバイナリに書き込み、同時にsamtoolsこれらのバイトを処理した後に標準出力をキャプチャしたいと思います。

プロセスへの書き込みとプロセスからの読み取りを同時に行うことはできないためpopen()、公開されている の実装を使用することを検討しました。これはpopen2()、これをサポートするように作成されているようです。

私は次のテスト コードを書きました。これwrite()は、同じディレクトリにある BAM ファイルの 4 kB チャンク バイトをsamtoolsプロセスにしようとします。次にread()、出力からのバイトをsamtoolsライン バッファーに格納し、標準エラーに出力します。

( のローカル コピーについてはfoo.bam、テストに使用しているバイナリ ファイルへのリンクを次に示します。ただし、テスト目的であれば、どの BAM ファイルでもかまいません。)

コンパイルする:

write()問題は、呼び出し後にプロシージャがハングすることです。

Iが呼び出しの直後に変数close()である場合、ループはハングする前にもう 1 回繰り返されます。infpwrite()

close()声明で:

この変更により、コマンドラインで実行した場合に得られるはずの出力が得られますsamtoolsが、前述のように、手順が再びハングします。

popen2()チャンク内のデータを内部バッファに読み書きするためにどのように使用しますか? これが不可能な場合、popen2()このタスクに適した代替手段はありますか?

0 投票する
1 に答える
585 参照

java - 複数の RG を含む BAM ファイルで GATK DepthOfCoverage を実行する

2 つの元のファイルからマージしたいくつかの BAM ファイルで GATK DepthOfCoverage を実行しようとしています (読み取り数を最大化するために、同じサンプルを 2 つのレーンでシーケンスしました)。マージされたファイルには異なるリード グループのリードがあり (各リードの RG フィールドに反映されている)、元の 2 つのファイルのヘッダーの @RG フィールドが異なっていることに気付きました。

ヘッダーに新しい @RG フィールドを追加して samtools reheader を実行しようとしましたが、2 つのファイルをマージすると、各読み取りグループは、ヘッダーの@RG の名前ではなく、2 つの BAM ファイルの名前に基づいています。2 つの BAM ファイル。

たとえば、私の 2 つの開始サンプルは次のとおりです。

しかし、samtools merge を使用してそれらをマージすると

結果のmerged.bamには、2つのうちの1つだけと同じ@RGフィールドがヘッダーにあり、各読み取りには、元のファイルの名前に基づいた読み取り名があります。

1を読む

RG:Z:27091.pe.markdup

2を読む

RG:Z:27163.pe.markdup

など、BAM の残りの読み取りについて

私は何か間違ったことをしていますか?マージする前に、元のファイルをそれぞれリヘッドする必要がありますか? それとも、GATK と互換性のあるものにマージした後、単純にリヘッドしますか? マージ前のヘッダーの @RG フィールドが何であっても、マージされたファイルには、2 つの入力ファイルの名前に基づいて常に異なる RG の読み取りが含まれるようです。

また、読み取りグループに関して、GATK DepthOfCoverage が入力として何を必要としているのかもわかりません。すべての読み取りに対して 1 つの RG が必要ですか? その場合、samtools マージとは別のものを使用する必要がありますか?

あなたが私に与えることができる助けを前もって感謝します。

0 投票する
1 に答える
147 参照

c - gcc は cygwin で phtread を見つけることができません

cygwin に samtools() をインストールしようとしています。私はここここでさまざまなトリックに従いましたが、私の問題は機能していないことpthreadです。gcc がインストールされ、動作し、インストールされ、動作zlibし、インストールncursesされ、動作します + すべてが $PATH に追加されました...しかし、実行するmakeと、Makefile の次の行に到達します。

unix コマンド -pthread を認識しないため、エラーがスローされます。今... pthread は cygwin のデフォルト インストールの一部である必要があるため、これが機能しない理由がわかりません...

どんなヒントも素晴らしいでしょう!

0 投票する
1 に答える
52 参照

installation - Samtools インストールでの警告

Linuxでコマンド「make」を使用してgccを使用してコンパイルすることにより、最近samtoolsをインストールしました。

表示された2つの警告を除いて、すべてがスムーズに進みました。

(1) bam_reheader.c:36:19: 警告: 変数 'old' が設定されていますが、使用されていません [-Wunused-but-set-variable]

(2) kprobaln.c:78:21: 警告: 変数 'is_diff' が設定されていますが、使用されていません [-Wunused-but-set-variable]

これらの警告が何を意味するのか、また、これが samtools を実行する際に潜在的な問題になる可能性があるかどうかを知っている人はいますか?

ありがとう。