问题标签 [bioinformatics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1749 浏览

perl - 如果我有坐标,我如何使用 UCSC 的 Perl 脚本提取 DNA 序列?

如果我有它们的坐标,如何使用 Perl 脚本从基因组浏览器 (UCSC) 中提取 DNA 序列?

0 投票
3 回答
350 浏览

c++ - 带有字符串键的矩阵是否有 Boost(或其他常见库)类型?

我有一个密集矩阵,其中索引对应于基因。虽然基因标识符通常是整数,但它们不是连续的整数。它们也可以是字符串。

我想我可以使用带有整数键的某种增强稀疏矩阵,它们是否连续都没关系。或者这仍然会占据很大的空间,特别是如果某些基因有九位数的标识符?

此外,我担心稀疏存储是不合适的,因为这是一个全部矩阵(如果基因存在,每个细胞中都会有一段距离)。

我不太可能需要执行任何矩阵运算(例如,矩阵乘法)。我需要从矩阵(切片)中提取向量。

似乎最好的矩阵类型将由 Boost unordered_map(哈希映射)或什至可能只是一个 STL 映射作为键控。

我看错了吗?我真的需要自己动手吗?我以为我以前在某个地方看到过这样的课程。

谢谢!

0 投票
2 回答
249 浏览

python - 优化存储在 SQLite 中的数据 - 如何加入多个联系人?

我正在存储不同元素之间的联系人。我想消除某些类型的元素并存储由消除的元素互连的元素的新联系人。

问题背景

想象一下这个问题。你有一个水分子,它与其他分子接触(如果接触是氢键,我的水周围可能有 4 个其他分子)。如下图所示(A、B、C、D 是其他一些原子,点表示接触)。

我有关于所有点的信息,我需要消除中心的水,并创建描述 AC、AD、AB、BC、BD 和 CD 联系人的记录。

数据库结构

目前,我在数据库中有以下结构:

atoms

  • "id" integer PRIMARY KEY,
  • "amino" char(3) NOT NULL,(HOH 表示水或其他值)
  • 其他标识原子的列

contacts

  • "acceptor_id" integer NOT NULL,(靠近我的氢的原子,这里是 C 或 D)
  • "donor_id" integer NOT NULL,(此处为 A 或 B)
  • "directness" char(1) NOT NULL,(这应该是直接的 D 和水介导的 W)
  • 关于联系人的其他列,例如距离

编辑:如何看待前面描述的案例中的数据。

atoms

contacts

我需要从中制作

contacts

当前解决方案(不足)

现在,我正在浏览所有具有donor.amino = "HOH". 在此示例中,这将从 C 和 D 中选择联系人。对于这些选定的联系人中的每一个,我查找与当前选定联系人中的联系人相同的联系人acceptor_iddonor_id根据这些信息,我创建了新联系人。最后,我删除了与 HOH 之间的所有联系人。

这样,我显然无法创建 CD 和 AB 联系人(其他 4 个都可以)。

如果我尝试类似的方法 - 尝试找到两个具有相同donor_id 的联系人,我最终会得到重复的联系人(CD 和 DC)。

有没有一种简单的方法来检索所有六个联系人而不重复?

我梦想着某个一页长的 SQL 查询只检索这六个想要的行。:-)
但是,欢迎任何其他想法。

最好保留有关谁是捐赠者的信息(如果可能),但不是绝对必要的。

非常感谢所有阅读此问题的人。

0 投票
1 回答
690 浏览

python - 使用脚本解析大型 XML 文件或使用 BioPython API?

嘿伙计们,这是我在这里的第一个问题。我正在尝试在 SQL 中制作 UniprotKB 的本地副本。

UniprotKB 为 2.1GB,采用 XML 和 SwissProt 使用的特殊文本格式

这是我的选择:

1) 使用 SAX 解析器 (XML) - 我选择了 Ruby 和 Nokogiri。我开始编写解析器,但我最初的反应是:如何将 XML 模式映射到 SAX 解析器?

2) BioPython - 我已经安装了 BioSQL/Biopython,它确实为我创建了我的 SQL 模式,并且我能够成功地将一个 SwissProt/Uniprot txt 文件插入到数据库中。

我现在正在整个 2.1gb 上运行它(交叉手指)。这是我正在运行的代码:

编辑:它现在崩溃了,因为事务被锁定(因为表是 Innodb) 错误号:1205 超过锁定等待超时;尝试重新启动事务。我正在使用 MySQL 版本:5.1.43

我应该将我的数据库切换到 Postgrelsql 吗?

0 投票
7 回答
3635 浏览

matlab - 您认为生物信息学最好的语言是什么?

我在生物信息学方面做了几项研究工作,并为他们使用了 Matlab。Matlab 有很多强大的工具并且易于使用。我确实考虑过基因组测序和预测代谢途径。我想知道其他人认为什么是最好的?或者可能没有一种特定的语言,而是一些最适合数学繁重且处理大量数据的生物信息学工作的语言。

0 投票
2 回答
1205 浏览

python - 按规范值管理科学数据依赖图的python解决方案

我有一个看起来很笼统的科学数据管理问题,但我找不到现有的解决方案,甚至找不到它的描述,这让我很困惑。我即将开始一次重大的重写(python),但我想我会为现有的解决方案投最后一次,所以我可以放弃自己的并回到生物学,或者至少学习一些合适的语言以便更好地进行谷歌搜索.

问题:我有昂贵的(数小时到数天来计算)和大(GB)的数据属性,这些属性通常是作为一个或多个其他数据属性的转换而构建的。我需要准确跟踪这些数据是如何构建的,这样如果它适合问题(使用正确的规范值构建)或根据需要构建新数据,我就可以将其用作另一个转换的输入。尽管这无关紧要,但我通常会从“增值”的有点异质的分子生物学信息开始,例如,基因组中的基因和蛋白质由其他研究人员的其他过程注释。我需要结合和比较这些数据来做出自己的推论。通常需要许多中间步骤,而且这些步骤可能很昂贵。此外,最终结果可以成为其他转换的输入。所有这些转换都可以通过多种方式完成:使用不同的初始数据(例如使用不同的生物体)进行限制,在相同的推理中使用不同的参数值,或者使用不同的推理模型等。分析经常变化并建立在其他分析之上以计划外的方式。我需要知道我拥有哪些数据(哪些参数或规范完全定义了它),这样我才能在适当的时候重复使用它,以及为了一般的科学完整性。

我的总体努力:我在设计我的 python 类时考虑到了描述问题。类对象构建的所有数据属性都由一组参数值描述。我将这些定义参数或规范称为“def_specs”,这些 def_specs 及其值称为数据 atts 的“形状”。进程的整个全局参数状态可能非常大(例如一百个参数),但任何一个类提供的数据 atts 只需要其中的一小部分,至少直接需要。目标是通过测试它们的形状是否是全局参数状态的子集来检查先前构建的数据 atts 是否合适。

在一个类中,通过检查代码很容易找到定义形状所需的 def_specs。当一个模块需要来自另一个模块的数据时,就会出现问题。这些数据 atts 将有自己的形状,可能由调用对象作为 args 传递,但更多时候是从全局参数状态中过滤出来的。调用类应该增加其依赖的形状,以维护其数据属性的完整描述。理论上这可以通过检查依赖图来手动完成,但是这个图可能会变得很深,并且有很多模块,我会不断地更改和添加,而且......我太懒了,也太粗心了,无法手动完成.

因此,程序通过跟踪对其他类属性的调用并通过托管的调用堆栈将它们的形状推回调用者来动态发现数据 atts 的完整形状__get__。当我重写时,我发现我需要严格控制对构建器类的属性访问,以防止任意信息影响数据 atts。幸运的是,python 使用描述符使这变得容易。

我将数据 atts 的形状存储在数据库中,以便我可以查询是否已经存在适当的数据(即其形状是当前参数状态的子集)。在我的重写中,我通过出色的 SQLAlchemy 从 mysql 转移到对象 db(ZODB 或 couchdb?),因为当发现额外的 def_specs 时,必须更改每个类的表,这很痛苦,因为一些 def_specs 是python 列表或字典,很难翻译成 sql。

由于需要严格的属性控制,我不认为这种数据管理可以与我的数据转换代码分开,尽管我正在尽可能地这样做。我可以使用现有的类,用一个类包装它们,该类提供它们的 def_specs 作为类属性,并通过描述符进行数据库管理,但是这些类是终端的,因为无法进一步发现额外的依赖形状。

如果数据管理不能轻易地与数据构建分开,我想不可能有一个开箱即用的解决方案,而是一千个特定的解决方案。也许有一个适用的模式?我会很感激任何关于如何去寻找或更好地描述问题的提示。对我来说,这似乎是一个普遍的问题,尽管管理深度分层的数据可能与网络的盛行不符。

0 投票
3 回答
4563 浏览

c# - 在 C# 中读取 FASTA 文件的最佳方法

我有一个包含几个蛋白质序列的 FASTA 文件。格式就像

有没有一种好方法可以读取这个文件并分别存储序列?

谢谢

0 投票
2 回答
643 浏览

image-processing - 图像处理视频讲座或任何其他学习资源?

我是图像处理的新手。我将使用图像处理来处理医学图像。我正在寻找视频讲座或任何其他好的学习资源?任何帮助。提前致谢。

问候, Saghar Ayyaz

0 投票
1 回答
458 浏览

javascript - 用于打开用户定义链接并进行用户定义表单下拉框选择的书签

我写了一个小册子来打开一个用户定义的网络链接,在这个特定的情况下,一个特定的基因组位置在 UCSC 基因组浏览器中。

人类基因组中有 24 条染色体可以显示,我想做以下事情:

1)从用户输入的字符串中解析出染色体

在 java 脚本中使用正则表达式从 chr22:213243007-213243247 解析 22 或从 chrX:213243007-213243247 解析 X

2)根据用户输入在UCSC表单的下拉选项中进行选择

对于 22 条染色体中的每一条,共有 88 条染色体,有 4 条轨迹或数据集要显示。根据上面选择的链接,这些可以在UCSC 基因组浏览器的“自定义轨道”部分中选择,例如

http://genome.ucsc.edu/cgi-bin/hgTracks?hgS_doOtherUser=submit&hgS_otherUserName=Denilw&hgS_otherUserSessionName=mrkdOvrExpUniqMonometh&position=chr14%3A22%2C409%2C038-22%2C409%2C507

HS0356_chr_ CHROMOSOME _duplicates_standard_len_triangle HS0445_dpwg_chr_chr CHROMOSOME _duplicates_standard_len_triangle HS1328_chr_ CHROMOSOME _duplicates_standard_len_triangle HS1329_dpwg_chr_chr CHROMOSOME _duplicates_standard_len_triangle

然后我想要上面的下拉菜单,其中CHROMOSOME在第 1 部分中定义为从隐藏更改为完整,以便只显示感兴趣的染色体的数据。

也许这样的事情会有所帮助: http: //www.codeproject.com/KB/scripting/autoselect.aspx

0 投票
4 回答
4780 浏览

python - 在 Python 中有效地获取基因组序列?

如何使用 Python 有效地获取基因组序列?例如,来自 .fa 文件或其他一些容易获得的格式?我基本上想要一个接口 fetch_seq(chrom, strand, start, end) 它将返回指定链上给定染色体上的序列 [start, end]。

类似地,是否有用于获取 phastCons 分数的编程 python 接口?

谢谢。