我与 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 servers

UseGalaxy 服务器实现了一套通用的工具和参考基因组核心,并且开放给任何人使用。它们还包含每个服务器本地的工具和基因组。每一个都有大量的计算资源作为后盾,它们是开始使用 Galaxy 以及共享和发布结果的绝佳场所。

galaxy main server

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 开发、管理,以及问题反馈等非常有帮助。

Gitter Galaxy Project
  • 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 i18n 国际化

除此以外想要说的是,对于 galaxy 平台项目,它覆盖了从前端到后台,从服务器到集群容器各个方面的知识,平台项目以每年 2 个版本的速度进行更新迭代,每次更新都会或多或少对时下最热最流行的工具进行尝试,如 vue、TypeScript、docker、k8s 等都已经在 galaxy 中进行了集成。

丰富的文档,优秀的社区,与时俱进的技术,使得这一开源项目越来越受欢迎。Bio & IT 本身就是一个跨学科的复杂领域,而 Galaxy Project 作为这一领域中的集大成者,从学习本身而言,它是值得去学习的。

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

2020-11-18

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

2020-07-09

Galaxy 生信平台(四):邮件与管理员配置

2020-02-22

Galaxy 生信平台(三):xlsx 上传与识别

2020-01-04

Galaxy 生信平台(二):生产环境部署

2019-11-09

Galaxy 生信平台(一):安装

2019-10-27

本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

Galaxy Project | 生信人最值得学习的开源项目之一的更多相关文章

  1. go语言值得学习的开源项目推荐

    谷歌官方维护了一个基于go语言的开源项目列表: https://github.com/golang/go/wiki/Projects 其中有非常多的优秀项目值得学习,有几百行代码适合新手阅读的项目,也 ...

  2. 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的返回值自动进行各种序列化处理(序列化为 ...

  3. 精选 TOP45 值得学习的Python项目

    精选 TOP45 值得学习的Python项目 [导读]热门资源博客 Mybridge AI 比较了 18000 个关于 Python 的项目,并从中精选出 45 个最具竞争力的项目.我们进行了翻译,在 ...

  4. Python学习教程(十)精选 TOP45 值得学习的Python项目

    精选 TOP45 值得学习的Python项目 [导读]热门资源博客 Mybridge AI 比较了 18000 个关于 Python 的项目,并从中精选出 45 个最具竞争力的项目.我们进行了翻译,在 ...

  5. 学习Coding-iOS开源项目日志(一)

    前言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目.本篇开始会陆续更新本人对github上开源的一个很不错的项目的一点点学习积累.也就是,探究着别人写的源码,我学到了 ...

  6. 学习Coding-iOS开源项目日志(二)

    继续前篇:<学习Coding-iOS开源项目日志(一)>,接着本第二篇<学习Coding-iOS开源项目日志(二)>讲解Coding-iOS开源项目. 前言:作为初级程序员,想 ...

  7. 学习Coding-iOS开源项目日志(五)

    继续,接着前面第四篇<学习Coding-iOS开源项目日志(四)>讲解Coding-iOS开源项目. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目 ...

  8. 学习Coding-iOS开源项目日志(三)

    继续前两篇,接着本第三篇<学习Coding-iOS开源项目日志(三)>讲解Coding-iOS开源项目. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的 ...

  9. Hello!GitHub 好用好玩值得收藏的开源项目集合~

    这是我许久以来从各处发现的极佳开源项目,希望分享给大家~ 如果帮到你了,给我个赞好嘛 编程语言类 ️learn-go-with-tests(通过单元测试学Go) GitHub地址:https://gi ...

  10. 适合 C++ 新手学习的开源项目——在 GitHub 学编程

    作者:HelloGitHub-小鱼干 俗话说:万事开头难,学习编程也是一样.在 HelloGitHub 的群里,经常遇到有小伙伴询问编程语言如何入门方面的问题,如: 我要学习某一门编程语言,有什么开源 ...

随机推荐

  1. Flex布局原理【转载】

    引言 CSS3中的 Flexible Box,或者叫flexbox,是用于排列元素的一种布局模式. 顾名思义,弹性布局中的元素是有伸展和收缩自身的能力的. 相比于原来的布局方式,如float.posi ...

  2. SpringBoot——定制错误页面及原理

    更多内容,前往 IT-BLOG 一.SpringBoot 默认的错误处理机制 [1]浏览器返回的默认错误页面如下:  ​☞ 浏览器发送请求的请求头信息如下:text/html 会在后面的源码分析中说到 ...

  3. 实现一个CRDT工具库——PSet

    PSet 这段代码实现了一个PSet,即Positive Set,是GSet的扩展.PSet是一个集合,支持添加和删除元素,但是不支持重复元素.PSet的实现是通过两个GSet来实现的,一个GSet存 ...

  4. vue路由加载页面

    当vue路由切换时,有时候会出现短暂白屏,需要添加一个加载状态 参考:buildadmin 地址:https://demo.buildadmin.com/#/ 利用vue的路由导航守卫:beforeE ...

  5. 使用vSphere Update Manager 升级 ESXi 主机

    使用vSphere Update Manager 升级 ESXi 主机 vSphere Update Manager  vSphere Update Manager 是用于升级.迁移.更新和修补群集主 ...

  6. Linux 端口及防火墙常用命令

    Linux 端口及防火墙操作 查看端口操作 一. netstat命令 -t (tcp) 仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化为数字 -l ...

  7. MySQL相关知识点思维导图整理

    MySQL相关知识点思维导图整理 Xmind思维导图下载地址: 蓝奏云:https://shuihan.lanzoui.com/iXZw7frkn5a

  8. 云上大数据存储:探究 JuiceFS 与 HDFS 的异同

    HDFS 作为 Hadoop 提供存储组件,已经成为大数据生态里面数据存储最常用的选择,通常在机房环境部署. JuiceFS 是一个基于对象存储的分布式文件系统,用户可以在云上快速地搭建按需扩容的弹性 ...

  9. ORA-12560: TNS: 协议适配器错误 windows

    1.监听服务没有起起来.windows平台个一如下操作:开始-程序-管理工具-服务,打开服务面板,启动oraclehome92TNSlistener服务. 2.database instance没有起 ...

  10. vivo全球商城:电商交易平台设计

    作者:vivo 官网商城开发团队 - Cheng Kun.Liu Wei 本文介绍了交易平台的设计理念和关键技术方案,以及实践过程中的思考与挑战. 点击查阅:<vivo 全球商城>系列文章 ...