如何将大型生物格式文件转换为可以异步访问的类数据库文件 width JavaScript
How to convert the large bio-format file to database-like file that can be asynchronously accessed width JavaScript
优点!
我有一个将生物数据渲染到 canvas 图表的可视化项目,我在其中使用名为 jgv.js(the doc API) 的 javascritp 框架来生成 canvas.
这是一个简单的配置演示:
<!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>
上述代码中tracks项为生物信息表,可以是纯文本文件或二进制文件(*.bam)。
问题是 bio 文件太大了,我无法直接访问它们,更不用说客户端了。如:
那么,是否有任何后端解决方案可以让这些文件逐个访问?就像AJAX.
如有任何建议,我们将不胜感激!
问题太笼统了。有很多方法可以分段获取文件。 Php 有很多函数来处理像 fseek
(doc) 或 fgets
这样的文件。最好不要给用户传输3G的数据,而是在后台做需要的计算。
使用任何图像库(gd2?),您可以根据服务器上的基因组文件制作图像。无需向客户端传输大量数据。
是的。
format bam dispics the whole genome reads alignment details,所以它非常大。
格式 vcf 显示全基因组 SNP 信息及其各自的注释
取决于你所说的 'piece by piece'。
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,
生物信息学的也可以问 biostars.org
优点!
我有一个将生物数据渲染到 canvas 图表的可视化项目,我在其中使用名为 jgv.js(the doc API) 的 javascritp 框架来生成 canvas.
这是一个简单的配置演示:
<!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>
上述代码中tracks项为生物信息表,可以是纯文本文件或二进制文件(*.bam)。
问题是 bio 文件太大了,我无法直接访问它们,更不用说客户端了。如:
那么,是否有任何后端解决方案可以让这些文件逐个访问?就像AJAX.
如有任何建议,我们将不胜感激!
问题太笼统了。有很多方法可以分段获取文件。 Php 有很多函数来处理像 fseek
(doc) 或 fgets
这样的文件。最好不要给用户传输3G的数据,而是在后台做需要的计算。
使用任何图像库(gd2?),您可以根据服务器上的基因组文件制作图像。无需向客户端传输大量数据。
是的。 format bam dispics the whole genome reads alignment details,所以它非常大。 格式 vcf 显示全基因组 SNP 信息及其各自的注释
取决于你所说的 'piece by piece'。
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,
生物信息学的也可以问 biostars.org