2017-03-09 8 views
0

長所!大規模なバイオフォーマットファイルを、非同期にアクセスできるデータベースのようなファイルに変換する方法JavaScript

生物学的データをキャンバスチャートにレンダリングする視覚化プロジェクトがあります。キャンバスを生成するのに、jgv.jsdoc API)というjavascritpフレームワークを使用しています。コード内トラック

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>IGV Data Vis</title> 
    <link rel="stylesheet" href="source/jquery-ui.css"> 
    <link rel="stylesheet" href="source/font-awesome.min.css"> 
    <link rel="stylesheet" href="source/igv-1.0.1.css"> 
    <script src="source/jquery.min.js"></script> 
    <script src="source/jquery-ui.min.js"></script> 
    <script src="source/igv-1.0.1.js"></script> 
</head> 
<body> 
    <div id="container"></div> 

    <script> 
     let options = { 
       palette: ["#00A0B0", "#6A4A3C", "#CC333F", "#EB6841"], 
       locus: "7:55,085,725-55,276,031", 

       reference: { 
        id: "hg19", 
        fastaURL: "//igv.broadinstitute.org/genomes/seq/1kg_v37/human_g1k_v37_decoy.fasta", 
        cytobandURL: "//igv.broadinstitute.org/genomes/seq/b37/b37_cytoband.txt" 
       }, 

       trackDefaults: { 
        bam: { 
         coverageThreshold: 0.2, 
         coverageQualityWeight: true 
        } 
       }, 

       tracks: [ 
        { 
         name: "Genes", 
         url: "//igv.broadinstitute.org/annotations/hg19/genes/gencode.v18.collapsed.bed", 
         index: "//igv.broadinstitute.org/annotations/hg19/genes/gencode.v18.collapsed.bed.idx", 
         displayMode: "EXPANDED", 
         height: 350, 
         color: '#ff0000' 
        } 
       ] 
      }; 

     let browser = igv.createBrowser(document.getElementById('container'), options); 
    </script> 
</body> 
</html> 

項目以上のプレーンテキストファイルやバイナリファイルの形態であることが可能で生体情報たstatments(*以下のとおりです。ここで

は、簡単な設定のデモです.bam)。

問題は、バイオファイルが大変大きくて、私が直接アクセスできない、クライアントに言及していないということです。以下のような:

  • .bam 3Gおおよそ
  • .vcf 1Gおおよそ

ので、は、それらのファイルが1枚ずつアクセス可能にする任意のバックエンドのソリューションがありますか?ちょうどAJAXのように。

ご了承ください。

+0

biostars.org求めることができますか?ヒトゲノムのすべての塩基対? –

+0

@gerardoFurtadoはい – 1Cr18Ni9

答えて

1

「ピース単位」の意味に依存します。

Bamファイルとvcfファイルは、ランダムアクセスを使用してアクセスできるbgzip形式を使用します。ウェブを経由しても、ホスティングサーバーは 'Byte-Range:'リクエストをサポートしているからです。バイオインフォマティクスのために

$ tabix "http://igv.broadinstitute.org/annotations/hg19/genes/gencode.v18.collapsed.bed.gz" "1:40723778-40759856" 

1 40723778 40759856 ZMPSTE24 1000.0 + 40723778 40759856 . 17 288,159,156,183,147,72,87,51,117,153,142,185,105,353,144,1740,177, 0,129,132,1243,2732,4727,9679,9679,10312,11868,13787,23236,27818,32538,32747,34338,34338, 
1 40728343 40728656 RP1-39G22.4 1000.0 - 40728343 40728656 . 1 313, 0, 

、あなたも、あなたがそれらのファイルには何がありますか

0

あまりにも広い質問です。ファイルを1つずつ取得する方法はたくさんあります。 phpには、fseekdoc)やfgetsのようなファイルを処理するための多くの機能があります。 3Gのデータをユーザーに転送するのではなく、バックエンドで必要な計算を行う方がよいでしょう。

イメージライブラリ(gd2?)を使用すると、サーバー上のゲノムファイルにイメージベースを作成できます。大量のデータをクライアントに転送する必要はありません。

0

はい。 フォーマットbamは、ゲノム全体がアラインメントの詳細を読み込むので、非常に大きくなります。 形式vcfは全ゲノムSNP情報とそれぞれのアノテーションを表示します

関連する問題