代码之家  ›  专栏  ›  技术社区  ›  Michael Barton

有没有现有的解决方案来创建一个网站前端的通用DNA序列数据库?

  •  6
  • Michael Barton  · 技术社区  · 15 年前

    我想为我工作的实验室创建一个带有Web前端的RRNA序列数据库。在生物学中,使用对齐算法(如blast和hmmer)搜索大量序列似乎很常见,所以我想知道是否有任何现有的php/python/rails项目允许使用网站搜索表单轻松创建通用序列数据库?

    更新 : GMOD 是我要查找的服务器类型。还有人建议我看看 BioMart 也有类似的功能。

    10 回复  |  直到 14 年前
        1
  •  7
  •   Yannick Wurm    14 年前

    少一点裸露的东西是 http://gmod.org/ -最简单的安装应该为您提供一个爆炸表单和一个“序列浏览器”界面。 不知道是否有一个HMMER表格…

    (可以很好地扩展——从简单的sqlite扩展到真正的数据库)

    或者,您可能需要查看Galaxy服务器。 http://main.g2.bx.psu.edu/
    它的第一个目标是使复杂的基因组查询对非计算性的人来说更容易,但我不知道它是否具有爆炸性。

    干杯, 亚尼克


    更新-部分灵感来自这篇文章,我们正在开发 simple local blast server 作为易于部署的 alternative to wwwblast . 正在进行的工作 http://www.sequenceserver.com . 演示服务器让您 BLAST ant genomes .

        2
  •  2
  •   Angelo    15 年前

    这很可能是杀伤力过度,但是……NCBI有很多可用的软件。 Link .

    特别地, this .

        3
  •  1
  •   James Thompson    15 年前

    还有一个简单的CGI前端与NCBIBLAST包一起分发。您可以从他们的ftp站点下载,这里是:

    ftp://ftp.ncbi.nih.gov/

        4
  •  0
  •   David Brunelle    15 年前

    它不是你所说的任何一种语言,而是Bioperl,它是专门为dna和rna以及其他酸碱和蛋白质基“编程”而设计的功能集合。

    在cpan.org中查找

        5
  •  0
  •   peter.murray.rust    15 年前

    我强烈建议联系生物信息学界。最重要的是设计数据库并决定其用途。你在标题中提到了DNA,但文本中提到了rrna——这是完全不同的东西。如果这只是一个打字错误,很好-但是如果你不理解区别,那就和社区里的人谈谈。

    既然我参与了这个社区,你可能想联系我的体验社区。( http://en.wikipedia.org/wiki/MyExperiment )如果你需要的话,请告诉我我的名字。你会找到很多友好的人和帮助。

    更新 我刚注意到你是曼彻斯特人,那是我体验的中心,所以这真的是一个显而易见的起点!

        6
  •  0
  •   Max    15 年前

    关于GMOD:我相对肯定GMOD对于您的申请是完全多余的。GMOD不是一个服务器,它是一个工具集合,数据库模式(chado)是其中之一,而chado并不是真正适合那些大部分都有序列和ID的人。Biomart也不是服务器,它是一个允许模型数据库去规范化的工具,能够足够快地运行整个基因组查询。其中一个Biomart客户机(MartView)作为Web界面提供。你现在肯定不想使用生物艺术,但我可以通过电子邮件详细解释这一点。 我觉得您首先需要一个基于Web的Blast客户端。

        7
  •  0
  •   Max    15 年前

    Galaxy:Galaxy不是一个数据库,它是一个网站,提供各种基因组(主要是DNA)序列的工具。Galaxy与UCSC基因组浏览器序列、工具和文件格式紧密相连。所以如果你想创建一个全新序列的数据库,Galaxy不适合你。它也不包括任何爆炸服务器。如果你想创建一个序列数据库,作为gmod的一部分,chado就很接近了,但是我宁愿开始使用一个文本文件来开始,见我上面的文章。

        8
  •  0
  •   dalloliogm    15 年前

    也许你可以看看 Plone4Bio .

    plone是一个用python编写的扩展内容管理引擎,具有许多特性和易于使用的应用程序,因此您可以通过使用论坛、新闻产品等模块集合来创建网站。(我知道你已经知道这一点,但这只是为了提供一些背景资料)。

    普罗农4生物 旨在为生物信息学提供一些plone应用…我不知道这个项目有多先进,我还没有使用它,但看起来至少你有一个序列对象和一些可视化的应用程序,可能还有一些搜索它们的应用程序。(P.S.他们在UniProt使用它-查看“第三方数据”部分了解任何膜蛋白)

    我不知道还有其他针对生物信息学的CMS应用程序,但也许你也可以轻松地用Django实现一些东西,而不用太费劲。

        9
  •  -1
  •   Crowe T. Robot    15 年前

    不知道信息将以何种格式存储,也不知道DNA序列是如何显示的(它只是一个长字符串吗?)您可以通过简单地将每个DNA序列插入到MySQL数据库中,然后执行一个简单的查询,例如:

    SELECT * FROM `dna_table` WHERE `sequence` = $sequence;
    

    确保使用转义字符串或参数化查询(以防止SQL注入),但除此之外,这听起来像是一个非常简单的DB程序,不应超过100行代码。

        10
  •  -1
  •   Maximilian Haeussler    15 年前

    我同意:你应该把你的问题发到bbb@bioinformatics.org或者bioperl邮件列表。

    “使用网站搜索表单轻松创建通用序列数据库”的问题似乎过于笼统。序列数据库是(id,sequence)的列表,本身不需要任何工具支持。至少我看不出你为什么需要工具。

    我认为你的问题是:是否有一个可以在本地安装的blast客户端作为webform?有一些:这个计划可能值得一试,尽管我从来没有运行过。Bioperl有独立爆炸执行的对象( http://doc.bioperl.org/releases/bioperl-1.0/Bio/Tools/Run/StandAloneBlast.html )并能以图形方式显示结果。Debian/Ubuntu Med有ncbi tools bin和ncbi rrna数据,这些数据将在几秒钟内安装必要的工具和数据库。

    我宁愿把一个10行的CGI脚本拼凑在一起,用一个输入序列执行blast到您拥有的fasta文件中,然后看看用户是否对此感到满意。

    关注编程语言:如果您愿意,可以使用shell脚本(*)来实现这一点。这甚至可能比StackOverflow上的发布花费更少的时间…;-)

    (*)偏执的计算机科学学院注意:这将是一个内部应用程序,生物学家不知道操作系统和操作员过载之间的区别,所以SQL注入是非常不可能的……

    我认为这是一个过早优化已经够糟糕的例子,从这个意义上说,设计一个系统对于一个简单的任务来说过于复杂,你可以浪费大量的时间。本着敏捷编程的精神,如果你喜欢软件工程术语,你可以简单地将一些东西拼凑在一起,然后在考虑架构之前在你的用户身上尝试一下。