如何在F3.TA

时间:2016-12-13 12:53:32

标签: javascript parsing d3.js fasta

我有一个小的DNA序列fasta文件,如下所示:

  

序列1>
  ACATATTGGAGGCCGAAACAATGAGGCGTGATCAACTCAGTATATCAC

     

序列2>
  CTAACCTCTCCCAGTGTGGAACCTCTATCTCATGAGAAAGCTGGGATGAG

问题

  1. 如何在d3.js中解析它?
    • 喜欢计算以fasta格式存储的100个序列的平均序列,以及如何在d3中像2D对象一样捕获它。
  2. 2.如何在(开始,结束)位置提取子序列?

1 个答案:

答案 0 :(得分:1)

  

1.如何在d3.js中解析它?

D3.js是一个JavaScript(查看" js")库,用于根据数据操作文档。所以,在一天结束时,D3 javascript,并且没有"解析"核酸序列的功能。

关于D3(实际上是关于JavaScript),您可以将DNA序列作为字符串处理:

"ACATATTGGAGGCCGAAACAATGAGGCGTGATCAACTCAGTATATCAC..."

或作为数组:

["A", "C", "A", "T", "A"...]

或者,以一种繁琐的方式,作为一个对象数组:

[{position:1, base:"A"}, {position:2, base:"B"}...]

这取决于你。 FASTA是基于文本的,这意味着我们将数据视为字符串(第一个选项)。

  

2.如何在(开始,结束)位置提取子序列?

由于D3是一个javascript库,您必须使用JavaScript方法处理您的字符串。

例如,要查找序列中起点(TAC,对应于UAG密码子)三联体的位置,可以使用indexOf



var sequence = "ACATACTGGAGGCCGAAACAATGAGGCGTGATCAACTCAGTATATCAC";

var start = "TAC";

console.log(sequence.indexOf(start))




(请注意,我所知道的大多数计算机语言都是基于零的,这意味着前一个代码段中的结果2显示启动序列始于序列的第三个基础

或者,要将序列从给定的开始提取到给定的句点,您可以使用substringindexOf



var sequence = "ACATACTGGAGGCCGAAACAATGAGGCGTGATCAACTCAGTATATCAC";

var start = "TAC";

var stop = "GGC"

console.log(sequence.substring(sequence.indexOf(start), sequence.indexOf(stop)+3))




PS :除了实际的核苷酸序列外,FASTA文件还有一个标题和一堆其他东西。如果通过"解析" 您正在谈论从FASTA文件中仅提取序列,我建议您发布另一个问题,而不是标签D3,标记为Javascript,并说明了FASTA文件的内容。