2017-03-09 11 views
0

장점!대형 바이오 형식 파일을 비동기 적으로 액세스 할 수있는 데이터베이스 형식의 파일로 변환하는 방법 width

저는 캔버스를 생성하기 위해 jgv.js (doc 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> 

항목 위의 일반 텍스트 파일이나 이진 파일의 형태가 될 수있는 생체 정보 문에서도 (* 위치 : 여기

은 간단한 설정 데모입니다 .bam).

문제는 바이오 파일이 너무 넓어서 직접 액세스 할 수 없으며 클라이언트에 대한 언급이 없습니다. 예를 들면 :

그래서, 그 파일이 조각으로 조각을 accessable 한 만들 수있는 백 - 엔드 솔루션이있다? 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

너무 넓은 질문입니다. 조각으로 파일을 가져 오는 데는 여러 가지 방법이 있습니다. php는 fseek (doc) 또는 fgets과 같은 파일을 다루는 많은 기능을 가지고 있습니다. 3G 데이터를 사용자에게 전송하는 것이 좋지만 백엔드에서 필요한 계산을 수행하는 것이 좋습니다.

이미지 라이브러리 (gd2?)를 사용하면 서버의 게놈 파일에 이미지 기반을 만들 수 있습니다. 방대한 양의 데이터를 클라이언트로 전송할 필요가 없습니다.

0

예. 형식 bam은 전체 게놈이 정렬 세부 정보를 읽음을 나타내므로 매우 큽니다. 형식 vcf는 전체 게놈 SNP 정보와 각각의 주석을 표시합니다.