2021年9月6日,Galaxy Project 正式发布了 Release 21.09 的版本;随后11月初,发布该版本的 announcement 文档。这里总结一下该版本一些主要的更新内容,为关注和从事 Galaxy 相关工作的中文用户提供参考。
tweet-galaxy-v21.09.jpg

重点更新

工具面板

在公共 Galaxy 实例中有成千上万的可用工具,通常很难在工具面板中组织和找到工具。为了解决这个问题,我们引入了工具面板视图。管理员可以配置任意数量的工具面板视图。这些视图可以为使用 EDAM 术语注释的 Tools 自动构建,或者可以通过引用现有的 Sections(节点),Tools(工具)或者 Workflows(流程)手动构建。然后用户可以选择最适合他们当前活动的工具面板视图。默认的工具面板视图对应使用传统配置的部分(The default Tool Panel View corresponds uses the sections as they are traditionally configured.)。还可以使用服务器的域名配置默认的工具面板视图,这样就可以根据用户与服务器交互时使用的 URL 创建 Galaxy 的 “flavors”,而在幕后,这些 flavors 都是由相同的 Galaxy 流程提供的(It is also possible to configure the default Tool Panel View using the domain name of the server, so “flavors” of Galaxy can be created based on the URL that users use to interact with a server, while behind the scenes these flavors are served by the same Galaxy process.)。

Release 21.09 增加了一个“工具面板视图(Tool Panel Views)”!这些是同一个 toolbox 工具箱中的不同视图,可以有助于更容易地找到所需的工具。在未来,Galaxy 有计划创建用户自定义的工具集 (user-customisable toolboxes),但在此之前,他们要探索新的基于 EDAM 本体论的 toolboxes 工具集,这是一个围绕科学领域或进程,或者基于它们所做的科学进程(scientific process)进行组织的工具集。例如,”Filtering” 这样的类别可能有 “select lines” 或 “filter bam by quality” 这样的工具,它们都执行相同的过滤过程,尽管它们要处理的文件类型和格式都是不同的。 Galaxy 21.09 Highlight - New Toolbox.mp4 不幸的是,并不是所有的 EDAM 工具都有完整的注释,虽然我们也从 bio.tools 中提取术语(pull terms from bio.tools),但是这仍然没有得到我们的全部覆盖,许多工具仍然会出现在 “Uncategorized” 的 section 节点中。随着用户和工具开发人员使用合适的术语注释这些可以帮助每个人找到它们的工具,希望这将得到改进。

更多详细信息可以在 Pull Request 12327Pull Request 12365Pull Request 12291 中找到。

增强的远程数据和分布式计算资源使用

Release 21.09 做了许多修正和增强,以改进 Galaxy 如何使用配置的源文件插件(file source plugins)导入和写入远程数据的位置。除了可以写入远程位置的 History Export 功能之外,我们还添加了一个导出数据集工具(Export datasets),用于将个人数据集和数据集集合导出到配置的远程位置。该工具将自动维护数据集和数据集集合的名称和结构。我们增加了导入整个远程数据文件夹的可能性,使数据选择对话框更加直观。我们还对扩展的元数据收集策略和 Pulsar 进行了大量的改进和修复,这样更多的工具可以在 Pulsar 中运行并将数据写回存储器,而不需要首先通过 Galaxy。(Pull Request 12785, Pull Request 11613, Pull Request 12250, Pull Request 12372, Pull Request 12760, Pull Request 12267, Pull Request 11949, Pull Request 12310, Pull Request 12388, Pull Request 12641)

对 FastAPI 的迁移和 API 路由的扩展文档

Release 21.09 更新和迁移了许多到 FastAPI 的 API 路由,并扩展了这些路由的文档和验证。(Pull Request 11315, Pull Request 11827, Pull Request 11983, Pull Request 12131, Pull Request 12337, Pull Request 12195, Pull Request 12370, Pull Request 12391, Pull Request 12417, Pull Request 12505)

迁移到 SQLAlchemy 1.4和声明性映射

Galaxy 现在使用 SQLAlchemy 的版本是 1.4,这是与数据库进行异步交互的先决条件。我们还将数据库模型的定义方式现代化为更常用的声明性映射方法,这种方法更简洁,文档更好。(Pull Request 12042, Pull Request 12045, Pull Request 12064, Pull Request 12438, Pull Request 12060, Pull Request 12424, Pull Request 12461)

现代化的工具表单

Galaxy 的 Tool Form 工具表单界面已经完成了从 Backbone 到 Vue 的迁移。这改进了参数验证的反应性,并使 Tool 参数能够迁移到 Vue,这也允许我们添加更多类型的 Tool 参数。我们进一步将 Workflow Editor,Workflow Run Form 和 Show Dataset Parameter 页面的 Tool Form variant 迁移到 Vue。(Pull Request 12300, Pull Request 12031, Pull Request 12227, Pull Request 12296, Pull Request 12323, Pull Request 12329, Pull Request 12374, Pull Request 12432, Pull Request 12702, Pull Request 12261)

新用户欢迎页面

我们已经添加了一个页面,新用户在创建一个新的 Galaxy 帐户后将直接访问这个页面。(Pull Request 11085, Pull Request 12639)

数据集合 (Beta History Updates)

您是否曾经使用错误的 dbkey 或数据类型创建过数据集合(create a collection with the wrong dbkey or datatype)?在 Beta History 中,您现在可以更改集合的数据类型和 dbkeys!这将为每个处理大型数据集的人节省大量时间 (Pull Request 11799)。 Galaxy 21.09 Highlight - Change Datatype + DBkey.mp4另外,你的数据集经历处理失败吗(did a collection ever fail for you)?你想知道为什么?现在您可以通过查看集合的详细信息按钮找到 (Pull Request 12261) !

导入数据

从远程文件视图中选择数据变得更容易了!现在,您可以选择文件夹和文件,并一次性递归导入这些文件夹中的所有数据。以前你只能选择一个文件夹中的文件,所以,在 Galaxy 这样一个关键性新功能的可用性上,这是一个巨大的改进 (Pull Request 12310)。但是伴随着巨大的力量而来的是巨大的责任,小心不要输入整个 NCBI! Galaxy 21.09 Highlight - Remote Files enhancements.mp4

Reports

Report 报告组件可以通过智能方式自动排列,但由于报表组件的浮动存在一些问题,这些组件现在将是全宽的,直到我们能够找到一种好的方法来提供类似的功能,来达到允许您控制 Report 报告的布局 (Pull Request 12085)。
21.09-reports.png

News Webhook

你可能正在阅读最近增加的 “News” 功能!这是这个组件的第一次迭代,希望将来我们能扩展它,给你带来所有的新闻和 Galaxy 通知。当前迭代的想法是,每当您的服务器管理员将 Galaxy 升级到新版本时,每个使用服务器的人都会收到一个小的、非侵入式的通知,附带这些发行说明!在那里你可以找到 Galaxy 所有的新功能和他们使用的快速视频 (quick videos on their use)。(Pull Request 12396)

弃用公告

Galaxy 互动环境(GIEs)在用户界面中不再可见,并将在下一个 Galaxy 发行版(22.01)中完全删除。所有的 GIEs 都已经移植到了交互式工具中,这使得开发、运行和配置变得更加容易。

即将发出的弃用公告

我们已经将下面的弃用推迟到下一个 Galaxy 版本,以便为我们的用户和管理员提供更流畅的体验。

在 Galaxy 22.01 版中放弃对 Python 3.6 的支持

这个 Galaxy 版本 (21.09) 将是最后一个支持 Python 3.6 或更新版本的版本。如果可能的话,我们鼓励更新到更新的 Python。

废弃 uwsgi 和 paste

这个 Galaxy 发行版 (21.09) 将是最后一个支持 WSGI 标准的发行版,并带有 uwsgi 和 paste。从22.01版本开始,Galaxy 将成为 ASGI 应用程序。在即将到来的开发周期中,我们将更新文档和剧本,以实现平稳过渡。

配置变更

增加的配置

以下配置选项是新的。

config/galaxy.yml.sample

  • biotools_content_directory
  • biotools_service_cache_data_dir
  • biotools_service_cache_lock_dir
  • biotools_service_cache_type
  • biotools_use_api
  • container_resolvers
  • default_panel_view
  • edam_panel_views
  • edam_toolbox_ontology_path
  • enable_account_interface
  • job_handler_monitor_sleep
  • job_runner_monitor_sleep
  • mailing_join_body
  • mailing_join_subject
  • mailing_lists_url
  • panel_views
  • panel_views_dir
  • sentry_event_level

变更的配置

下列配置选项已更改。

config/error_report.yml.sample

已经从:

  1. {'type': 'email', 'verbose': True, 'user_submission': True}
  2. {'type': 'sentry', 'user_submission': False}

变更为:

  1. {'type': 'email', 'verbose': True, 'user_submission': True}

config/file_sources_conf.yml.sample

已经从:

  1. {'type': 'dropbox', 'id': 'dropbox1', 'label': 'Dropbox files (configure access in user preferences)', 'doc': 'Your Dropbox files - configure an access token via the user preferences', 'accessToken': "${user.preferences['dropbox|access_token']}"}
  2. {'type': 'webdav', 'id': 'owncloud1', 'label': 'OwnCloud', 'doc': 'External OwnCloud files (configure access in user preferences)', 'url': "${user.preferences['owncloud|url']}", 'root': "${user.preferences['owncloud|root']}", 'login': "${user.preferences['owncloud|username']}", 'password': "${user.preferences['owncloud|password']}"}
  3. {'type': 'posix', 'id': 'posix1', 'label': 'Posix', 'doc': 'Files from local path', 'root': '/some/path/'}
  4. {'type': 's3fs', 'label': 'My MinIO storage', 'endpoint_url': 'https://minio.usegalaxy.eu', 'id': 'galaxy-minio-storage', 'doc': 'Galaxy MinIO S3 storage', 'anon': False, 'secret': 'UHAJ6asd6asdhasd', 'key': 'MCJU76agdt98GGFAROIP7'}
  5. {'type': 's3fs', 'label': 'CMIP6 GCMs downscaled using WRF', 'id': 'wrf-cmip6-noversioning', 'doc': 'High-resolution historical and future climate simulations from 1980-2100', 'bucket': 'wrf-cmip6-noversioning', 'anon': True}

变更为:

  1. {'type': 'dropbox', 'id': 'dropbox1', 'label': 'Dropbox files (configure access in user preferences)', 'doc': 'Your Dropbox files - configure an access token via the user preferences', 'accessToken': "${user.preferences['dropbox|access_token']}"}
  2. {'type': 'webdav', 'id': 'owncloud1', 'label': 'OwnCloud', 'doc': 'External OwnCloud files (configure access in user preferences)', 'url': "${user.preferences['owncloud|url']}", 'root': "${user.preferences['owncloud|root']}", 'login': "${user.preferences['owncloud|username']}", 'password': "${user.preferences['owncloud|password']}"}
  3. {'type': 'posix', 'root': '/data/5/galaxy_import/galaxy_user_data/covid-19/data/sequences/', 'id': 'covid19-raw-sequences', 'label': 'COVID-19 FASTQ', 'doc': 'COVID-19 RAW sequences in FASTQ format'}
  4. {'type': 'posix', 'root': '/data/db/databases/pdb/pdb/', 'id': 'pdb-gzip', 'doc': 'Protein Data Bank (PDB)', 'label': 'PDB'}
  5. {'type': 'ftp', 'id': 'ebi-ftp', 'label': 'EBI FTP server', 'doc': 'European Bioinformatic Institute FTP server', 'host': 'ftp.ebi.ac.uk', 'user': 'anonymous', 'passwd': '', 'timeout': 10, 'port': 21}
  6. {'type': 'ftp', 'id': 'ncbi-ftp', 'label': 'NCBI FTP server', 'doc': 'NCBI FTP server', 'host': 'ftp.ncbi.nlm.nih.gov', 'user': 'anonymous', 'passwd': '', 'timeout': 10, 'port': 21}
  7. {'type': 'ftp', 'id': 'ensembl-ftp', 'label': 'ENSEMBL FTP server', 'doc': 'ENSEMBL FTP server', 'host': 'ftp.ensemblgenomes.org/vol1/pub/', 'user': 'anonymous', 'passwd': '', 'timeout': 10, 'port': 21}
  8. {'type': 'ssh', 'id': 'writeable-ssh-dir', 'requires_roles': 'writeable-galaxy-role', 'writable': True, 'label': 'Push your files to me', 'doc': 'This is an example of a writeable SSH dir', 'host': 'coolhost', 'user': 'user', 'passwd': 'passwd', 'timeout': 10, 'path': '/home/cooluser/', 'config_path': '', 'port': 2222}
  9. {'type': 's3fs', 'label': 'My MinIO storage', 'endpoint_url': 'https://minio.usegalaxy.eu', 'id': 'galaxy-minio-storage', 'doc': 'Galaxy MinIO S3 storage', 'anon': False, 'secret': 'UHAJ6asd6asdhasd', 'key': 'MCJU76agdt98GGFAROIP7'}
  10. {'type': 's3fs', 'label': 'Genome Ark', 'id': 'genomeark', 'doc': 'Access to Genome Ark open data on AWS.', 'bucket': 'genomeark', 'anon': True}
  11. {'type': 's3fs', 'label': '1000 Genomes', 'id': '1000genomes', 'doc': 'Access to the 1000 Genomes Project with human genetic variation, including SNPs, structural variants, and their haplotype context.', 'bucket': '1000genomes', 'anon': True}
  12. {'type': 's3fs', 'label': 'The Cancer Genome Atlas', 'id': 'tcga-2-open', 'doc': 'Access to the Cancer Genome Atlas (TCGA)', 'bucket': 'tcga-2-open', 'anon': True}
  13. {'type': 's3fs', 'label': 'COVID-19 Data Lake', 'id': 'covid19-lake', 'doc': 'A centralized repository of up-to-date and curated datasets on or related to the spread and characteristics of the novel corona virus (SARS-CoV-2) and its associated illness, COVID-19', 'bucket': 'covid19-lake', 'anon': True}
  14. {'type': 's3fs', 'label': 'Encyclopedia of DNA Elements (ENCODE)', 'id': 'encode-public', 'doc': 'The Encyclopedia of DNA Elements (ENCODE) Consortium is an international collaboration of research groups funded by the National Human Genome Research Institute (NHGRI)', 'bucket': 'encode-public', 'anon': True}
  15. {'type': 's3fs', 'label': 'Sentinel-3', 'id': 'meeo-s3-nrt', 'doc': 'European Commission’s Copernicus Earth Observation Programme. Sentinel-3 is a polar orbiting satellite that completes 14 orbits of the Earth a day.', 'bucket': 'meeo-s3/NRT/', 'anon': True}
  16. {'type': 's3fs', 'label': 'Sentinel-5P Level 2', 'id': 'meeo-s5p-nrti', 'doc': 'Observations from the Sentinel-5 Precursor satellite of the Copernicus Earth Observation Programme. It contains a polar orbiting satellite that completes 14 orbits of the Earth a day.', 'bucket': 'meeo-s5p/RPRO/', 'anon': True}
  17. {'type': 's3fs', 'label': 'Coupled Model Intercomparison Project 6', 'id': 'esgf-world', 'doc': 'The sixth phase of global coupled ocean-atmosphere general circulation model ensemble', 'bucket': 'esgf-world', 'anon': True}
  18. {'type': 's3fs', 'label': 'CMIP6 GCMs downscaled using WRF', 'id': 'wrf-cmip6-noversioning', 'doc': 'High-resolution historical and future climate simulations from 1980-2100', 'bucket': 'wrf-cmip6-noversioning', 'anon': True}
  19. {'type': 's3fs', 'label': 'NOAA Global Forecast System (GFS)', 'id': 'noaa-gfs-bdp-pds', 'doc': 'The Global Forecast System (GFS) is a weather forecast model produced by the National Centers for Environmental Prediction (NCEP).', 'bucket': 'noaa-gfs-bdp-pds', 'anon': True}
  20. {'type': 's3fs', 'label': 'NOAA Unified Forecast System Subseasonal to Seasonal Prototype 5', 'id': 'noaa-ufs-prototype5-pds', 'doc': 'The Unified Forecast System Subseasonal to Seasonal prototype 5 (UFS S2Sp5) dataset is reforecast data from the UFS atmosphere-ocean.', 'bucket': 'noaa-ufs-prototype5-pds', 'anon': True}
  21. {'type': 's3fs', 'label': 'Copernicus Digital Elevation Model (DEM)', 'id': 'copernicus-dem-30m', 'doc': 'The Copernicus DEM is a Digital Surface Model (DSM) which represents the surface of the Earth including buildings, infrastructure and vegetation.', 'bucket': 'copernicus-dem-30m', 'anon': True}

config/galaxy.yml.sample

  • dependency_resolvers 的描述已经从:
    1. Rather than specifying a dependency_resolvers_config_file, the definition of the
    2. resolvers to enable can be embedded into Galaxy's config with this option.
    3. This has no effect if a dependency_resolvers_config_file is used.
    变更为: ```bash Rather than specifying a dependency_resolvers_config_file, the definition of the resolvers to enable can be embedded into Galaxy’s config with this option. This has no effect if a dependency_resolvers_config_file is used.

The syntax, available resolvers, and documentation of their options is explained in detail in the documentation:

https://docs.galaxyproject.org/en/master/admin/dependency_resolvers.html

  1. - **dependency_resolvers_config_file** 的描述已经从:
  2. ```bash
  3. The dependency resolvers config file specifies an ordering and options for how
  4. Galaxy resolves tool dependencies (requirement tags in Tool XML). The default
  5. ordering is to the use the Tool Shed for tools installed that way, use local
  6. Galaxy packages, and then use Conda if available.
  7. See https://github.com/galaxyproject/galaxy/blob/dev/doc/source/admin/dependency_resolvers.rst
  8. for more information on these options.

变更为:

  1. Specifies the path to the standalone dependency resolvers configuration file. This
  2. configuration can now be specified directly in the Galaxy configuration, see the
  3. description of the 'dependency_resolvers' option for details.
  • ftp_upload_dir 的描述已经从:

    1. Enable Galaxy's "Upload via FTP" interface. You'll need to install and
    2. configure an FTP server (we've used ProFTPd since it can use Galaxy's
    3. database for authentication) and set the following two options.
    4. This should point to a directory containing subdirectories matching users'
    5. identifier (defaults to e-mail), where Galaxy will look for files.

    变更为:

    1. This should point to a directory containing subdirectories matching users'
    2. identifier (defaults to e-mail), where Galaxy will look for files.
  • ftp_upload_site 的描述已经从:

    1. This should be the hostname of your FTP server, which will be provided to
    2. users in the help text.

    变更为:

    1. configure an FTP server (we've used ProFTPd since it can use Galaxy's
    2. database for authentication) and set the following two options.
    3. This will be provided to users in the help text as 'log in to the FTP
    4. server at '. Thus, it should be the hostname of your FTP server.
  • mailing_join_addr 的描述已经从: ```bash On the user registration form, users may choose to join a mailing list. This is the address used to subscribe to the list. Uncomment and leave empty if you want to remove this option from the user registration form.

Example value ‘galaxy-announce-join@bx.psu.edu’

  1. 变更为:
  2. ```bash
  3. On the user registration form, users may choose to join a mailing list. This
  4. is the address used to subscribe to the list. Uncomment and leave empty if you
  5. want to remove this option from the user registration form.
  6. Example value 'galaxy-announce-join@lists.galaxyproject.org'
  • toolbox_filter_base_modules 已经从:
    1. galaxy.tools.filters,galaxy.tools.toolbox.filters
    变更为:
    1. galaxy.tools.filters,galaxy.tools.toolbox.filters,galaxy.tool_util.toolbox.filters

移除的配置

下列配置选项已被完全删除(have been completely removed)。

config/galaxy.yml.sample

  • beta_edam_toolbox_ontology_path
  • containers_resolvers_config_file
  • enable_beta_edam_toolbox
  • enable_job_recovery
  • sentry_sloreq_threshold

内置工具更新

新数据类型

发布测试团队

特别感谢发布测试团队测试了许多新特性并报告了许多错误:

发行说明

请参阅完整的发行说明(full release notes)了解更多细节。

要了解 Galaxy 的最新进展,请观看我们的视频,访问我们的社区中心,并在 Twitter 上关注 @galaxyproject 项目。

您可以随时通过 GitterIRC 与我们联系。

感谢使用 Galaxy!

参考资料