我与 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. Java/Kotlin 使用Redis模拟发送验证码

    原文地址: Java/Kotlin 使用Redis模拟发送邮件验证码 - Stars-One的杂货小窝 Java中常用语连接Redis的库有lettuce和jredis,一般是推荐lettuce,其具 ...

  2. Maven常用依赖包简单

    Maven官方仓库:Maven Repository: junit » junit (mvnrepository.com) Mysql 1 <!--Mysql--> 2 <depen ...

  3. Android和adb命令

    一.名词解释 1.SDK:是软件开发工具包 2.activity(活动):驱使软件运行的一段程序,软件系统和用户进行交互的界面叫一个活动 二.adb命令 1.查看连接的设备:adb devices 2 ...

  4. Nginx主要功能

    Nginx主要功能: 1.反向代理2.负载均衡3.HTTP服务器(包含动静分离)4.正向代理 一.反向代理 反向代理应该是 Nginx 做的最多的一件事了,什么是反向代理呢,以下是百度百科的说法:反向 ...

  5. CentOS 落幕,将于2021年底结束维护

    官方最新消息: 译文: CentOS项目的未来是CentOS Stream,明年,我们将把重点从重建Red Hat Enterprise Linux(RHEL)的CentOS Linux转移到Cent ...

  6. [数据库]mysql/mysqldump命令帮助说明

    1 mysql [root@test ~]# mysql --help mysql Ver 14.14 Distrib 5.7.24-27, for Linux (x86_64) using 6.0 ...

  7. 五月十二号java基础知识点

    1.注解是代码中特殊标记,作用是告知编译器做什么事2.反射允许程序在运行状态时,对任意一个字节码获取它所有信息3.内部类是定义在类中的嵌套类4.匿名内部类是定义在类的同时创建该类的一个对象5.lamb ...

  8. sms-activate操作简便易上手且好用的接码工具【保姆级教程】

    前言 有些国外应用在使用应用上的功能时需要注册账号,由于某种不可抗因素,我们的手机号一般不支持注册,接收不到信息验证码,于是我们可以使用SmS-Activate提供的服务,使用$实现我们的需求(大概一 ...

  9. day134:2RenMJ:TypeScript的抽象类&装饰器&命名空间&模块&编译配置文件&python中的类型注解

    目录 1.抽象类 2.装饰器 3.命名空间 4.模块 5.编译配置文件 6.python的类型注解 1.抽象类 抽象类(abstract class)做为其它派生类的基类使用. 它们一般不会直接被实例 ...

  10. express获取登录服务器的IP地址

    let ip = (req.headers['x-real-ip'] || req.connection.remoteAddress).slice(7);