Galaxy Project | 生信人最值得学习的开源项目之一
我与 Galaxy Project 的渊源可以追溯到我刚毕业,还在华大实习的那一段时间,这个项目应该是我职业生涯中最重要的一段经历。虽然这么对年以来一直都关注着这个项目,但大多数都是浅尝辄止,对源码层面的理解也缺乏深度。但我依然想给大家介绍一下这个优秀的项目。
背景与简介
Galaxy Project 是由 NSF, NHGRI, The Huck Institutes of the Life Sciences, The Institute for CyberScience at Penn State, and Johns Hopkins University 提供支持,其团队是宾夕法尼亚州比较基因组学和生物信息学中心、约翰·霍普金斯大学生物系以及俄勒冈州健康与科学大学的计算生物学计划的一部分,而 Galaxy 正是由这个团队开发的,并得到了社区的贡献。
关于这个项目的一些背景介绍,可以参考 NIH Grant 2U41HG006620,我这里做了一个简单翻译。
总体而言,高通量数据产生技术,尤其是 "next generation" DNA测序技术,已为生物医学研究带来了数十年来最具颠覆性的变化。要理解由高通量技术产生的大型数据集,就需要复杂的统计和计算方法以及强大的计算能力。这导致了生物医学研究的严重危机,因为未经信息学训练的研究人员试图进行过于依赖于计算的分析。自 2005 年以来,Galaxy 项目一直致力于通过提供一个使非专家可以使用高级计算工具的框架来解决这个问题。Galaxy 试图通过提供基于 Web 的环境,使用户可以执行计算分析并自动跟踪所有详细信息,以供以后检查,发布或重复使用,从而使数据密集型研究更易于访问,透明和可重复。在拟议的项目中,我们将以几种特定方式改进 Galaxy。我们将大大提高 Galaxy 在处理大量数据集方面的可用性。现代实验通常涉及以复杂方式组织的数百个数据集。我们将使分析此类数据变得简单而直观。我们将改善软件工具的开发和分发,使开发人员更容易分发工具并让用户更容易地获取工具,同时又能保留来源。我们将大大改善对各种计算资源(如云计算和高性能群集)的访问,使生物医学研究人员能够使用传统上难以使用的资源。最后,我们将参与培训,外展和传播,包括开发可扩展的培训材料,其他人可用来进行生物医学数据分析培训。
Galaxy Project 的第一个初始版本发布于 15 年前,也就是2005年9月16日。Galaxy 有多种可用方式,尽管大多数 Galaxy 安装都是私有的,但许多团体都以多种不同形式支持 Galaxy 实例,包括可公开访问的服务器,可以轻松地在研究和商业云,容器和虚拟机上启动的 Galaxy 实例。下面是 Galaxy 官方对 2019 年前仅可公开访问的服务器进行了统计的一些信息。
Galaxy Platform
Galaxy Project 在官网 Galaxy Platform Directory: Servers, Clouds, and Deployable Resources 中对我们可以轻松使用或部署自己的 Galaxy Server 平台进行了一个资源汇总。这些资源涵盖了生命科学的各个领域。有关于基因组学(很多),宏基因组学,转录组学,蛋白质组学,药物发现以及甚至某些外部生物学(如自然语言处理(其中的一些))和社会科学的资源。
在 Galaxy 提供的众多服务中,UseGalaxy servers 是一个非常重要且常用的服务。
UseGalaxy 服务器实现了一套通用的工具和参考基因组核心,并且开放给任何人使用。它们还包含每个服务器本地的工具和基因组。每一个都有大量的计算资源作为后盾,它们是开始使用 Galaxy 以及共享和发布结果的绝佳场所。

Galaxy 的主站点位于 https://usegalaxy.org,自 2007 年以来,该网站已开放,任何人都可以免费分析其数据。该站点提供了大量的 CPU 和磁盘空间,从而可以分析大型数据集。该站点每月支持成千上万的用户和成千上万的工作。该 Galaxy 实例是在国家科学基金会(National Science Foundation)的支持下,利用了得克萨斯州高级计算中心(Texas Advanced Computing Center (TACC) )的 CyVerse 项目慷慨提供的基础架构。

帮助与支持
前期的 Galaxy Project 主要通过邮件聚合的方式进行沟通交流,现在除了推特、Github,Galaxy Project 还搭建专属的帮助论坛 Galaxy Help Forum,同时把基于免费开源即时通讯聊天软件 gitter 进行了整合(Galaxy Help Forum 的帖子会同步到 gitter galaxyproject/Lobby),这一切对于 Galaxy 开发、管理,以及问题反馈等非常有帮助。
Query all Galaxy resources with the search function in the top masthead(https://galaxyproject.org/)
Galaxy Help
Chat
Mailing Lists
Video Help
Galaxy Biostars: retired Q&A archive
学习与贡献
Galaxy Project 是一个跨越全方位的生物医学开源项目,除了 galaxy 本身,还有 training-material,tools-iuc,planemo 等一些优秀的开源项目,这些项目都是基于 Github 平台进行开源的,所有人都可以参与并提交 PR。
除此以外想要说的是,对于 galaxy 平台项目,它覆盖了从前端到后台,从服务器到集群容器各个方面的知识,平台项目以每年 2 个版本的速度进行更新迭代,每次更新都会或多或少对时下最热最流行的工具进行尝试,如 vue、TypeScript、docker、k8s 等都已经在 galaxy 中进行了集成。
丰富的文档,优秀的社区,与时俱进的技术,使得这一开源项目越来越受欢迎。Bio & IT 本身就是一个跨学科的复杂领域,而 Galaxy Project 作为这一领域中的集大成者,从学习本身而言,它是值得去学习的。

Galaxy Release_20.09 发布,新增多个数据上传组件

Galaxy Release 20.05 发布,新增多项可视化体验






本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
Galaxy Project | 生信人最值得学习的开源项目之一的更多相关文章
- go语言值得学习的开源项目推荐
谷歌官方维护了一个基于go语言的开源项目列表: https://github.com/golang/go/wiki/Projects 其中有非常多的优秀项目值得学习,有几百行代码适合新手阅读的项目,也 ...
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 我们都知道在使用WebApi的时候Controller会自动将Action的返回值自动进行各种序列化处理(序列化为 ...
- 精选 TOP45 值得学习的Python项目
精选 TOP45 值得学习的Python项目 [导读]热门资源博客 Mybridge AI 比较了 18000 个关于 Python 的项目,并从中精选出 45 个最具竞争力的项目.我们进行了翻译,在 ...
- Python学习教程(十)精选 TOP45 值得学习的Python项目
精选 TOP45 值得学习的Python项目 [导读]热门资源博客 Mybridge AI 比较了 18000 个关于 Python 的项目,并从中精选出 45 个最具竞争力的项目.我们进行了翻译,在 ...
- 学习Coding-iOS开源项目日志(一)
前言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目.本篇开始会陆续更新本人对github上开源的一个很不错的项目的一点点学习积累.也就是,探究着别人写的源码,我学到了 ...
- 学习Coding-iOS开源项目日志(二)
继续前篇:<学习Coding-iOS开源项目日志(一)>,接着本第二篇<学习Coding-iOS开源项目日志(二)>讲解Coding-iOS开源项目. 前言:作为初级程序员,想 ...
- 学习Coding-iOS开源项目日志(五)
继续,接着前面第四篇<学习Coding-iOS开源项目日志(四)>讲解Coding-iOS开源项目. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目 ...
- 学习Coding-iOS开源项目日志(三)
继续前两篇,接着本第三篇<学习Coding-iOS开源项目日志(三)>讲解Coding-iOS开源项目. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的 ...
- Hello!GitHub 好用好玩值得收藏的开源项目集合~
这是我许久以来从各处发现的极佳开源项目,希望分享给大家~ 如果帮到你了,给我个赞好嘛 编程语言类 ️learn-go-with-tests(通过单元测试学Go) GitHub地址:https://gi ...
- 适合 C++ 新手学习的开源项目——在 GitHub 学编程
作者:HelloGitHub-小鱼干 俗话说:万事开头难,学习编程也是一样.在 HelloGitHub 的群里,经常遇到有小伙伴询问编程语言如何入门方面的问题,如: 我要学习某一门编程语言,有什么开源 ...
随机推荐
- flex弹性盒子中flex-grow与flex的区别
大家在使用flex布局的时候很多情况下都会用到flex-grow这个属性, flex-grow 属性用于设置父元素剩余空间的瓜分比例, flex 属性是 flex-grow.flex-shrink ...
- GOROOT、GOPATH、Go Modules 三者的关系介绍
GOROOT GOROOT路径即为存放Golang语言内建的程序库的所在位置,简单地说就是Golang的安装路径 若按照Folang-Download and install流程,则由go env命令 ...
- 搞一个自己用的node-cli
我们都用过 vue 的cli ,或者 react的cli, 亦或是其他的cli 如 vite 等.他们都是提供了一个全局命令,然后在终端执行这个全局命令就可以创建出模板项目.今天我们就自己做一个,给 ...
- EasyRelation发布,简单强大的数据关联框架
当开发人员需要进行关联查询时,往往需要编写大量的冗余代码来处理数据之间的关系.这不仅浪费时间和精力,还会影响项目的可维护性和可扩展性. EasyRelation 是一个简单.高效的自动关联数据框架,可 ...
- IDEAL部署外部tomcat及其乱码解决
控制台tomca乱码问题: 本人使用tomcat9为例 1.启动信息有中文乱码: 原因:tomcat采用的是utf-8,而windows默认是GBK 修改java.util.logging.Conso ...
- 【Mybatis】(一)
Mybatis简介 提供持久层框架包括SQL Maps和Data Access Objects(DAO). SQL Maps提供数据库数据和java数据的映射关系,换句话说即是封装JDBC的过程. D ...
- 第138篇:了解HTTP协议(TCP/IP协议,DNS域名解析,浏览器缓存)
好家伙,发现自己的网络知识十分匮乏,赶紧补一下 这里先举个我生活中的例子 欸,作业不会写了,上网搜一下 用edge浏览器上bing必应搜一下(百度广告太多了,真不想用百度举例子) 假设这是我们 ...
- P5356 [Ynoi2017] 由乃打扑克
md调了5h才调出来恶心坏了没想到这么快就做了第二道Ynoi 据说这题其实不卡常 屠龙宝刀点击就送 题面也很清楚,给定两种操作,一种是区间加,一种是询问区间内第 k 小的数的值是多少. 对于区间加,在 ...
- AGC061 F Perfect String
毒瘤出题人,史诗加强 AGC 的 F-- 然而我连原题都不会,所以只学了原题做法. 翻译一下题意就是给定一张循环网格图,求经过 \((0,0)\) 的闭合回路条数. 由于网格图中每一个位置都等价,所以 ...
- Linux xfs文件系统stat命令Birth字段为空的原因探究
在Linux平台找出某个目录下创建时间最早的文件,测试验证脚本结果是否准确的过程中发现一个很有意思的现象,stat命令在一些平台下Birth字段有值,而在一些平台则为空值,如下所示: RHEL 8.7 ...