如何将 FASTA 读入数据框并在 d3.js 中提取 FASTA 文件的子序列
how to read FASTA into dataframe and extract subsequences of FASTA file in d3.js
我有一个 DNA 序列的小 fasta 文件,如下所示:
sequence 1 >
ACATATTGGAGGCCGAAACAATGAGGCGTGATCAACTCAGTATATCAC
sequence 2 >
CTAACCTCTCCCAGTGTGGAACCTCTATCTCATGAGAAAGCTGGGATGAG
问题
- 如何在d3.js中解析它?
- 比如从 100 个以 fasta 格式存储的序列计算平均序列,以及如何像 d3 中的 2D 对象一样捕获它。
2.How 要在(开始、结束)位置提取子序列?
1.How to parse it in d3.js?
D3.js 是一个 JavaScript(查看 "js")库,用于根据数据操作文档。所以,归根结底,D3是javascript,没有"parsing"核酸序列的功能
关于D3(其实是关于JavaScript),你可以把DNA序列当做字符串来处理:
"ACATATTGGAGGCCGAAACAATGAGGCGTGATCAACTCAGTATATCAC..."
或作为数组:
["A", "C", "A", "T", "A"...]
或者,以一种繁琐的方式,作为 objects:
的数组
[{position:1, base:"A"}, {position:2, base:"B"}...]
这取决于你。 FASTA是text-based,这意味着我们会将数据视为字符串(第一个选项)。
2.How to extract subsequence at (start, end) location?
由于 D3 是一个 javascript 库,您必须使用 JavaScript 方法处理您的字符串。
例如,要找到起始(TAC,对应于 UAG 密码子)三联体在您的序列中的位置,您可以使用 indexOf
:
var sequence = "ACATACTGGAGGCCGAAACAATGAGGCGTGATCAACTCAGTATATCAC";
var start = "TAC";
console.log(sequence.indexOf(start))
(请记住,正如我所知道的大多数计算机语言一样,JavaScript 是从零开始的,这意味着前面代码段中的结果 2
表明开始序列开始在你序列的 third 碱基)
或者,要提取从给定起点到给定终点的序列,您可以使用 substring
和 indexOf
:
var sequence = "ACATACTGGAGGCCGAAACAATGAGGCGTGATCAACTCAGTATATCAC";
var start = "TAC";
var stop = "GGC"
console.log(sequence.substring(sequence.indexOf(start), sequence.indexOf(stop)+3))
PS:FASTA 文件有一个 header 和一堆除了实际核苷酸序列之外的其他内容。如果 "parse" 你说的只是从 FASTA 文件中提取序列,我建议你 post another问题,没有标签 D3
,有标签 Javascript
并解释什么是 FASTA 文件。
我有一个 DNA 序列的小 fasta 文件,如下所示:
sequence 1 >
ACATATTGGAGGCCGAAACAATGAGGCGTGATCAACTCAGTATATCACsequence 2 >
CTAACCTCTCCCAGTGTGGAACCTCTATCTCATGAGAAAGCTGGGATGAG
问题
- 如何在d3.js中解析它?
- 比如从 100 个以 fasta 格式存储的序列计算平均序列,以及如何像 d3 中的 2D 对象一样捕获它。
2.How 要在(开始、结束)位置提取子序列?
1.How to parse it in d3.js?
D3.js 是一个 JavaScript(查看 "js")库,用于根据数据操作文档。所以,归根结底,D3是javascript,没有"parsing"核酸序列的功能
关于D3(其实是关于JavaScript),你可以把DNA序列当做字符串来处理:
"ACATATTGGAGGCCGAAACAATGAGGCGTGATCAACTCAGTATATCAC..."
或作为数组:
["A", "C", "A", "T", "A"...]
或者,以一种繁琐的方式,作为 objects:
的数组[{position:1, base:"A"}, {position:2, base:"B"}...]
这取决于你。 FASTA是text-based,这意味着我们会将数据视为字符串(第一个选项)。
2.How to extract subsequence at (start, end) location?
由于 D3 是一个 javascript 库,您必须使用 JavaScript 方法处理您的字符串。
例如,要找到起始(TAC,对应于 UAG 密码子)三联体在您的序列中的位置,您可以使用 indexOf
:
var sequence = "ACATACTGGAGGCCGAAACAATGAGGCGTGATCAACTCAGTATATCAC";
var start = "TAC";
console.log(sequence.indexOf(start))
(请记住,正如我所知道的大多数计算机语言一样,JavaScript 是从零开始的,这意味着前面代码段中的结果 2
表明开始序列开始在你序列的 third 碱基)
或者,要提取从给定起点到给定终点的序列,您可以使用 substring
和 indexOf
:
var sequence = "ACATACTGGAGGCCGAAACAATGAGGCGTGATCAACTCAGTATATCAC";
var start = "TAC";
var stop = "GGC"
console.log(sequence.substring(sequence.indexOf(start), sequence.indexOf(stop)+3))
PS:FASTA 文件有一个 header 和一堆除了实际核苷酸序列之外的其他内容。如果 "parse" 你说的只是从 FASTA 文件中提取序列,我建议你 post another问题,没有标签 D3
,有标签 Javascript
并解释什么是 FASTA 文件。