├── .gitignore ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── README.md ├── Rakefile ├── auth.yml.template ├── config.yml ├── documentation └── UpdateAtRelease.md ├── out ├── devel_base │ ├── Dockerfile │ ├── hooks │ │ └── post_push │ └── install.R ├── devel_core │ ├── Dockerfile │ ├── hooks │ │ └── post_push │ └── install.R ├── devel_cytometry │ ├── Dockerfile │ ├── hooks │ │ └── post_push │ └── install.R ├── devel_metabolomics │ ├── Dockerfile │ └── install.R ├── devel_mscore │ ├── Dockerfile │ ├── hooks │ │ └── post_push │ └── install.R ├── devel_protcore │ ├── Dockerfile │ ├── hooks │ │ └── post_push │ └── install.R ├── devel_proteomics │ ├── Dockerfile │ ├── hooks │ │ └── post_push │ └── install.R ├── devel_protmetcore │ ├── Dockerfile │ └── install.R ├── release_base │ ├── Dockerfile │ ├── hooks │ │ └── post_push │ └── install.R ├── release_core │ ├── Dockerfile │ ├── hooks │ │ └── post_push │ └── install.R ├── release_cytometry │ ├── Dockerfile │ ├── hooks │ │ └── post_push │ └── install.R ├── release_metabolomics │ ├── Dockerfile │ └── install.R ├── release_mscore │ ├── Dockerfile │ ├── hooks │ │ └── post_push │ └── install.R ├── release_protcore │ ├── Dockerfile │ ├── hooks │ │ └── post_push │ └── install.R ├── release_proteomics │ ├── Dockerfile │ ├── hooks │ │ └── post_push │ └── install.R └── release_protmetcore │ ├── Dockerfile │ └── install.R ├── src ├── base │ ├── Dockerfile.in │ ├── hooks │ │ └── post_push │ └── install.R.in ├── core │ ├── Dockerfile.in │ ├── hooks │ │ └── post_push │ └── install.R.in ├── cytometry │ ├── Dockerfile.in │ ├── hooks │ │ └── post_push │ └── install.R.in ├── metabolomics │ ├── Dockerfile.in │ └── install.R.in ├── mscore │ ├── Dockerfile.in │ ├── hooks │ │ └── post_push │ └── install.R.in ├── protcore │ ├── Dockerfile.in │ ├── hooks │ │ └── post_push │ └── install.R.in ├── proteomics │ ├── Dockerfile.in │ ├── hooks │ │ └── post_push │ └── install.R.in └── protmetcore │ ├── Dockerfile.in │ └── install.R.in └── tagutil.rb /.gitignore: -------------------------------------------------------------------------------- 1 | auth.yml 2 | out/*/*.log 3 | out/.DS_Store 4 | *~ -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'docker-api' 4 | gem 'pry' -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: http://rubygems.org/ 3 | specs: 4 | archive-tar-minitar (0.5.2) 5 | coderay (1.1.0) 6 | docker-api (1.17.0) 7 | archive-tar-minitar 8 | excon (>= 0.38.0) 9 | json 10 | excon (0.42.1) 11 | json (1.8.1) 12 | method_source (0.8.2) 13 | pry (0.10.1) 14 | coderay (~> 1.1.0) 15 | method_source (~> 0.8.1) 16 | slop (~> 3.4) 17 | slop (3.6.0) 18 | 19 | PLATFORMS 20 | ruby 21 | 22 | DEPENDENCIES 23 | docker-api 24 | pry 25 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The Artistic License 2.0 2 | 3 | Copyright (c) 2014 4 | 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | This license establishes the terms under which a given free software 11 | Package may be copied, modified, distributed, and/or redistributed. 12 | The intent is that the Copyright Holder maintains some artistic 13 | control over the development of that Package while still keeping the 14 | Package available as open source and free software. 15 | 16 | You are always permitted to make arrangements wholly outside of this 17 | license directly with the Copyright Holder of a given Package. If the 18 | terms of this license do not permit the full use that you propose to 19 | make of the Package, you should contact the Copyright Holder and seek 20 | a different licensing arrangement. 21 | 22 | Definitions 23 | 24 | "Copyright Holder" means the individual(s) or organization(s) 25 | named in the copyright notice for the entire Package. 26 | 27 | "Contributor" means any party that has contributed code or other 28 | material to the Package, in accordance with the Copyright Holder's 29 | procedures. 30 | 31 | "You" and "your" means any person who would like to copy, 32 | distribute, or modify the Package. 33 | 34 | "Package" means the collection of files distributed by the 35 | Copyright Holder, and derivatives of that collection and/or of 36 | those files. A given Package may consist of either the Standard 37 | Version, or a Modified Version. 38 | 39 | "Distribute" means providing a copy of the Package or making it 40 | accessible to anyone else, or in the case of a company or 41 | organization, to others outside of your company or organization. 42 | 43 | "Distributor Fee" means any fee that you charge for Distributing 44 | this Package or providing support for this Package to another 45 | party. It does not mean licensing fees. 46 | 47 | "Standard Version" refers to the Package if it has not been 48 | modified, or has been modified only in ways explicitly requested 49 | by the Copyright Holder. 50 | 51 | "Modified Version" means the Package, if it has been changed, and 52 | such changes were not explicitly requested by the Copyright 53 | Holder. 54 | 55 | "Original License" means this Artistic License as Distributed with 56 | the Standard Version of the Package, in its current version or as 57 | it may be modified by The Perl Foundation in the future. 58 | 59 | "Source" form means the source code, documentation source, and 60 | configuration files for the Package. 61 | 62 | "Compiled" form means the compiled bytecode, object code, binary, 63 | or any other form resulting from mechanical transformation or 64 | translation of the Source form. 65 | 66 | 67 | Permission for Use and Modification Without Distribution 68 | 69 | (1) You are permitted to use the Standard Version and create and use 70 | Modified Versions for any purpose without restriction, provided that 71 | you do not Distribute the Modified Version. 72 | 73 | 74 | Permissions for Redistribution of the Standard Version 75 | 76 | (2) You may Distribute verbatim copies of the Source form of the 77 | Standard Version of this Package in any medium without restriction, 78 | either gratis or for a Distributor Fee, provided that you duplicate 79 | all of the original copyright notices and associated disclaimers. At 80 | your discretion, such verbatim copies may or may not include a 81 | Compiled form of the Package. 82 | 83 | (3) You may apply any bug fixes, portability changes, and other 84 | modifications made available from the Copyright Holder. The resulting 85 | Package will still be considered the Standard Version, and as such 86 | will be subject to the Original License. 87 | 88 | 89 | Distribution of Modified Versions of the Package as Source 90 | 91 | (4) You may Distribute your Modified Version as Source (either gratis 92 | or for a Distributor Fee, and with or without a Compiled form of the 93 | Modified Version) provided that you clearly document how it differs 94 | from the Standard Version, including, but not limited to, documenting 95 | any non-standard features, executables, or modules, and provided that 96 | you do at least ONE of the following: 97 | 98 | (a) make the Modified Version available to the Copyright Holder 99 | of the Standard Version, under the Original License, so that the 100 | Copyright Holder may include your modifications in the Standard 101 | Version. 102 | 103 | (b) ensure that installation of your Modified Version does not 104 | prevent the user installing or running the Standard Version. In 105 | addition, the Modified Version must bear a name that is different 106 | from the name of the Standard Version. 107 | 108 | (c) allow anyone who receives a copy of the Modified Version to 109 | make the Source form of the Modified Version available to others 110 | under 111 | 112 | (i) the Original License or 113 | 114 | (ii) a license that permits the licensee to freely copy, 115 | modify and redistribute the Modified Version using the same 116 | licensing terms that apply to the copy that the licensee 117 | received, and requires that the Source form of the Modified 118 | Version, and of any works derived from it, be made freely 119 | available in that license fees are prohibited but Distributor 120 | Fees are allowed. 121 | 122 | 123 | Distribution of Compiled Forms of the Standard Version 124 | or Modified Versions without the Source 125 | 126 | (5) You may Distribute Compiled forms of the Standard Version without 127 | the Source, provided that you include complete instructions on how to 128 | get the Source of the Standard Version. Such instructions must be 129 | valid at the time of your distribution. If these instructions, at any 130 | time while you are carrying out such distribution, become invalid, you 131 | must provide new instructions on demand or cease further distribution. 132 | If you provide valid instructions or cease distribution within thirty 133 | days after you become aware that the instructions are invalid, then 134 | you do not forfeit any of your rights under this license. 135 | 136 | (6) You may Distribute a Modified Version in Compiled form without 137 | the Source, provided that you comply with Section 4 with respect to 138 | the Source of the Modified Version. 139 | 140 | 141 | Aggregating or Linking the Package 142 | 143 | (7) You may aggregate the Package (either the Standard Version or 144 | Modified Version) with other packages and Distribute the resulting 145 | aggregation provided that you do not charge a licensing fee for the 146 | Package. Distributor Fees are permitted, and licensing fees for other 147 | components in the aggregation are permitted. The terms of this license 148 | apply to the use and Distribution of the Standard or Modified Versions 149 | as included in the aggregation. 150 | 151 | (8) You are permitted to link Modified and Standard Versions with 152 | other works, to embed the Package in a larger work of your own, or to 153 | build stand-alone binary or bytecode versions of applications that 154 | include the Package, and Distribute the result without restriction, 155 | provided the result does not expose a direct interface to the Package. 156 | 157 | 158 | Items That are Not Considered Part of a Modified Version 159 | 160 | (9) Works (including, but not limited to, modules and scripts) that 161 | merely extend or make use of the Package, do not, by themselves, cause 162 | the Package to be a Modified Version. In addition, such works are not 163 | considered parts of the Package itself, and are not subject to the 164 | terms of this license. 165 | 166 | 167 | General Provisions 168 | 169 | (10) Any use, modification, and distribution of the Standard or 170 | Modified Versions is governed by this Artistic License. By using, 171 | modifying or distributing the Package, you accept this license. Do not 172 | use, modify, or distribute the Package, if you do not accept this 173 | license. 174 | 175 | (11) If your Modified Version has been derived from a Modified 176 | Version made by someone other than you, you are nevertheless required 177 | to ensure that your Modified Version complies with the requirements of 178 | this license. 179 | 180 | (12) This license does not grant you the right to use any trademark, 181 | service mark, tradename, or logo of the Copyright Holder. 182 | 183 | (13) This license includes the non-exclusive, worldwide, 184 | free-of-charge patent license to make, have made, use, offer to sell, 185 | sell, import and otherwise transfer the Package with respect to any 186 | patent claims licensable by the Copyright Holder that are necessarily 187 | infringed by the Package. If you institute patent litigation 188 | (including a cross-claim or counterclaim) against any party alleging 189 | that the Package constitutes direct or contributory patent 190 | infringement, then this Artistic License to you shall terminate on the 191 | date that such litigation is filed. 192 | 193 | (14) Disclaimer of Warranty: 194 | THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS 195 | IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED 196 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR 197 | NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL 198 | LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL 199 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 200 | DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF 201 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 202 | 203 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Bioconductor Dockers - DEPRECATED # 3 | 4 | ## Deprecation Notice 5 | 6 | These set of images and code have been DEPRECATED in favor of 7 | https://github.com/Bioconductor/bioconductor_docker. 8 | 9 | We will support the containers till Release 3.11, i.e the current 10 | release 3.10 will be the last maintained release. 11 | 12 | ## Overview ## 13 | 14 | This repository contains Dockerfiles for different Docker containers of interest 15 | for Bioconductor users. Additional information about available containers, 16 | installation and modification can be found on the [Bioconductor Docker 17 | Page](http://bioconductor.org/help/docker/) or [Docker 18 | installation](https://docs.docker.com/installation/). 19 | 20 | 21 | ## Available Docker Containers ## 22 | 23 | See also [Bioconductor Docker Page](http://bioconductor.org/help/docker/). 24 | 25 | #### Maintained by the Bioconductor Core Team: bioc-issue-bot@bioconductor.org: 26 | 27 | | Docker Container | Docker Hub Latest Version | Image Size | Build status 28 | | :------------------------- | :----------------- | :---------- | :---------- 29 | | release_base2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/release_base)) ([DockerHub](https://hub.docker.com/r/bioconductor/release_base2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/release_base2:R3.6.1_Bioc3.9.svg)](https://hub.docker.com/r/bioconductor/release_base2/) | [![](https://images.microbadger.com/badges/image/bioconductor/release_base2:R3.6.1_Bioc3.9.svg)](https://hub.docker.com/r/bioconductor/release_base2/)| [![](https://img.shields.io/docker/cloud/build/bioconductor/release_base2.svg)](https://hub.docker.com/r/bioconductor/release_base2/builds/) 30 | | release_core2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/release_core)) ([DockerHub](https://hub.docker.com/r/bioconductor/release_core2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/release_core2:R3.6.1_Bioc3.9.svg)](https://hub.docker.com/r/bioconductor/release_core2/) | [![](https://images.microbadger.com/badges/image/bioconductor/release_core2:R3.6.1_Bioc3.9.svg)](https://hub.docker.com/r/bioconductor/release_core2/) | [![](https://img.shields.io/docker/cloud/build/bioconductor/release_core2.svg)](https://hub.docker.com/r/bioconductor/release_core2/builds/) 31 | | devel_base2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/devel_base)) ([DockerHub](https://hub.docker.com/r/bioconductor/devel_base2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/devel_base2.svg)](https://hub.docker.com/r/bioconductor/devel_base2/) | [![](https://images.microbadger.com/badges/image/bioconductor/devel_base2.svg)](https://hub.docker.com/r/bioconductor/devel_base2/) | [![](https://img.shields.io/docker/cloud/build/bioconductor/devel_base2.svg)](https://hub.docker.com/r/bioconductor/devel_base2/builds/) 32 | | devel_core2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/devel_core)) ([DockerHub](https://hub.docker.com/r/bioconductor/devel_core2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/devel_core2.svg)](https://hub.docker.com/r/bioconductor/devel_core2/) | [![](https://images.microbadger.com/badges/image/bioconductor/devel_core2.svg)](https://hub.docker.com/r/bioconductor/devel_core2/) | [![](https://img.shields.io/docker/cloud/build/bioconductor/devel_core2.svg)](https://hub.docker.com/r/bioconductor/devel_core2/builds/) 33 | 34 | 35 | #### Maintained by Steffen Neumann: sneumann@ipb-halle.de 36 | Maintained as part of the “PhenoMeNal, funded by Horizon2020 grant 654241” 37 | 38 | | Docker Container | Docker Hub Latest Version | Image Size | Build status 39 | | :------------------------- | :----------------- | :---------- | :---------- 40 | | release_protmetcore2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/release_protmetcore)) ([DockerHub](https://hub.docker.com/r/bioconductor/release_protmetcore2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/release_protmetcore2:R3.6.1_Bioc3.9.svg)](https://hub.docker.com/r/bioconductor/release_protmetcore2/) | [![](https://images.microbadger.com/badges/image/bioconductor/release_protmetcore2:R3.6.1_Bioc3.9.svg)](https://hub.docker.com/r/bioconductor/release_protmetcore2/) | [![](https://img.shields.io/docker/cloud/build/bioconductor/release_protmetcore2.svg)](https://hub.docker.com/r/bioconductor/release_protmetcore2/builds/) 41 | | release_metabolomics2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/release_metabolomics)) ([DockerHub](https://hub.docker.com/r/bioconductor/release_metabolomics2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/release_metabolomics2:R3.6.1_Bioc3.9.svg)](https://hub.docker.com/r/bioconductor/release_metabolomics2/) | [![](https://images.microbadger.com/badges/image/bioconductor/release_metabolomics2:R3.6.1_Bioc3.9.svg)](https://hub.docker.com/r/bioconductor/release_metabolomics2/) | [![](https://img.shields.io/docker/cloud/build/bioconductor/release_metabolomics2.svg)](https://hub.docker.com/r/bioconductor/release_metabolomics2/builds/) 42 | | devel_protmetcore2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/devel_protmetcore)) ([DockerHub](https://hub.docker.com/r/bioconductor/devel_protmetcore2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/devel_protmetcore2.svg)](https://hub.docker.com/r/bioconductor/devel_protmetcore2/) | [![](https://images.microbadger.com/badges/image/bioconductor/devel_protmetcore2.svg)](https://hub.docker.com/r/bioconductor/devel_protmetcore2/) | [![](https://img.shields.io/docker/cloud/build/bioconductor/devel_protmetcore2.svg)](https://hub.docker.com/r/bioconductor/devel_protmetcore2/builds/) 43 | | devel_metabolomics2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/devel_metabolomics)) ([DockerHub](https://hub.docker.com/r/bioconductor/devel_metabolomics2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/devel_metabolomics2.svg)](https://hub.docker.com/r/bioconductor/devel_metabolomics2/) | [![](https://images.microbadger.com/badges/image/bioconductor/devel_metabolomics2.svg)](https://hub.docker.com/r/bioconductor/devel_metabolomics2/) | [![](https://img.shields.io/docker/cloud/build/bioconductor/devel_metabolomics2.svg)](https://hub.docker.com/r/bioconductor/devel_metabolomics2/builds/) 44 | 45 | 46 | #### Maintained by Laurent Gatto: lg390@cam.ac.uk 47 | 48 | | Docker Container | Docker Hub Latest Version | Image Size | Build status 49 | | :------------------------- | :----------------- | :---------- | :---------- 50 | | release_mscore2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/release_mscore)) ([DockerHub](https://hub.docker.com/r/bioconductor/release_mscore2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/release_mscore2:R3.6.1_Bioc3.9.svg)](https://hub.docker.com/r/bioconductor/release_mscore2/) | [![](https://images.microbadger.com/badges/image/bioconductor/release_mscore2:R3.6.1_Bioc3.9.svg)](https://hub.docker.com/r/bioconductor/release_mscore2/) | [![](https://img.shields.io/docker/cloud/build/bioconductor/release_mscore2.svg)](https://hub.docker.com/r/bioconductor/release_mscore2/builds/) 51 | | release_protcore2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/release_protcore)) ([DockerHub](https://hub.docker.com/r/bioconductor/release_protcore2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/release_protcore2:R3.6.1_Bioc3.9.svg)](https://hub.docker.com/r/bioconductor/release_protcore2/) | [![](https://images.microbadger.com/badges/image/bioconductor/release_protcore2:R3.6.1_Bioc3.9.svg)](https://hub.docker.com/r/bioconductor/release_protcore2/) | [![](https://img.shields.io/docker/cloud/build/bioconductor/release_protcore2.svg)](https://hub.docker.com/r/bioconductor/release_protcore2/builds/) 52 | | release_proteomics2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/release_proteomics)) ([DockerHub](https://hub.docker.com/r/bioconductor/release_proteomics2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/release_proteomics2:R3.4.4_Bioc3.6.svg)](https://hub.docker.com/r/bioconductor/release_proteomics2/) | [![](https://images.microbadger.com/badges/image/bioconductor/release_proteomics2:R3.4.4_Bioc3.6.svg)](https://hub.docker.com/r/bioconductor/release_proteomics2/) | [![](https://img.shields.io/docker/cloud/build/bioconductor/release_proteomics2.svg)](https://hub.docker.com/r/bioconductor/release_proteomics2/builds/) 53 | | devel_mscore2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/devel_mscore)) ([DockerHub](https://hub.docker.com/r/bioconductor/devel_mscore2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/devel_mscore2.svg)](https://hub.docker.com/r/bioconductor/devel_mscore2/) | [![](https://images.microbadger.com/badges/image/bioconductor/devel_mscore2.svg)](https://hub.docker.com/r/bioconductor/devel_mscore2/) | [![](https://img.shields.io/docker/cloud/build/bioconductor/devel_mscore2.svg)](https://hub.docker.com/r/bioconductor/devel_mscore2/builds/) 54 | | devel_protcore2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/devel_protcore)) ([DockerHub](https://hub.docker.com/r/bioconductor/devel_protcore2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/devel_protcore2.svg)](https://hub.docker.com/r/bioconductor/devel_protcore2/) | [![](https://images.microbadger.com/badges/image/bioconductor/devel_protcore2.svg)](https://hub.docker.com/r/bioconductor/devel_protcore2/) | [![](https://img.shields.io/docker/cloud/build/bioconductor/devel_protcore2.svg)](https://hub.docker.com/r/bioconductor/devel_protcore2/builds/) 55 | | devel_proteomics2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/devel_proteomics)) ([DockerHub](https://hub.docker.com/r/bioconductor/devel_proteomics2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/devel_proteomics2.svg)](https://hub.docker.com/r/bioconductor/devel_proteomics2/) | [![](https://images.microbadger.com/badges/image/bioconductor/devel_proteomics2.svg)](https://hub.docker.com/r/bioconductor/devel_proteomics2/) | [![](https://img.shields.io/docker/cloud/build/bioconductor/devel_proteomics2.svg)](https://hub.docker.com/r/bioconductor/devel_proteomics2/builds/) 56 | 57 | #### Maintained by RGLab: wjiang2@fredhutch.org 58 | 59 | | Docker Container | Docker Hub Latest Version | Image Size | Build status 60 | | :------------------------- | :----------------- | :---------- | :---------- 61 | | release_cytometry2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/release_cytometry)) ([DockerHub](https://hub.docker.com/r/bioconductor/release_cytometry2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/release_cytometry2:R3.6.1_Bioc3.9.svg)](https://hub.docker.com/r/bioconductor/release_cytometry2/) | [![](https://images.microbadger.com/badges/image/bioconductor/release_cytometry2:R3.6.1_Bioc3.9.svg)](https://hub.docker.com/r/bioconductor/release_cytometry2/) | [![](https://img.shields.io/docker/cloud/build/bioconductor/release_cytometry2.svg)](https://hub.docker.com/r/bioconductor/release_cytometry2/builds/) 62 | | devel_cytometry2 ([GitHub](https://github.com/Bioconductor/bioc_docker/tree/master/out/devel_cytometry)) ([DockerHub](https://hub.docker.com/r/bioconductor/devel_cytometry2/)) | [![](https://images.microbadger.com/badges/version/bioconductor/devel_cytometry2.svg)](https://hub.docker.com/r/bioconductor/devel_cytometry2/) | [![](https://images.microbadger.com/badges/image/bioconductor/devel_cytometry2.svg)](https://hub.docker.com/r/bioconductor/devel_cytometry2/) | [![](https://img.shields.io/docker/cloud/build/bioconductor/devel_cytometry2.svg)](https://hub.docker.com/r/bioconductor/devel_cytometry2/builds/) 63 | 64 | ### General Docker Usage 65 | 66 | A well organized guide to popular docker commands can be found 67 | [here](https://github.com/wsargent/docker-cheat-sheet). For convenience, below 68 | are some commands to get you started. 69 | **Note:** You may need to add sudo before each command 70 | 71 | ##### List which docker machines are available locally 72 | docker images 73 | ##### List running containers 74 | docker ps 75 | ##### List all containers 76 | docker ps -a 77 | ##### Get container IP address 78 | docker inspect --format '{{ .NetworkSettings.IPAddress }}' 79 | ##### Get a copy of public docker 80 | docker pull 81 | ##### Keep a container running at startup 82 | docker run -itd 83 | ##### Shutdown container 84 | docker stop 85 | ##### Resume container 86 | docker start 87 | 88 | ##### Delete container 89 | docker rm 90 | ##### Shell into a running container with either of the following: 91 | docker exec -it /bin/bash 92 | docker attach 93 | 94 | ##### Mount a volume 95 | 96 | It is possible to mount/map an additional volume or directory. This might be 97 | useful for say mounting a local R install directory for use on the docker. The 98 | path on the docker image that should be mapped to the additional volume is 99 | `/usr/local/lib/R/host-site-library`. The follow example would mount my locally 100 | installed packages to this docker directory. In turn, that path is automatically 101 | loaded in the R `.libPaths` on the docker image and all of my locally installed 102 | package would be available for use. 103 | 104 | sudo docker run -v /home/lori/R/x86_64-pc-linux-gnu-library/3.5-BioC-3.8:/usr/local/lib/R/host-site-library -it 105 | 106 | ##### User account 107 | 108 | If running command line rather than with rstudio, please use the bioc user 109 | account 110 | 111 | sudo docker run -ti --user bioc R 112 | 113 | ##### Building and modifying the Bioconductor docker images 114 | 115 | The BioC Dockerfiles are not directly edited. Instead, 116 | for each biocView, there is a common `Dockerfile.in`, 117 | from which two output files for `release` and `devel` files are generated by running 118 | the `rake` command. All the creation is controlled by the `Rakefile`, 119 | which will also take care if any of the dependencies (i.e. the *.in files) have changed. 120 | 121 | E.g. the `Dockerfile` for the BioC development branch for core packages 122 | is created from `src/core/Dockerfile.in` and placed into 123 | `out/devel_core/Dockerfile`. 124 | 125 | 126 | ##### More Help 127 | 128 | Please also see https://bioconductor.org/help/docker/ 129 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require 'erb' 2 | require 'ostruct' 3 | require 'yaml' 4 | require 'fileutils' 5 | require 'pp' 6 | require 'open3' 7 | require 'rake' 8 | require 'rake/clean' 9 | 10 | class ErbBinding < OpenStruct 11 | def get_binding 12 | return binding() 13 | end 14 | end 15 | 16 | 17 | CONFIG = YAML.load_file "config.yml" 18 | SEP = File::SEPARATOR 19 | REPO = 'bioconductor' # That's the username in the URL https://hub.docker.com/r/bioconductor/release_base/ 20 | #REPO = 'sneumann' # That's the username in the URL https://hub.docker.com/r/bioconductor/release_base/ 21 | 22 | @docker_setup = nil 23 | 24 | def setup_docker 25 | return unless @docker_setup.nil? 26 | require 'docker' 27 | # increase read and write timeouts to 2 hours 28 | timeout = (60 * 60) * 2 29 | Excon.defaults[:write_timeout] = timeout 30 | Excon.defaults[:read_timeout] = timeout 31 | if defined? ENV['DOCKER_HOST'] 32 | puts "setting docker url" 33 | Docker.url = ENV['DOCKER_HOST'] 34 | end 35 | auth = YAML.load_file('auth.yml') 36 | Docker.authenticate!(auth) 37 | @docker_setup = true 38 | end 39 | 40 | 41 | 42 | 43 | 44 | alldeps = [] 45 | mkimg_deps = [] 46 | for version_name in CONFIG['versions'].keys 47 | version_hash= CONFIG['versions'][version_name] 48 | for container_name in CONFIG['containers'].keys 49 | taskname = version_name + "_" + container_name 50 | mkimg_deps << taskname 51 | 52 | 53 | container_hash = CONFIG['containers'][container_name] 54 | parent = container_hash['parent'] 55 | parent = container_hash['parent'].sub("bioconductor/", "#{REPO}/#{version_name}_") 56 | if parent =~ /bogus/ 57 | parent = version_hash['parent'] 58 | end 59 | ptasks = [] 60 | if parent.start_with? "#{REPO}/" 61 | ptasks << parent.sub("#{REPO}/", "") 62 | end 63 | task taskname => ptasks do |t| 64 | puts "running task #{t.name}..." 65 | setup_docker 66 | today = Time.now.strftime "%Y%m%d" 67 | puts "checking for existing image #{t.name}:#{today}...." 68 | images = Docker::Image.all 69 | existing = images.find { |i| (i.info['RepoTags'] || []).include? "#{REPO}/#{t.name}:#{today}" } 70 | 71 | unless existing.nil? 72 | puts "found an existing image with id #{existing.id}..." 73 | end 74 | puts "building #{t.name} from Dockerfile in out#{SEP}#{t.name}..." 75 | image = Docker::Image.build_from_dir("out" + SEP + t.name) do |ch| 76 | puts ch 77 | end 78 | if (!existing.nil?) and existing.id.start_with? image.id 79 | puts "built id matches pre-existing id, skipping tag and push steps..." 80 | next # exit the block 81 | end 82 | if t.name.start_with? "release" 83 | version_number = CONFIG['versions']['release']['version_number'] 84 | else 85 | version_number = CONFIG['versions']['devel']['version_number'] 86 | end 87 | wanted_tags = ['latest', today, version_number] 88 | wanted_tags.each do |tag| 89 | puts "tagging #{t.name} with tag #{tag}..." 90 | image.tag("repo" => "#{REPO}/" + t.name, "tag" => tag, "force" => true) 91 | end 92 | puts "image tags are: #{image.info['RepoTags'].join(", ")}" 93 | puts "pushing #{t.name}..." 94 | # see if this fixes pushing issues: 95 | # image_to_push = images.find{|i| i.info['RepoTags'].include? "#{REPO}/#{t.name}:latest"} 96 | # image_to_push.push() 97 | # use docker executable instead of api 98 | # because api pushes seem flaky 99 | 100 | cmd = "docker push #{REPO}/#{t.name}" 101 | Open3.popen2e(cmd) do |stdin, stdout_err, wait_thr| 102 | while line = stdout_err.gets 103 | puts line 104 | end 105 | 106 | exit_status = wait_thr.value 107 | unless exit_status.success? 108 | abort "FAILED !!! '#{cmd}' returned exit code #{exit_status.exitstatus}" 109 | end 110 | end 111 | puts "push done!" 112 | # confirm that image in repo is properly tagged 113 | output = `docker run --rm rufus/docker-registry-debug -q info #{REPO}/#{t.name}` 114 | lines = output.split("\n") 115 | found_tags = [] 116 | puts "inspecting tags in image on hub..." 117 | for line in lines 118 | next if line.start_with? '-' 119 | tag = line.strip.split(" ").first 120 | puts "found tag #{tag}..." 121 | found_tags << tag 122 | end 123 | # if wanted_tags.sort == found_tags.sort 124 | # puts "tags matched!" 125 | # else 126 | # puts "tags did not match, retrying" 127 | # end 128 | end 129 | 130 | srcdir = "src" + SEP + container_name 131 | destdir = "out" + SEP + version_name + "_" + container_name 132 | copyfiles = Rake::FileList.new(srcdir + SEP + "**" + SEP + "*") do |fl| 133 | fl.exclude(/\.in$/) 134 | fl.exclude do |f| 135 | File.directory? f 136 | end 137 | end 138 | infiles = Rake::FileList[srcdir + SEP + "**" + SEP + "*.in"] 139 | deps = [] 140 | for inputfile in copyfiles + infiles 141 | destfile = inputfile.sub(/#{srcdir}|common/, destdir) 142 | destfile = destfile.sub(/\.in$/, "") if inputfile.end_with? ".in" 143 | deps << destfile 144 | alldeps << destfile 145 | CLOBBER.include(destfile) 146 | file destfile => inputfile do |t| 147 | source = (t.source.nil?) ? t.prerequisites.first : t.source 148 | if source.end_with? ".in" 149 | puts "building #{t.name} from #{source}..." 150 | # in here you can't refer to anything outside, only 't' 151 | vcont_name = t.name.split(SEP)[1] 152 | version, cont_name = vcont_name.split('_') 153 | vhash = CONFIG.dup['versions'][version] 154 | # make a read/only copy to get around some weirdness 155 | rodata = CONFIG.dup['containers'][cont_name] 156 | data = rodata.dup 157 | if data['parent'].start_with? "bioconductor/" 158 | data['parent'] = rodata['parent'].sub("bioconductor/", "#{REPO}/#{version}_") 159 | end 160 | if data['parent'] == 'bogus' 161 | data['parent'] = vhash['parent'] 162 | end 163 | data['is_devel'] = (version == 'devel') 164 | data['use_r_devel'] = vhash['use_r_devel'] 165 | if vhash.has_key? 'use_numbered_branch' 166 | data['use_numbered_branch'] = vhash['use_numbered_branch'] 167 | end 168 | data['image_name'] = "#{REPO}/#{vcont_name}" 169 | data['r_url'] = vhash['r_url'] 170 | data['bioc_version'] = vhash['version_number'] 171 | vars = ErbBinding.new(data) 172 | erb = ERB.new(File.new(source).read, nil, "%") 173 | vars_binding = vars.send(:get_binding) 174 | destfold = File.dirname(t.name) 175 | mkdir_p destfold 176 | out_fh = File.open(t.name, "w") 177 | out_fh.write(erb.result(vars_binding)) 178 | out_fh.close() 179 | 180 | 181 | else 182 | destfold = File.dirname(t.name) 183 | mkdir_p destfold 184 | cp source, t.name, :preserve => true 185 | end 186 | end 187 | end 188 | desc "merge metadata values into templates (default)" 189 | task :build_files => alldeps 190 | end 191 | end 192 | 193 | task :default => :build_files 194 | 195 | desc "(re)build all containers that require it" 196 | task build_all_containers: mkimg_deps 197 | 198 | 199 | # be careful using the following...it could theoretically 200 | # try and build 8 containers at once (all leaf containers 201 | # for release and devel) which could use a lot of memory 202 | # and other resources. 203 | desc "in parallel, (re)build all containers that require it" 204 | multitask parallel_build_all_containers: mkimg_deps 205 | -------------------------------------------------------------------------------- /auth.yml.template: -------------------------------------------------------------------------------- 1 | username: dtenenba 2 | password: not_my_real_password 3 | email: dtenenba@fhcrc.org 4 | -------------------------------------------------------------------------------- /config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | versions: 3 | release: 4 | version_number: "3.10" # change this at release time 5 | r_url: "https://cran.rstudio.com/src/base/R-latest.tar.gz" 6 | parent: "rocker/rstudio:3.6.2" 7 | use_r_devel: false # should always be false 8 | devel: 9 | version_number: "3.11" # change this at release time 10 | ## IMPORTANT: Change r_url at release time if new bioc devel does(not) use R-devel 11 | #parent: "rocker/rstudio:3.6.1" 12 | parent: "rocker/rstudio:devel" 13 | # currently known bug/issue in rocker/rstudio-daily 14 | #"rocker/rstudio-daily" # should be rocker/rstudio-daily if 15 | # use_r_devel is true, otherwise 16 | # rocker/rstudio 17 | use_r_devel: false # true half the year 18 | # The following variable (use_numbered_branch) is only relevant if 19 | # use_r_devel is true. 20 | # use_numbered_branch should be false OR should be the (quoted) version number from 21 | # which to pull R. Set to false if you want to use the default R installed 22 | # by rocker, which pulls from trunk. Or set to a number (i.e. 3.2) to 23 | # install R from that branch. This is appropriate when R-devel becomes R-alpha. 24 | # For example, around March 19th, 2015, an R-3-2-branch was created and 25 | # the R in trunk became R-3.3. However, the contemporaneous Bioconductor 26 | # devel branch uses R-3.2, NOT 3.3, so we would set the below variable 27 | # to "3.2" (be sure to quote the value so it's forced to be a string). 28 | use_numbered_branch: false 29 | 30 | containers: # FIXME (?) rename this to 'images' (?) 31 | base: 32 | parent: bogus 33 | core: 34 | parent: bioconductor/base 35 | mscore: 36 | parent: bioconductor/base 37 | protmetcore: 38 | parent: bioconductor/mscore 39 | biocViews: 40 | - Metabolomics 41 | - Proteomics 42 | metabolomics: 43 | parent: bioconductor/protmetcore 44 | biocViews: 45 | - Metabolomics 46 | protcore: 47 | parent: bioconductor/protmetcore 48 | proteomics: 49 | parent: bioconductor/protcore 50 | biocViews: 51 | - Proteomics 52 | - MassSpectrometryData 53 | cytometry: 54 | parent: bioconductor/base 55 | biocViews: 56 | - FlowCytometry 57 | -------------------------------------------------------------------------------- /documentation/UpdateAtRelease.md: -------------------------------------------------------------------------------- 1 | Update After Release 2 | ==================== 3 | 4 | **Important:** 5 | Before going any further, 6 | 7 | 1. Disable the Build Setting feature on dockerhub for [bioconductor/devel_base2](https://hub.docker.com/r/bioconductor/devel_base2/~/settings/automated-builds/). This ensures no random builds clogging docker hub occur. The box next to `When active, builds will happen automatically on pushes` should be UNCHECKED 8 | 9 | 2. If this is the release cycle that is not using the development version of R, unlink the rocker/rstudio-daily dockerhub repository in the section for `Repository Links`. 10 | 11 | 12 | 13 | ### Make one last **Release** build with old version of R and Bioc 14 | 15 | A. In Local checkout of GitHub repository bioc_docker: 16 | 17 | 1. Change the config.yml for the release version, the parent should specify the 18 | version specific tag for rstudio. 19 | ``` 20 | versions: 21 | release: 22 | parent: "rocker/rstudio: 23 | ``` 24 | 2. Manually delete 25 | ``` 26 | rm out/release_base/Dockerfile 27 | ``` 28 | 3. `Rake` the directory and make sure the out/release_base/Dockerfile was updated. 29 | 30 | 4. Commit and push to GitHub 31 | 5. Create a Github tag for the specific version 32 | ``` 33 | git tag -a R3.4.0_Bioc3.5_v2 -m "build at end of cycle" 34 | git push origin R3.4.0_Bioc3.5_v2 35 | ``` 36 | 37 | B. Now Switch to 38 | 39 | 1. create a new branch for the version : R3.4.0_Bioc3.5_v2 40 | 41 | C. Now Go to dockerhub 42 | 43 | 1. Go to: [release_base2](https://hub.docker.com/r/bioconductor/release_base2/~/settings/automated-builds/) 44 | 45 | 2. Change the Docker Tag Name to appropriate new versions **Important:** After changing the name don't forget to `Save Changes` BEFORE Triggering a Build 46 | 47 | 3. Trigger the Build by selecting `Trigger` next to the line with the updated version tag. You shouldn't have to trigger the `latest` build, it should do this automatically. If it doesn't then trigger manually. It is important that there be a build for both the version specific and the latest tag. 48 | 49 | 4. View progress [here](https://hub.docker.com/r/bioconductor/release_base2/builds/) 50 | 51 | 5. Repeat C. 1-4 for [release_core2](https://hub.docker.com/r/bioconductor/release_core2/~/settings/automated-builds/) 52 | 53 | 54 | ### Make new build for release and devel with new versions 55 | 56 | A. In Local checkout of GitHub repository bioc_docker: 57 | 58 | 1. Change the config.yml. Follow the instructions in the file for determining values for release and devel. 59 | 60 | 2. Manually delete files in out/release_base and out/devel_base (the rake will not update if they are already created). Both the Dockerfile and the install scripts must be deleted. 61 | 62 | 3. `rake` the directory and ensure the new Docker and install scripts were generated. 63 | 64 | 4. Commit and push to Github 65 | 66 | 5. Create new tags and push to github (see above step: Create a Github tag for the specific version for format) 67 | 68 | B. Now Switch to 69 | 70 | 1. create a new branch for the version : R3.4.0_Bioc3.6 71 | 72 | C. Now Go to dockerhub 73 | 74 | 1. Go to: [release_base2](https://hub.docker.com/r/bioconductor/release_base2/~/settings/automated-builds/) 75 | 76 | 2. Change the Docker Tag Name to appropriate new versions **Important:** After changing the name don't forget to `Save Changes` BEFORE Triggering a Build 77 | 78 | 3. Trigger the Build by selecting `Trigger` next to the line with the updated version tag. You shouldn't have to trigger the `latest` build, it should do this automatically. If it doesn't then trigger manually. It is important that there be a build for both the version specific and the latest tag. 79 | 80 | 4. View progress [here](https://hub.docker.com/r/bioconductor/release_base2/builds/) 81 | 82 | 5. Repeat C. 1-4 for [release_core2](https://hub.docker.com/r/bioconductor/release_core2/~/settings/automated-builds/) 83 | 84 | 6. [On github] Update the README for versions and push to github 85 | 86 | 7. **Important** Reinitialize the Build Setting feature on dockerhub for [bioconductor/devel_base2](https://hub.docker.com/r/bioconductor/devel_base2/~/settings/automated-builds/). The box next to `When active, builds will happen automatically on pushes` should be CHECKED! 87 | 88 | D. On your local version of Github/bioc_docker 89 | 90 | 1. Run the following: 91 | ``` 92 | dateTag=`date +%Y%m%d` 93 | git tag -a $dateTag -m "test tagging" 94 | git push origin $dateTag 95 | ``` 96 | 97 | E. Back on dockerHub 98 | 99 | 1. Ensure the autobuild is enabled. After the previous step a build should have been triggered [here](https://hub.docker.com/r/bioconductor/devel_base2/builds/). 100 | 101 | 2. If this is the release cycle that is using the development version of R, link the rocker/rstudio-daily dockerhub repository on [this page](https://hub.docker.com/r/bioconductor/devel_base2/~/settings/automated-builds/). There is a section for `Repository Links`. 102 | 103 | 3. The rest of the devel builds should trigger automatically as all the resositories are linked. 104 | 105 | 4. Manually Build any release dockers from other contributors. It is assumed the devel ones will be updated automatically as they should be linked to at the very least the devel_base2 package. 106 | -------------------------------------------------------------------------------- /out/devel_base/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/devel_base. 6 | FROM rocker/rstudio:devel 7 | 8 | MAINTAINER maintainer@bioconductor.org 9 | 10 | LABEL status="DEPRECATED" 11 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 12 | 13 | 14 | # nuke cache dirs before installing pkgs; tip from Dirk E fixes broken img 15 | RUN rm -f /var/lib/dpkg/available && rm -rf /var/cache/apt/* 16 | 17 | # same set of packages for both devel and release 18 | RUN apt-get update && \ 19 | apt-get -y --no-install-recommends install --fix-missing \ 20 | gdb \ 21 | libxml2-dev \ 22 | python-pip \ 23 | libz-dev \ 24 | liblzma-dev \ 25 | libbz2-dev \ 26 | libpng-dev \ 27 | libmariadb-dev \ 28 | libjpeg62-turbo-dev \ 29 | && rm -rf /var/lib/apt/lists/* 30 | 31 | # issues with '/var/lib/dpkg/available' not found 32 | # this will recreate 33 | RUN dpkg --clear-avail 34 | 35 | ADD install.R /tmp/ 36 | 37 | RUN R -f /tmp/install.R 38 | 39 | # Add bioc user as requested 40 | RUN useradd -ms /bin/bash -d /home/bioc -g staff bioc \ 41 | && echo "bioc:bioc" | chpasswd 42 | 43 | USER root 44 | RUN echo "R_LIBS=/usr/local/lib/R/host-site-library:\${R_LIBS}" > /usr/local/lib/R/etc/Renviron.site \ 45 | && echo "options(defaultPackages=c(getOption('defaultPackages'),'BiocManager'))" >> /usr/local/lib/R/etc/Rprofile.site 46 | -------------------------------------------------------------------------------- /out/devel_base/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | docker tag $IMAGE_NAME $DOCKER_REPO:latest 3 | docker push $DOCKER_REPO:latest 4 | -------------------------------------------------------------------------------- /out/devel_base/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | if ("BiocManager" %in% rownames(installed.packages())) 5 | remove.packages("BiocManager") 6 | 7 | install.packages("BiocManager", repos="https://cran.rstudio.com") 8 | 9 | library(BiocManager) 10 | 11 | if(BiocManager::version() != "3.11"){ 12 | BiocManager::install(version="3.11", 13 | update=TRUE, ask=FALSE) 14 | } 15 | 16 | builtins <- c("Matrix", "KernSmooth", "mgcv") 17 | 18 | for (builtin in builtins) 19 | if (!suppressWarnings(require(builtin, character.only=TRUE))) 20 | suppressWarnings(BiocManager::install(builtin, 21 | version="3.11", 22 | update=TRUE, ask=FALSE)) 23 | -------------------------------------------------------------------------------- /out/devel_core/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/devel_core. 6 | 7 | FROM bioconductor/devel_base2 8 | 9 | MAINTAINER maintainer@bioconductor.org 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | ADD install.R /tmp/ 15 | 16 | # invalidates cache every 24 hours 17 | ADD http://master.bioconductor.org/todays-date /tmp/ 18 | 19 | RUN R -f /tmp/install.R 20 | -------------------------------------------------------------------------------- /out/devel_core/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Parse image name for repo name 6 | tagStart=$(expr index "$IMAGE_NAME" :) 7 | repoName=${IMAGE_NAME:0:tagStart-1} 8 | 9 | # Tag and push image for each additional tag 10 | #for tag in {16.04,latest}; do 11 | # docker tag $IMAGE_NAME ${repoName}:${tag} 12 | # docker push ${repoName}:${tag} 13 | #done 14 | 15 | dateTag=`date +%Y%m%d` 16 | docker tag $IMAGE_NAME ${repoName}:${dateTag} 17 | docker push ${repoName}:${dateTag} 18 | -------------------------------------------------------------------------------- /out/devel_core/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | pkgs <- c( 5 | "OrganismDbi", 6 | "ExperimentHub", 7 | "Biobase", 8 | "BiocParallel", 9 | "biomaRt", 10 | "Biostrings", 11 | "BSgenome", 12 | "ShortRead", 13 | "IRanges", 14 | "GenomicRanges", 15 | "GenomicAlignments", 16 | "GenomicFeatures", 17 | "SummarizedExperiment", 18 | "VariantAnnotation", 19 | "DelayedArray", 20 | "GSEABase", 21 | "Gviz", 22 | "graph", 23 | "RBGL", 24 | "Rgraphviz", 25 | "rmarkdown", 26 | "httr", 27 | "knitr", 28 | "BiocStyle" 29 | ) 30 | 31 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 32 | ap <- rownames(ap.db) 33 | fnd <- pkgs %in% ap 34 | pkgs_to_install <- pkgs[fnd] 35 | 36 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 37 | 38 | if (!all(fnd)) 39 | message("Packages not found in a valid repository (skipped):\n ", 40 | paste(pkgs[!fnd], collapse=" \n ")) 41 | if (!all(ok)) 42 | stop("Failed to install:\n ", 43 | paste(pkgs_to_install[!ok], collapse=" \n ")) 44 | 45 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 46 | -------------------------------------------------------------------------------- /out/devel_cytometry/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/devel_cytometry. 6 | 7 | FROM bioconductor/devel_base2 8 | 9 | MAINTAINER wjiang2@fredhutch.org 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | ADD install.R /tmp/ 15 | 16 | # invalidates cache every 24 hours 17 | ADD http://master.bioconductor.org/todays-date /tmp/ 18 | 19 | RUN R -f /tmp/install.R 20 | -------------------------------------------------------------------------------- /out/devel_cytometry/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Parse image name for repo name 6 | tagStart=$(expr index "$IMAGE_NAME" :) 7 | repoName=${IMAGE_NAME:0:tagStart-1} 8 | 9 | # Tag and push image for each additional tag 10 | #for tag in {16.04,latest}; do 11 | # docker tag $IMAGE_NAME ${repoName}:${tag} 12 | # docker push ${repoName}:${tag} 13 | #done 14 | 15 | dateTag=`date +%Y%m%d` 16 | docker tag $IMAGE_NAME ${repoName}:${dateTag} 17 | docker push ${repoName}:${dateTag} 18 | -------------------------------------------------------------------------------- /out/devel_cytometry/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | pkgs <- c("biocViews", "CytoML", "roxygen2", "devtools") 5 | 6 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 7 | ap <- rownames(ap.db) 8 | 9 | pkgs_to_install <- pkgs[pkgs %in% ap] 10 | 11 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE, dependencies = TRUE) %in% rownames(installed.packages()) 12 | if (!all(ok)) 13 | stop("Failed to install:\n ", 14 | paste(pkgs_to_install[!ok], collapse=" \n ")) 15 | 16 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 17 | -------------------------------------------------------------------------------- /out/devel_metabolomics/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/devel_metabolomics. 6 | 7 | FROM bioconductor/devel_protmetcore2 8 | 9 | MAINTAINER sneumann@ipb-halle.de 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | RUN apt-get update -qq && \ 15 | apt-get install -y --no-install-recommends \ 16 | libfreetype6 \ 17 | libcairo2-dev \ 18 | libexpat1-dev \ 19 | libgmp3-dev \ 20 | liblapack-dev \ 21 | libnetcdf-dev \ 22 | libopenbabel-dev \ 23 | libgl1-mesa-dev \ 24 | libglu1-mesa-dev \ 25 | libgsl0-dev \ 26 | libmpfr-dev \ 27 | pkg-config \ 28 | fftw3-dev \ 29 | libgtk2.0-dev \ 30 | libtiff5-dev \ 31 | libnetcdf-dev \ 32 | libmpfr-dev \ 33 | libnetcdf-dev \ 34 | liblapack-dev \ 35 | cmake \ 36 | tcl8.6 tk8.6 \ 37 | default-jdk \ 38 | libnetcdf-dev libpng-dev libbz2-dev liblzma-dev libpcre3-dev libicu-dev \ 39 | libudunits2-dev libgdal-dev 40 | 41 | RUN bash -i -c 'wget -O libSBML-5.10.2-core-src.tar.gz http://downloads.sourceforge.net/project/sbml/libsbml/5.10.2/stable/libSBML-5.10.2-core-src.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fsbml%2Ffiles%2Flibsbml%2F5.10.2%2Fstable%2F && tar xzvf libSBML-5.10.2-core-src.tar.gz ; cd libsbml-5.10.2 && CXXFLAGS=-fPIC CFLAGS=-fPIC ./configure --prefix=/usr && make && make install && ldconfig' 42 | 43 | RUN R CMD javareconf 44 | 45 | ENV NETCDF_INCLUDE=/usr/include 46 | 47 | ENV OPEN_BABEL_LIBDIR /usr/lib/openbabel/2.3.2/ 48 | ENV OPEN_BABEL_INCDIR /usr/include/openbabel-2.0/ 49 | 50 | ADD install.R /tmp/ 51 | 52 | # invalidates cache every 24 hours 53 | ADD http://master.bioconductor.org/todays-date /tmp/ 54 | 55 | RUN R -f /tmp/install.R 56 | -------------------------------------------------------------------------------- /out/devel_metabolomics/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | ## 5 | ## Obtain list of packages in view, as defined in config.yml 6 | ## 7 | 8 | 9 | wantedBiocViews <- c("Metabolomics") 10 | 11 | url <- "http://www.bioconductor.org/packages/3.11/bioc/VIEWS" 12 | 13 | t <- tempfile() 14 | download.file(url, t) 15 | dcf <- as.data.frame(read.dcf(t), stringsAsFactors=FALSE) 16 | 17 | pkgs_matching_views <- c() 18 | 19 | for (i in 1:nrow(dcf)) 20 | { 21 | row <- dcf[i,] 22 | if ((!is.na(row$biocViews)) && (!is.null(row$biocViews))) 23 | { 24 | views <- strsplit(gsub("\\s", "", row$biocViews), ",")[[1]] 25 | if(any(wantedBiocViews %in% views)) 26 | pkgs_matching_views <- append(pkgs_matching_views, row$Package) 27 | } 28 | } 29 | 30 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 31 | ap <- rownames(ap.db) 32 | 33 | ## 34 | ## Selection and fine-tuning of packages to install 35 | ## 36 | pkgs_to_install <- pkgs_matching_views[pkgs_matching_views %in% ap] 37 | 38 | # don't reinstall anything that's installed already 39 | pkgs_to_install <- setdiff(pkgs_to_install, rownames(installed.packages())) 40 | 41 | # Explicitly disable broken packages: 42 | 43 | # https://github.com/Bioconductor/bioc_docker/issues/58 44 | pkgs_to_install <- pkgs_to_install[!grepl("mQTL.NMR", pkgs_to_install)] 45 | 46 | ## Start the actual installation: 47 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 48 | if (!all(ok)) 49 | stop("Failed to install:\n ", 50 | paste(pkgs_to_install[!ok], collapse=" \n ")) 51 | 52 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 53 | -------------------------------------------------------------------------------- /out/devel_mscore/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/devel_mscore. 6 | 7 | FROM bioconductor/devel_base2 8 | 9 | MAINTAINER lg390@cam.ac.uk 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | RUN apt-get update -qq && \ 15 | apt-get install -y --no-install-recommends \ 16 | libxt-dev \ 17 | libx11-dev \ 18 | libcairo2-dev \ 19 | libfreetype6 \ 20 | libexpat1-dev \ 21 | libgmp3-dev \ 22 | libopenbabel-dev \ 23 | libgl1-mesa-dev \ 24 | libglu1-mesa-dev \ 25 | libgsl0-dev \ 26 | pkg-config \ 27 | fftw3-dev \ 28 | libgtk2.0-dev \ 29 | libtiff5-dev \ 30 | libmpfr-dev \ 31 | liblapack-dev \ 32 | cmake \ 33 | default-jdk \ 34 | libnetcdf-dev \ 35 | libpcre3-dev \ 36 | libicu-dev \ 37 | librsvg2-dev 38 | 39 | RUN R CMD javareconf 40 | 41 | ENV NETCDF_INCLUDE=/usr/include 42 | 43 | ADD install.R /tmp/ 44 | 45 | # invalidates cache every 24 hours 46 | ADD http://master.bioconductor.org/todays-date /tmp/ 47 | 48 | RUN R -f /tmp/install.R 49 | -------------------------------------------------------------------------------- /out/devel_mscore/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Parse image name for repo name 6 | tagStart=$(expr index "$IMAGE_NAME" :) 7 | repoName=${IMAGE_NAME:0:tagStart-1} 8 | 9 | # Tag and push image for each additional tag 10 | #for tag in {16.04,latest}; do 11 | # docker tag $IMAGE_NAME ${repoName}:${tag} 12 | # docker push ${repoName}:${tag} 13 | #done 14 | 15 | dateTag=`date +%Y%m%d` 16 | docker tag $IMAGE_NAME ${repoName}:${dateTag} 17 | docker push ${repoName}:${dateTag} 18 | -------------------------------------------------------------------------------- /out/devel_mscore/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | pkgs <- c("biocViews", "ProtGenerics", "mzR", "MSnbase", "msdata", 5 | "BiocParallel", "knitr", "rmarkdown", "httr", "RCul", "XML", 6 | "zlibbioc", "tofsims","proFIA","ChemmineOB","ChemmineR") 7 | 8 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 9 | ap <- rownames(ap.db) 10 | 11 | pkgs_to_install <- pkgs[pkgs %in% ap] 12 | 13 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 14 | if (!all(ok)) 15 | stop("Failed to install:\n ", 16 | paste(pkgs_to_install[!ok], collapse=" \n ")) 17 | 18 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 19 | -------------------------------------------------------------------------------- /out/devel_protcore/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/devel_protcore. 6 | 7 | FROM bioconductor/devel_protmetcore2 8 | 9 | MAINTAINER lg390@cam.ac.uk 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | RUN apt-get update && apt-get -y install \ 15 | libudunits2-dev \ 16 | tcl8.6-dev \ 17 | tk 18 | 19 | ADD install.R /tmp/ 20 | 21 | # invalidates cache every 24 hours 22 | ADD http://master.bioconductor.org/todays-date /tmp/ 23 | 24 | RUN R -f /tmp/install.R 25 | -------------------------------------------------------------------------------- /out/devel_protcore/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Parse image name for repo name 6 | tagStart=$(expr index "$IMAGE_NAME" :) 7 | repoName=${IMAGE_NAME:0:tagStart-1} 8 | 9 | # Tag and push image for each additional tag 10 | #for tag in {16.04,latest}; do 11 | # docker tag $IMAGE_NAME ${repoName}:${tag} 12 | # docker push ${repoName}:${tag} 13 | #done 14 | 15 | dateTag=`date +%Y%m%d` 16 | docker tag $IMAGE_NAME ${repoName}:${dateTag} 17 | docker push ${repoName}:${dateTag} 18 | -------------------------------------------------------------------------------- /out/devel_protcore/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | pkgs <- c("MSnbase", "cleaver", "customProDB", "DAPAR", "MSGFplus", 5 | "MSGFgui", "rTANDEM", "MassSpecWavelet", "RankProd", 6 | "ChemmineR", "isobar", "msmsEDA", "msmsTests", "MSnID", 7 | "mzID", "MSstats", "proBAMr", "Prostar", "rpx", "hpar", 8 | "RforProteomics", "SWATH2stats", "specL", "PROcess", 9 | "proteoQC", "pRoloc", "pRolocdata", "synapter", 10 | "synapterdata", "pathview", "BRAIN", "biobroom") 11 | 12 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 13 | ap <- rownames(ap.db) 14 | pkgs_to_install <- pkgs[pkgs %in% ap] 15 | 16 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 17 | if (!all(ok)) 18 | stop("Failed to install:\n ", 19 | paste(pkgs_to_install[!ok], collapse=" \n ")) 20 | 21 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 22 | -------------------------------------------------------------------------------- /out/devel_proteomics/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/devel_proteomics. 6 | 7 | FROM bioconductor/devel_protcore2 8 | 9 | MAINTAINER lg390@cam.ac.uk 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | ADD install.R /tmp/ 15 | 16 | # invalidates cache every 24 hours 17 | ADD http://master.bioconductor.org/todays-date /tmp/ 18 | 19 | RUN R -f /tmp/install.R 20 | -------------------------------------------------------------------------------- /out/devel_proteomics/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Parse image name for repo name 6 | tagStart=$(expr index "$IMAGE_NAME" :) 7 | repoName=${IMAGE_NAME:0:tagStart-1} 8 | 9 | # Tag and push image for each additional tag 10 | #for tag in {16.04,latest}; do 11 | # docker tag $IMAGE_NAME ${repoName}:${tag} 12 | # docker push ${repoName}:${tag} 13 | #done 14 | 15 | dateTag=`date +%Y%m%d` 16 | docker tag $IMAGE_NAME ${repoName}:${dateTag} 17 | docker push ${repoName}:${dateTag} 18 | -------------------------------------------------------------------------------- /out/devel_proteomics/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | ## Obtain list of packages in view, as defined in config.yml 5 | 6 | wantedBiocViews <- c("Proteomics","MassSpectrometryData") 7 | 8 | 9 | install.packages("Cairo") 10 | 11 | ## software packages 12 | con1 <- url("http://www.bioconductor.org/packages/3.11/bioc/VIEWS") 13 | dcf1 <- as.data.frame(read.dcf(con1), stringsAsFactors=FALSE) 14 | ## data packages 15 | con2 <- url("http://www.bioconductor.org/packages/3.11/data/experiment/VIEWS") 16 | dcf2 <- as.data.frame(read.dcf(con2), stringsAsFactors=FALSE) 17 | 18 | dcf <- rbind(dcf1[, c("Package", "biocViews")], 19 | dcf2[, c("Package", "biocViews")]) 20 | 21 | i <- lapply(wantedBiocViews, grep, dcf$biocViews) 22 | pkgs_matching_views <- dcf$Package[unique(unlist(i))] 23 | 24 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 25 | ap <- rownames(ap.db) 26 | 27 | ## 28 | ## Selection and fine-tuning of packages to install 29 | ## 30 | pkgs_to_install <- pkgs_matching_views[pkgs_matching_views %in% ap] 31 | 32 | # don't reinstall anything that's installed already 33 | pkgs_to_install <- setdiff(pkgs_to_install, rownames(installed.packages())) 34 | 35 | ## test - there are 96 packages 36 | ## installing 48 works 37 | ## works with 65, R3.4.0_Bioc3.5 only though 38 | #pkgs_to_install <- pkgs_to_install[1:50] 39 | 40 | # Explicitly disable broken packages: 41 | 42 | # https://github.com/Bioconductor/bioc_docker/issues/58 43 | pkgs_to_install <- pkgs_to_install[!grepl("prot2D", pkgs_to_install)] 44 | # https://github.com/Bioconductor/bioc_docker/issues/55 45 | pkgs_to_install <- pkgs_to_install[!grepl("spliceSites", pkgs_to_install)] 46 | # https://github.com/Bioconductor/bioc_docker/issues/86 47 | pkgs_to_install <- pkgs_to_install[!grepl("Rchemcpp", pkgs_to_install)] 48 | 49 | ## Start the actual installation: 50 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 51 | if (!all(ok)) 52 | stop("Failed to install:\n ", 53 | paste(pkgs_to_install[!ok], collapse=" \n ")) 54 | 55 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 56 | -------------------------------------------------------------------------------- /out/devel_protmetcore/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/devel_protmetcore. 6 | 7 | FROM bioconductor/devel_mscore2 8 | 9 | MAINTAINER sneumann@ipb-halle.de 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | ADD install.R /tmp/ 15 | 16 | # invalidates cache every 24 hours 17 | ADD http://master.bioconductor.org/todays-date /tmp/ 18 | 19 | RUN R -f /tmp/install.R 20 | -------------------------------------------------------------------------------- /out/devel_protmetcore/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | ## 5 | ## Obtain list of packages in view, as defined in config.yml 6 | ## 7 | 8 | 9 | wantedBiocViews <- c("Metabolomics","Proteomics") 10 | 11 | url <- "http://www.bioconductor.org/packages/3.11/bioc/VIEWS" 12 | 13 | t <- tempfile() 14 | download.file(url, t) 15 | dcf <- as.data.frame(read.dcf(t), stringsAsFactors=FALSE) 16 | 17 | pkgs_matching_views <- c() 18 | 19 | for (i in 1:nrow(dcf)) 20 | { 21 | row <- dcf[i,] 22 | if ((!is.na(row$biocViews)) && (!is.null(row$biocViews))) 23 | { 24 | views <- strsplit(gsub("\\s", "", row$biocViews), ",")[[1]] 25 | if(all(wantedBiocViews %in% views)) 26 | pkgs_matching_views <- append(pkgs_matching_views, row$Package) 27 | } 28 | } 29 | length(pkgs_matching_views) 30 | 31 | 32 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 33 | ap <- rownames(ap.db) 34 | 35 | ## 36 | ## Selection and fine-tuning of packages to install 37 | ## 38 | pkgs_to_install <- pkgs_matching_views[pkgs_matching_views %in% ap] 39 | 40 | ## 41 | ## gridExtra is in Suggests: of ChemmineR, but ChemmineR fails if not 42 | ## present 43 | ## 44 | 45 | pkgs_to_install <- c(pkgs_to_install, "gridExtra") 46 | 47 | 48 | # don't reinstall anything that's installed already 49 | pkgs_to_install <- setdiff(pkgs_to_install, rownames(installed.packages())) 50 | 51 | ## Start the actual installation: 52 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 53 | if (!all(ok)) 54 | stop("Failed to install:\n ", 55 | paste(pkgs_to_install[!ok], collapse=" \n ")) 56 | 57 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 58 | -------------------------------------------------------------------------------- /out/release_base/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/release_base. 6 | FROM rocker/rstudio:3.6.2 7 | 8 | MAINTAINER maintainer@bioconductor.org 9 | 10 | LABEL status="DEPRECATED" 11 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 12 | 13 | 14 | # nuke cache dirs before installing pkgs; tip from Dirk E fixes broken img 15 | RUN rm -f /var/lib/dpkg/available && rm -rf /var/cache/apt/* 16 | 17 | # same set of packages for both devel and release 18 | RUN apt-get update && \ 19 | apt-get -y --no-install-recommends install --fix-missing \ 20 | gdb \ 21 | libxml2-dev \ 22 | python-pip \ 23 | libz-dev \ 24 | liblzma-dev \ 25 | libbz2-dev \ 26 | libpng-dev \ 27 | libmariadb-dev \ 28 | libjpeg62-turbo-dev \ 29 | && rm -rf /var/lib/apt/lists/* 30 | 31 | # issues with '/var/lib/dpkg/available' not found 32 | # this will recreate 33 | RUN dpkg --clear-avail 34 | 35 | ADD install.R /tmp/ 36 | 37 | RUN R -f /tmp/install.R 38 | 39 | # Add bioc user as requested 40 | RUN useradd -ms /bin/bash -d /home/bioc -g staff bioc \ 41 | && echo "bioc:bioc" | chpasswd 42 | 43 | USER root 44 | RUN echo "R_LIBS=/usr/local/lib/R/host-site-library:\${R_LIBS}" > /usr/local/lib/R/etc/Renviron.site \ 45 | && echo "options(defaultPackages=c(getOption('defaultPackages'),'BiocManager'))" >> /usr/local/lib/R/etc/Rprofile.site 46 | -------------------------------------------------------------------------------- /out/release_base/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | docker tag $IMAGE_NAME $DOCKER_REPO:latest 3 | docker push $DOCKER_REPO:latest 4 | -------------------------------------------------------------------------------- /out/release_base/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | if ("BiocManager" %in% rownames(installed.packages())) 5 | remove.packages("BiocManager") 6 | 7 | install.packages("BiocManager", repos="https://cran.rstudio.com") 8 | 9 | library(BiocManager) 10 | 11 | if(BiocManager::version() != "3.10"){ 12 | BiocManager::install(version="3.10", 13 | update=TRUE, ask=FALSE) 14 | } 15 | 16 | builtins <- c("Matrix", "KernSmooth", "mgcv") 17 | 18 | for (builtin in builtins) 19 | if (!suppressWarnings(require(builtin, character.only=TRUE))) 20 | suppressWarnings(BiocManager::install(builtin, 21 | version="3.10", 22 | update=TRUE, ask=FALSE)) 23 | -------------------------------------------------------------------------------- /out/release_core/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/release_core. 6 | 7 | FROM bioconductor/release_base2 8 | 9 | MAINTAINER maintainer@bioconductor.org 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | ADD install.R /tmp/ 15 | 16 | # invalidates cache every 24 hours 17 | ADD http://master.bioconductor.org/todays-date /tmp/ 18 | 19 | RUN R -f /tmp/install.R 20 | -------------------------------------------------------------------------------- /out/release_core/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Parse image name for repo name 6 | tagStart=$(expr index "$IMAGE_NAME" :) 7 | repoName=${IMAGE_NAME:0:tagStart-1} 8 | 9 | # Tag and push image for each additional tag 10 | #for tag in {16.04,latest}; do 11 | # docker tag $IMAGE_NAME ${repoName}:${tag} 12 | # docker push ${repoName}:${tag} 13 | #done 14 | 15 | dateTag=`date +%Y%m%d` 16 | docker tag $IMAGE_NAME ${repoName}:${dateTag} 17 | docker push ${repoName}:${dateTag} 18 | -------------------------------------------------------------------------------- /out/release_core/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | pkgs <- c( 5 | "OrganismDbi", 6 | "ExperimentHub", 7 | "Biobase", 8 | "BiocParallel", 9 | "biomaRt", 10 | "Biostrings", 11 | "BSgenome", 12 | "ShortRead", 13 | "IRanges", 14 | "GenomicRanges", 15 | "GenomicAlignments", 16 | "GenomicFeatures", 17 | "SummarizedExperiment", 18 | "VariantAnnotation", 19 | "DelayedArray", 20 | "GSEABase", 21 | "Gviz", 22 | "graph", 23 | "RBGL", 24 | "Rgraphviz", 25 | "rmarkdown", 26 | "httr", 27 | "knitr", 28 | "BiocStyle" 29 | ) 30 | 31 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 32 | ap <- rownames(ap.db) 33 | fnd <- pkgs %in% ap 34 | pkgs_to_install <- pkgs[fnd] 35 | 36 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 37 | 38 | if (!all(fnd)) 39 | message("Packages not found in a valid repository (skipped):\n ", 40 | paste(pkgs[!fnd], collapse=" \n ")) 41 | if (!all(ok)) 42 | stop("Failed to install:\n ", 43 | paste(pkgs_to_install[!ok], collapse=" \n ")) 44 | 45 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 46 | -------------------------------------------------------------------------------- /out/release_cytometry/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/release_cytometry. 6 | 7 | FROM bioconductor/release_base2 8 | 9 | MAINTAINER wjiang2@fredhutch.org 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | ADD install.R /tmp/ 15 | 16 | # invalidates cache every 24 hours 17 | ADD http://master.bioconductor.org/todays-date /tmp/ 18 | 19 | RUN R -f /tmp/install.R 20 | -------------------------------------------------------------------------------- /out/release_cytometry/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Parse image name for repo name 6 | tagStart=$(expr index "$IMAGE_NAME" :) 7 | repoName=${IMAGE_NAME:0:tagStart-1} 8 | 9 | # Tag and push image for each additional tag 10 | #for tag in {16.04,latest}; do 11 | # docker tag $IMAGE_NAME ${repoName}:${tag} 12 | # docker push ${repoName}:${tag} 13 | #done 14 | 15 | dateTag=`date +%Y%m%d` 16 | docker tag $IMAGE_NAME ${repoName}:${dateTag} 17 | docker push ${repoName}:${dateTag} 18 | -------------------------------------------------------------------------------- /out/release_cytometry/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | pkgs <- c("biocViews", "CytoML", "roxygen2", "devtools") 5 | 6 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 7 | ap <- rownames(ap.db) 8 | 9 | pkgs_to_install <- pkgs[pkgs %in% ap] 10 | 11 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE, dependencies = TRUE) %in% rownames(installed.packages()) 12 | if (!all(ok)) 13 | stop("Failed to install:\n ", 14 | paste(pkgs_to_install[!ok], collapse=" \n ")) 15 | 16 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 17 | -------------------------------------------------------------------------------- /out/release_metabolomics/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/release_metabolomics. 6 | 7 | FROM bioconductor/release_protmetcore2 8 | 9 | MAINTAINER sneumann@ipb-halle.de 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | RUN apt-get update -qq && \ 15 | apt-get install -y --no-install-recommends \ 16 | libfreetype6 \ 17 | libcairo2-dev \ 18 | libexpat1-dev \ 19 | libgmp3-dev \ 20 | liblapack-dev \ 21 | libnetcdf-dev \ 22 | libopenbabel-dev \ 23 | libgl1-mesa-dev \ 24 | libglu1-mesa-dev \ 25 | libgsl0-dev \ 26 | libmpfr-dev \ 27 | pkg-config \ 28 | fftw3-dev \ 29 | libgtk2.0-dev \ 30 | libtiff5-dev \ 31 | libnetcdf-dev \ 32 | libmpfr-dev \ 33 | libnetcdf-dev \ 34 | liblapack-dev \ 35 | cmake \ 36 | tcl8.6 tk8.6 \ 37 | default-jdk \ 38 | libnetcdf-dev libpng-dev libbz2-dev liblzma-dev libpcre3-dev libicu-dev \ 39 | libudunits2-dev libgdal-dev 40 | 41 | RUN bash -i -c 'wget -O libSBML-5.10.2-core-src.tar.gz http://downloads.sourceforge.net/project/sbml/libsbml/5.10.2/stable/libSBML-5.10.2-core-src.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fsbml%2Ffiles%2Flibsbml%2F5.10.2%2Fstable%2F && tar xzvf libSBML-5.10.2-core-src.tar.gz ; cd libsbml-5.10.2 && CXXFLAGS=-fPIC CFLAGS=-fPIC ./configure --prefix=/usr && make && make install && ldconfig' 42 | 43 | RUN R CMD javareconf 44 | 45 | ENV NETCDF_INCLUDE=/usr/include 46 | 47 | ENV OPEN_BABEL_LIBDIR /usr/lib/openbabel/2.3.2/ 48 | ENV OPEN_BABEL_INCDIR /usr/include/openbabel-2.0/ 49 | 50 | ADD install.R /tmp/ 51 | 52 | # invalidates cache every 24 hours 53 | ADD http://master.bioconductor.org/todays-date /tmp/ 54 | 55 | RUN R -f /tmp/install.R 56 | -------------------------------------------------------------------------------- /out/release_metabolomics/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | ## 5 | ## Obtain list of packages in view, as defined in config.yml 6 | ## 7 | 8 | 9 | wantedBiocViews <- c("Metabolomics") 10 | 11 | url <- "http://www.bioconductor.org/packages/3.10/bioc/VIEWS" 12 | 13 | t <- tempfile() 14 | download.file(url, t) 15 | dcf <- as.data.frame(read.dcf(t), stringsAsFactors=FALSE) 16 | 17 | pkgs_matching_views <- c() 18 | 19 | for (i in 1:nrow(dcf)) 20 | { 21 | row <- dcf[i,] 22 | if ((!is.na(row$biocViews)) && (!is.null(row$biocViews))) 23 | { 24 | views <- strsplit(gsub("\\s", "", row$biocViews), ",")[[1]] 25 | if(any(wantedBiocViews %in% views)) 26 | pkgs_matching_views <- append(pkgs_matching_views, row$Package) 27 | } 28 | } 29 | 30 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 31 | ap <- rownames(ap.db) 32 | 33 | ## 34 | ## Selection and fine-tuning of packages to install 35 | ## 36 | pkgs_to_install <- pkgs_matching_views[pkgs_matching_views %in% ap] 37 | 38 | # don't reinstall anything that's installed already 39 | pkgs_to_install <- setdiff(pkgs_to_install, rownames(installed.packages())) 40 | 41 | # Explicitly disable broken packages: 42 | 43 | # https://github.com/Bioconductor/bioc_docker/issues/58 44 | pkgs_to_install <- pkgs_to_install[!grepl("mQTL.NMR", pkgs_to_install)] 45 | 46 | ## Start the actual installation: 47 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 48 | if (!all(ok)) 49 | stop("Failed to install:\n ", 50 | paste(pkgs_to_install[!ok], collapse=" \n ")) 51 | 52 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 53 | -------------------------------------------------------------------------------- /out/release_mscore/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/release_mscore. 6 | 7 | FROM bioconductor/release_base2 8 | 9 | MAINTAINER lg390@cam.ac.uk 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | RUN apt-get update -qq && \ 15 | apt-get install -y --no-install-recommends \ 16 | libxt-dev \ 17 | libx11-dev \ 18 | libcairo2-dev \ 19 | libfreetype6 \ 20 | libexpat1-dev \ 21 | libgmp3-dev \ 22 | libopenbabel-dev \ 23 | libgl1-mesa-dev \ 24 | libglu1-mesa-dev \ 25 | libgsl0-dev \ 26 | pkg-config \ 27 | fftw3-dev \ 28 | libgtk2.0-dev \ 29 | libtiff5-dev \ 30 | libmpfr-dev \ 31 | liblapack-dev \ 32 | cmake \ 33 | default-jdk \ 34 | libnetcdf-dev \ 35 | libpcre3-dev \ 36 | libicu-dev \ 37 | librsvg2-dev 38 | 39 | RUN R CMD javareconf 40 | 41 | ENV NETCDF_INCLUDE=/usr/include 42 | 43 | ADD install.R /tmp/ 44 | 45 | # invalidates cache every 24 hours 46 | ADD http://master.bioconductor.org/todays-date /tmp/ 47 | 48 | RUN R -f /tmp/install.R 49 | -------------------------------------------------------------------------------- /out/release_mscore/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Parse image name for repo name 6 | tagStart=$(expr index "$IMAGE_NAME" :) 7 | repoName=${IMAGE_NAME:0:tagStart-1} 8 | 9 | # Tag and push image for each additional tag 10 | #for tag in {16.04,latest}; do 11 | # docker tag $IMAGE_NAME ${repoName}:${tag} 12 | # docker push ${repoName}:${tag} 13 | #done 14 | 15 | dateTag=`date +%Y%m%d` 16 | docker tag $IMAGE_NAME ${repoName}:${dateTag} 17 | docker push ${repoName}:${dateTag} 18 | -------------------------------------------------------------------------------- /out/release_mscore/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | pkgs <- c("biocViews", "ProtGenerics", "mzR", "MSnbase", "msdata", 5 | "BiocParallel", "knitr", "rmarkdown", "httr", "RCul", "XML", 6 | "zlibbioc", "tofsims","proFIA","ChemmineOB","ChemmineR") 7 | 8 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 9 | ap <- rownames(ap.db) 10 | 11 | pkgs_to_install <- pkgs[pkgs %in% ap] 12 | 13 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 14 | if (!all(ok)) 15 | stop("Failed to install:\n ", 16 | paste(pkgs_to_install[!ok], collapse=" \n ")) 17 | 18 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 19 | -------------------------------------------------------------------------------- /out/release_protcore/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/release_protcore. 6 | 7 | FROM bioconductor/release_protmetcore2 8 | 9 | MAINTAINER lg390@cam.ac.uk 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | RUN apt-get update && apt-get -y install \ 15 | libudunits2-dev \ 16 | tcl8.6-dev \ 17 | tk 18 | 19 | ADD install.R /tmp/ 20 | 21 | # invalidates cache every 24 hours 22 | ADD http://master.bioconductor.org/todays-date /tmp/ 23 | 24 | RUN R -f /tmp/install.R 25 | -------------------------------------------------------------------------------- /out/release_protcore/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Parse image name for repo name 6 | tagStart=$(expr index "$IMAGE_NAME" :) 7 | repoName=${IMAGE_NAME:0:tagStart-1} 8 | 9 | # Tag and push image for each additional tag 10 | #for tag in {16.04,latest}; do 11 | # docker tag $IMAGE_NAME ${repoName}:${tag} 12 | # docker push ${repoName}:${tag} 13 | #done 14 | 15 | dateTag=`date +%Y%m%d` 16 | docker tag $IMAGE_NAME ${repoName}:${dateTag} 17 | docker push ${repoName}:${dateTag} 18 | -------------------------------------------------------------------------------- /out/release_protcore/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | pkgs <- c("MSnbase", "cleaver", "customProDB", "DAPAR", "MSGFplus", 5 | "MSGFgui", "rTANDEM", "MassSpecWavelet", "RankProd", 6 | "ChemmineR", "isobar", "msmsEDA", "msmsTests", "MSnID", 7 | "mzID", "MSstats", "proBAMr", "Prostar", "rpx", "hpar", 8 | "RforProteomics", "SWATH2stats", "specL", "PROcess", 9 | "proteoQC", "pRoloc", "pRolocdata", "synapter", 10 | "synapterdata", "pathview", "BRAIN", "biobroom") 11 | 12 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 13 | ap <- rownames(ap.db) 14 | pkgs_to_install <- pkgs[pkgs %in% ap] 15 | 16 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 17 | if (!all(ok)) 18 | stop("Failed to install:\n ", 19 | paste(pkgs_to_install[!ok], collapse=" \n ")) 20 | 21 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 22 | -------------------------------------------------------------------------------- /out/release_proteomics/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/release_proteomics. 6 | 7 | FROM bioconductor/release_protcore2 8 | 9 | MAINTAINER lg390@cam.ac.uk 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | ADD install.R /tmp/ 15 | 16 | # invalidates cache every 24 hours 17 | ADD http://master.bioconductor.org/todays-date /tmp/ 18 | 19 | RUN R -f /tmp/install.R 20 | -------------------------------------------------------------------------------- /out/release_proteomics/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Parse image name for repo name 6 | tagStart=$(expr index "$IMAGE_NAME" :) 7 | repoName=${IMAGE_NAME:0:tagStart-1} 8 | 9 | # Tag and push image for each additional tag 10 | #for tag in {16.04,latest}; do 11 | # docker tag $IMAGE_NAME ${repoName}:${tag} 12 | # docker push ${repoName}:${tag} 13 | #done 14 | 15 | dateTag=`date +%Y%m%d` 16 | docker tag $IMAGE_NAME ${repoName}:${dateTag} 17 | docker push ${repoName}:${dateTag} 18 | -------------------------------------------------------------------------------- /out/release_proteomics/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | ## Obtain list of packages in view, as defined in config.yml 5 | 6 | wantedBiocViews <- c("Proteomics","MassSpectrometryData") 7 | 8 | 9 | install.packages("Cairo") 10 | 11 | ## software packages 12 | con1 <- url("http://www.bioconductor.org/packages/3.10/bioc/VIEWS") 13 | dcf1 <- as.data.frame(read.dcf(con1), stringsAsFactors=FALSE) 14 | ## data packages 15 | con2 <- url("http://www.bioconductor.org/packages/3.10/data/experiment/VIEWS") 16 | dcf2 <- as.data.frame(read.dcf(con2), stringsAsFactors=FALSE) 17 | 18 | dcf <- rbind(dcf1[, c("Package", "biocViews")], 19 | dcf2[, c("Package", "biocViews")]) 20 | 21 | i <- lapply(wantedBiocViews, grep, dcf$biocViews) 22 | pkgs_matching_views <- dcf$Package[unique(unlist(i))] 23 | 24 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 25 | ap <- rownames(ap.db) 26 | 27 | ## 28 | ## Selection and fine-tuning of packages to install 29 | ## 30 | pkgs_to_install <- pkgs_matching_views[pkgs_matching_views %in% ap] 31 | 32 | # don't reinstall anything that's installed already 33 | pkgs_to_install <- setdiff(pkgs_to_install, rownames(installed.packages())) 34 | 35 | ## test - there are 96 packages 36 | ## installing 48 works 37 | ## works with 65, R3.4.0_Bioc3.5 only though 38 | #pkgs_to_install <- pkgs_to_install[1:50] 39 | 40 | # Explicitly disable broken packages: 41 | 42 | # https://github.com/Bioconductor/bioc_docker/issues/58 43 | pkgs_to_install <- pkgs_to_install[!grepl("prot2D", pkgs_to_install)] 44 | # https://github.com/Bioconductor/bioc_docker/issues/55 45 | pkgs_to_install <- pkgs_to_install[!grepl("spliceSites", pkgs_to_install)] 46 | # https://github.com/Bioconductor/bioc_docker/issues/86 47 | pkgs_to_install <- pkgs_to_install[!grepl("Rchemcpp", pkgs_to_install)] 48 | 49 | ## Start the actual installation: 50 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 51 | if (!all(ok)) 52 | stop("Failed to install:\n ", 53 | paste(pkgs_to_install[!ok], collapse=" \n ")) 54 | 55 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 56 | -------------------------------------------------------------------------------- /out/release_protmetcore/Dockerfile: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: bioconductor/release_protmetcore. 6 | 7 | FROM bioconductor/release_mscore2 8 | 9 | MAINTAINER sneumann@ipb-halle.de 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | ADD install.R /tmp/ 15 | 16 | # invalidates cache every 24 hours 17 | ADD http://master.bioconductor.org/todays-date /tmp/ 18 | 19 | RUN R -f /tmp/install.R 20 | -------------------------------------------------------------------------------- /out/release_protmetcore/install.R: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | ## 5 | ## Obtain list of packages in view, as defined in config.yml 6 | ## 7 | 8 | 9 | wantedBiocViews <- c("Metabolomics","Proteomics") 10 | 11 | url <- "http://www.bioconductor.org/packages/3.10/bioc/VIEWS" 12 | 13 | t <- tempfile() 14 | download.file(url, t) 15 | dcf <- as.data.frame(read.dcf(t), stringsAsFactors=FALSE) 16 | 17 | pkgs_matching_views <- c() 18 | 19 | for (i in 1:nrow(dcf)) 20 | { 21 | row <- dcf[i,] 22 | if ((!is.na(row$biocViews)) && (!is.null(row$biocViews))) 23 | { 24 | views <- strsplit(gsub("\\s", "", row$biocViews), ",")[[1]] 25 | if(all(wantedBiocViews %in% views)) 26 | pkgs_matching_views <- append(pkgs_matching_views, row$Package) 27 | } 28 | } 29 | length(pkgs_matching_views) 30 | 31 | 32 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 33 | ap <- rownames(ap.db) 34 | 35 | ## 36 | ## Selection and fine-tuning of packages to install 37 | ## 38 | pkgs_to_install <- pkgs_matching_views[pkgs_matching_views %in% ap] 39 | 40 | ## 41 | ## gridExtra is in Suggests: of ChemmineR, but ChemmineR fails if not 42 | ## present 43 | ## 44 | 45 | pkgs_to_install <- c(pkgs_to_install, "gridExtra") 46 | 47 | 48 | # don't reinstall anything that's installed already 49 | pkgs_to_install <- setdiff(pkgs_to_install, rownames(installed.packages())) 50 | 51 | ## Start the actual installation: 52 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 53 | if (!all(ok)) 54 | stop("Failed to install:\n ", 55 | paste(pkgs_to_install[!ok], collapse=" \n ")) 56 | 57 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 58 | -------------------------------------------------------------------------------- /src/base/Dockerfile.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: <%= image_name %>. 6 | FROM <%= parent %> 7 | 8 | MAINTAINER maintainer@bioconductor.org 9 | 10 | LABEL status="DEPRECATED" 11 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 12 | 13 | 14 | # nuke cache dirs before installing pkgs; tip from Dirk E fixes broken img 15 | RUN rm -f /var/lib/dpkg/available && rm -rf /var/cache/apt/* 16 | 17 | # same set of packages for both devel and release 18 | RUN apt-get update && \ 19 | apt-get -y --no-install-recommends install --fix-missing \ 20 | gdb \ 21 | libxml2-dev \ 22 | python-pip \ 23 | libz-dev \ 24 | liblzma-dev \ 25 | libbz2-dev \ 26 | libpng-dev \ 27 | libmariadb-dev \ 28 | libjpeg62-turbo-dev \ 29 | && rm -rf /var/lib/apt/lists/* 30 | 31 | # issues with '/var/lib/dpkg/available' not found 32 | # this will recreate 33 | RUN dpkg --clear-avail 34 | 35 | ADD install.R /tmp/ 36 | 37 | RUN R -f /tmp/install.R 38 | 39 | # Add bioc user as requested 40 | RUN useradd -ms /bin/bash -d /home/bioc -g staff bioc \ 41 | && echo "bioc:bioc" | chpasswd 42 | 43 | USER root 44 | RUN echo "R_LIBS=/usr/local/lib/R/host-site-library:\${R_LIBS}" > /usr/local/lib/R/etc/Renviron.site \ 45 | && echo "options(defaultPackages=c(getOption('defaultPackages'),'BiocManager'))" >> /usr/local/lib/R/etc/Rprofile.site 46 | -------------------------------------------------------------------------------- /src/base/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | docker tag $IMAGE_NAME $DOCKER_REPO:latest 3 | docker push $DOCKER_REPO:latest 4 | -------------------------------------------------------------------------------- /src/base/install.R.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | if ("BiocManager" %in% rownames(installed.packages())) 5 | remove.packages("BiocManager") 6 | 7 | install.packages("BiocManager", repos="https://cran.rstudio.com") 8 | 9 | library(BiocManager) 10 | 11 | if(BiocManager::version() != "<%= bioc_version %>"){ 12 | BiocManager::install(version="<%= bioc_version %>", 13 | update=TRUE, ask=FALSE) 14 | } 15 | 16 | builtins <- c("Matrix", "KernSmooth", "mgcv") 17 | 18 | for (builtin in builtins) 19 | if (!suppressWarnings(require(builtin, character.only=TRUE))) 20 | suppressWarnings(BiocManager::install(builtin, 21 | version="<%= bioc_version %>", 22 | update=TRUE, ask=FALSE)) 23 | -------------------------------------------------------------------------------- /src/core/Dockerfile.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: <%= image_name %>. 6 | 7 | FROM <%= parent %>2 8 | 9 | MAINTAINER maintainer@bioconductor.org 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | ADD install.R /tmp/ 15 | 16 | # invalidates cache every 24 hours 17 | ADD http://master.bioconductor.org/todays-date /tmp/ 18 | 19 | RUN R -f /tmp/install.R 20 | -------------------------------------------------------------------------------- /src/core/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Parse image name for repo name 6 | tagStart=$(expr index "$IMAGE_NAME" :) 7 | repoName=${IMAGE_NAME:0:tagStart-1} 8 | 9 | # Tag and push image for each additional tag 10 | #for tag in {16.04,latest}; do 11 | # docker tag $IMAGE_NAME ${repoName}:${tag} 12 | # docker push ${repoName}:${tag} 13 | #done 14 | 15 | dateTag=`date +%Y%m%d` 16 | docker tag $IMAGE_NAME ${repoName}:${dateTag} 17 | docker push ${repoName}:${dateTag} 18 | -------------------------------------------------------------------------------- /src/core/install.R.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | pkgs <- c( 5 | "OrganismDbi", 6 | "ExperimentHub", 7 | "Biobase", 8 | "BiocParallel", 9 | "biomaRt", 10 | "Biostrings", 11 | "BSgenome", 12 | "ShortRead", 13 | "IRanges", 14 | "GenomicRanges", 15 | "GenomicAlignments", 16 | "GenomicFeatures", 17 | "SummarizedExperiment", 18 | "VariantAnnotation", 19 | "DelayedArray", 20 | "GSEABase", 21 | "Gviz", 22 | "graph", 23 | "RBGL", 24 | "Rgraphviz", 25 | "rmarkdown", 26 | "httr", 27 | "knitr", 28 | "BiocStyle" 29 | ) 30 | 31 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 32 | ap <- rownames(ap.db) 33 | fnd <- pkgs %in% ap 34 | pkgs_to_install <- pkgs[fnd] 35 | 36 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 37 | 38 | if (!all(fnd)) 39 | message("Packages not found in a valid repository (skipped):\n ", 40 | paste(pkgs[!fnd], collapse=" \n ")) 41 | if (!all(ok)) 42 | stop("Failed to install:\n ", 43 | paste(pkgs_to_install[!ok], collapse=" \n ")) 44 | 45 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 46 | -------------------------------------------------------------------------------- /src/cytometry/Dockerfile.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: <%= image_name %>. 6 | 7 | FROM <%= parent %>2 8 | 9 | MAINTAINER wjiang2@fredhutch.org 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | ADD install.R /tmp/ 15 | 16 | # invalidates cache every 24 hours 17 | ADD http://master.bioconductor.org/todays-date /tmp/ 18 | 19 | RUN R -f /tmp/install.R 20 | -------------------------------------------------------------------------------- /src/cytometry/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Parse image name for repo name 6 | tagStart=$(expr index "$IMAGE_NAME" :) 7 | repoName=${IMAGE_NAME:0:tagStart-1} 8 | 9 | # Tag and push image for each additional tag 10 | #for tag in {16.04,latest}; do 11 | # docker tag $IMAGE_NAME ${repoName}:${tag} 12 | # docker push ${repoName}:${tag} 13 | #done 14 | 15 | dateTag=`date +%Y%m%d` 16 | docker tag $IMAGE_NAME ${repoName}:${dateTag} 17 | docker push ${repoName}:${dateTag} 18 | -------------------------------------------------------------------------------- /src/cytometry/install.R.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | pkgs <- c("biocViews", "CytoML", "roxygen2", "devtools") 5 | 6 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 7 | ap <- rownames(ap.db) 8 | 9 | pkgs_to_install <- pkgs[pkgs %in% ap] 10 | 11 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE, dependencies = TRUE) %in% rownames(installed.packages()) 12 | if (!all(ok)) 13 | stop("Failed to install:\n ", 14 | paste(pkgs_to_install[!ok], collapse=" \n ")) 15 | 16 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 17 | -------------------------------------------------------------------------------- /src/metabolomics/Dockerfile.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: <%= image_name %>. 6 | 7 | FROM <%= parent %>2 8 | 9 | MAINTAINER sneumann@ipb-halle.de 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | RUN apt-get update -qq && \ 15 | apt-get install -y --no-install-recommends \ 16 | libfreetype6 \ 17 | libcairo2-dev \ 18 | libexpat1-dev \ 19 | libgmp3-dev \ 20 | liblapack-dev \ 21 | libnetcdf-dev \ 22 | libopenbabel-dev \ 23 | libgl1-mesa-dev \ 24 | libglu1-mesa-dev \ 25 | libgsl0-dev \ 26 | libmpfr-dev \ 27 | pkg-config \ 28 | fftw3-dev \ 29 | libgtk2.0-dev \ 30 | libtiff5-dev \ 31 | libnetcdf-dev \ 32 | libmpfr-dev \ 33 | libnetcdf-dev \ 34 | liblapack-dev \ 35 | cmake \ 36 | tcl8.6 tk8.6 \ 37 | default-jdk \ 38 | libnetcdf-dev libpng-dev libbz2-dev liblzma-dev libpcre3-dev libicu-dev \ 39 | libudunits2-dev libgdal-dev 40 | 41 | RUN bash -i -c 'wget -O libSBML-5.10.2-core-src.tar.gz http://downloads.sourceforge.net/project/sbml/libsbml/5.10.2/stable/libSBML-5.10.2-core-src.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fsbml%2Ffiles%2Flibsbml%2F5.10.2%2Fstable%2F && tar xzvf libSBML-5.10.2-core-src.tar.gz ; cd libsbml-5.10.2 && CXXFLAGS=-fPIC CFLAGS=-fPIC ./configure --prefix=/usr && make && make install && ldconfig' 42 | 43 | RUN R CMD javareconf 44 | 45 | ENV NETCDF_INCLUDE=/usr/include 46 | 47 | ENV OPEN_BABEL_LIBDIR /usr/lib/openbabel/2.3.2/ 48 | ENV OPEN_BABEL_INCDIR /usr/include/openbabel-2.0/ 49 | 50 | ADD install.R /tmp/ 51 | 52 | # invalidates cache every 24 hours 53 | ADD http://master.bioconductor.org/todays-date /tmp/ 54 | 55 | RUN R -f /tmp/install.R 56 | -------------------------------------------------------------------------------- /src/metabolomics/install.R.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | ## 5 | ## Obtain list of packages in view, as defined in config.yml 6 | ## 7 | 8 | <% if defined? biocViews %> 9 | wantedBiocViews <- c(<%= biocViews.map{|i| '"' + i + '"'}.join(",") %>) 10 | <% else %> 11 | wantedBiocViews <- c("none") 12 | <% end %> 13 | url <- "http://www.bioconductor.org/packages/<%= bioc_version %>/bioc/VIEWS" 14 | 15 | t <- tempfile() 16 | download.file(url, t) 17 | dcf <- as.data.frame(read.dcf(t), stringsAsFactors=FALSE) 18 | 19 | pkgs_matching_views <- c() 20 | 21 | for (i in 1:nrow(dcf)) 22 | { 23 | row <- dcf[i,] 24 | if ((!is.na(row$biocViews)) && (!is.null(row$biocViews))) 25 | { 26 | views <- strsplit(gsub("\\s", "", row$biocViews), ",")[[1]] 27 | if(any(wantedBiocViews %in% views)) 28 | pkgs_matching_views <- append(pkgs_matching_views, row$Package) 29 | } 30 | } 31 | 32 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 33 | ap <- rownames(ap.db) 34 | 35 | ## 36 | ## Selection and fine-tuning of packages to install 37 | ## 38 | pkgs_to_install <- pkgs_matching_views[pkgs_matching_views %in% ap] 39 | 40 | # don't reinstall anything that's installed already 41 | pkgs_to_install <- setdiff(pkgs_to_install, rownames(installed.packages())) 42 | 43 | # Explicitly disable broken packages: 44 | 45 | # https://github.com/Bioconductor/bioc_docker/issues/58 46 | pkgs_to_install <- pkgs_to_install[!grepl("mQTL.NMR", pkgs_to_install)] 47 | 48 | ## Start the actual installation: 49 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 50 | if (!all(ok)) 51 | stop("Failed to install:\n ", 52 | paste(pkgs_to_install[!ok], collapse=" \n ")) 53 | 54 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 55 | -------------------------------------------------------------------------------- /src/mscore/Dockerfile.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: <%= image_name %>. 6 | 7 | FROM <%= parent %>2 8 | 9 | MAINTAINER lg390@cam.ac.uk 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | RUN apt-get update -qq && \ 15 | apt-get install -y --no-install-recommends \ 16 | libxt-dev \ 17 | libx11-dev \ 18 | libcairo2-dev \ 19 | libfreetype6 \ 20 | libexpat1-dev \ 21 | libgmp3-dev \ 22 | libopenbabel-dev \ 23 | libgl1-mesa-dev \ 24 | libglu1-mesa-dev \ 25 | libgsl0-dev \ 26 | pkg-config \ 27 | fftw3-dev \ 28 | libgtk2.0-dev \ 29 | libtiff5-dev \ 30 | libmpfr-dev \ 31 | liblapack-dev \ 32 | cmake \ 33 | default-jdk \ 34 | libnetcdf-dev \ 35 | libpcre3-dev \ 36 | libicu-dev \ 37 | librsvg2-dev 38 | 39 | RUN R CMD javareconf 40 | 41 | ENV NETCDF_INCLUDE=/usr/include 42 | 43 | ADD install.R /tmp/ 44 | 45 | # invalidates cache every 24 hours 46 | ADD http://master.bioconductor.org/todays-date /tmp/ 47 | 48 | RUN R -f /tmp/install.R 49 | -------------------------------------------------------------------------------- /src/mscore/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Parse image name for repo name 6 | tagStart=$(expr index "$IMAGE_NAME" :) 7 | repoName=${IMAGE_NAME:0:tagStart-1} 8 | 9 | # Tag and push image for each additional tag 10 | #for tag in {16.04,latest}; do 11 | # docker tag $IMAGE_NAME ${repoName}:${tag} 12 | # docker push ${repoName}:${tag} 13 | #done 14 | 15 | dateTag=`date +%Y%m%d` 16 | docker tag $IMAGE_NAME ${repoName}:${dateTag} 17 | docker push ${repoName}:${dateTag} 18 | -------------------------------------------------------------------------------- /src/mscore/install.R.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | pkgs <- c("biocViews", "ProtGenerics", "mzR", "MSnbase", "msdata", 5 | "BiocParallel", "knitr", "rmarkdown", "httr", "RCul", "XML", 6 | "zlibbioc", "tofsims","proFIA","ChemmineOB","ChemmineR") 7 | 8 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 9 | ap <- rownames(ap.db) 10 | 11 | pkgs_to_install <- pkgs[pkgs %in% ap] 12 | 13 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 14 | if (!all(ok)) 15 | stop("Failed to install:\n ", 16 | paste(pkgs_to_install[!ok], collapse=" \n ")) 17 | 18 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 19 | -------------------------------------------------------------------------------- /src/protcore/Dockerfile.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: <%= image_name %>. 6 | 7 | FROM <%= parent %>2 8 | 9 | MAINTAINER lg390@cam.ac.uk 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | RUN apt-get update && apt-get -y install \ 15 | libudunits2-dev \ 16 | tcl8.6-dev \ 17 | tk 18 | 19 | ADD install.R /tmp/ 20 | 21 | # invalidates cache every 24 hours 22 | ADD http://master.bioconductor.org/todays-date /tmp/ 23 | 24 | RUN R -f /tmp/install.R 25 | -------------------------------------------------------------------------------- /src/protcore/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Parse image name for repo name 6 | tagStart=$(expr index "$IMAGE_NAME" :) 7 | repoName=${IMAGE_NAME:0:tagStart-1} 8 | 9 | # Tag and push image for each additional tag 10 | #for tag in {16.04,latest}; do 11 | # docker tag $IMAGE_NAME ${repoName}:${tag} 12 | # docker push ${repoName}:${tag} 13 | #done 14 | 15 | dateTag=`date +%Y%m%d` 16 | docker tag $IMAGE_NAME ${repoName}:${dateTag} 17 | docker push ${repoName}:${dateTag} 18 | -------------------------------------------------------------------------------- /src/protcore/install.R.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | pkgs <- c("MSnbase", "cleaver", "customProDB", "DAPAR", "MSGFplus", 5 | "MSGFgui", "rTANDEM", "MassSpecWavelet", "RankProd", 6 | "ChemmineR", "isobar", "msmsEDA", "msmsTests", "MSnID", 7 | "mzID", "MSstats", "proBAMr", "Prostar", "rpx", "hpar", 8 | "RforProteomics", "SWATH2stats", "specL", "PROcess", 9 | "proteoQC", "pRoloc", "pRolocdata", "synapter", 10 | "synapterdata", "pathview", "BRAIN", "biobroom") 11 | 12 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 13 | ap <- rownames(ap.db) 14 | pkgs_to_install <- pkgs[pkgs %in% ap] 15 | 16 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 17 | if (!all(ok)) 18 | stop("Failed to install:\n ", 19 | paste(pkgs_to_install[!ok], collapse=" \n ")) 20 | 21 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 22 | -------------------------------------------------------------------------------- /src/proteomics/Dockerfile.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: <%= image_name %>. 6 | 7 | FROM <%= parent %>2 8 | 9 | MAINTAINER lg390@cam.ac.uk 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | ADD install.R /tmp/ 15 | 16 | # invalidates cache every 24 hours 17 | ADD http://master.bioconductor.org/todays-date /tmp/ 18 | 19 | RUN R -f /tmp/install.R 20 | -------------------------------------------------------------------------------- /src/proteomics/hooks/post_push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Parse image name for repo name 6 | tagStart=$(expr index "$IMAGE_NAME" :) 7 | repoName=${IMAGE_NAME:0:tagStart-1} 8 | 9 | # Tag and push image for each additional tag 10 | #for tag in {16.04,latest}; do 11 | # docker tag $IMAGE_NAME ${repoName}:${tag} 12 | # docker push ${repoName}:${tag} 13 | #done 14 | 15 | dateTag=`date +%Y%m%d` 16 | docker tag $IMAGE_NAME ${repoName}:${dateTag} 17 | docker push ${repoName}:${dateTag} 18 | -------------------------------------------------------------------------------- /src/proteomics/install.R.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | ## Obtain list of packages in view, as defined in config.yml 5 | <% if defined? biocViews %> 6 | wantedBiocViews <- c(<%= biocViews.map{|i| '"' + i + '"'}.join(",") %>) 7 | <% else %> 8 | wantedBiocViews <- c("none") 9 | <% end %> 10 | 11 | install.packages("Cairo") 12 | 13 | ## software packages 14 | con1 <- url("http://www.bioconductor.org/packages/<%= bioc_version %>/bioc/VIEWS") 15 | dcf1 <- as.data.frame(read.dcf(con1), stringsAsFactors=FALSE) 16 | ## data packages 17 | con2 <- url("http://www.bioconductor.org/packages/<%= bioc_version %>/data/experiment/VIEWS") 18 | dcf2 <- as.data.frame(read.dcf(con2), stringsAsFactors=FALSE) 19 | 20 | dcf <- rbind(dcf1[, c("Package", "biocViews")], 21 | dcf2[, c("Package", "biocViews")]) 22 | 23 | i <- lapply(wantedBiocViews, grep, dcf$biocViews) 24 | pkgs_matching_views <- dcf$Package[unique(unlist(i))] 25 | 26 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 27 | ap <- rownames(ap.db) 28 | 29 | ## 30 | ## Selection and fine-tuning of packages to install 31 | ## 32 | pkgs_to_install <- pkgs_matching_views[pkgs_matching_views %in% ap] 33 | 34 | # don't reinstall anything that's installed already 35 | pkgs_to_install <- setdiff(pkgs_to_install, rownames(installed.packages())) 36 | 37 | ## test - there are 96 packages 38 | ## installing 48 works 39 | ## works with 65, R3.4.0_Bioc3.5 only though 40 | #pkgs_to_install <- pkgs_to_install[1:50] 41 | 42 | # Explicitly disable broken packages: 43 | 44 | # https://github.com/Bioconductor/bioc_docker/issues/58 45 | pkgs_to_install <- pkgs_to_install[!grepl("prot2D", pkgs_to_install)] 46 | # https://github.com/Bioconductor/bioc_docker/issues/55 47 | pkgs_to_install <- pkgs_to_install[!grepl("spliceSites", pkgs_to_install)] 48 | # https://github.com/Bioconductor/bioc_docker/issues/86 49 | pkgs_to_install <- pkgs_to_install[!grepl("Rchemcpp", pkgs_to_install)] 50 | 51 | ## Start the actual installation: 52 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 53 | if (!all(ok)) 54 | stop("Failed to install:\n ", 55 | paste(pkgs_to_install[!ok], collapse=" \n ")) 56 | 57 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 58 | -------------------------------------------------------------------------------- /src/protmetcore/Dockerfile.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT FILES CALLED 'Dockerfile'; they are automatically 2 | # generated. Edit 'Dockerfile.in' and generate the 'Dockerfile' 3 | # with the 'rake' command. 4 | 5 | # The suggested name for this image is: <%= image_name %>. 6 | 7 | FROM <%= parent %>2 8 | 9 | MAINTAINER sneumann@ipb-halle.de 10 | 11 | LABEL status="DEPRECATED" 12 | LABEL Description="Deprecated in favor of https://github.com/Bioconductor/bioconductor_docker." 13 | 14 | ADD install.R /tmp/ 15 | 16 | # invalidates cache every 24 hours 17 | ADD http://master.bioconductor.org/todays-date /tmp/ 18 | 19 | RUN R -f /tmp/install.R 20 | -------------------------------------------------------------------------------- /src/protmetcore/install.R.in: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT 'install.R'; instead, edit 'install.R.in' and 2 | # use 'rake' to generate 'install.R'. 3 | 4 | ## 5 | ## Obtain list of packages in view, as defined in config.yml 6 | ## 7 | 8 | <% if defined? biocViews %> 9 | wantedBiocViews <- c(<%= biocViews.map{|i| '"' + i + '"'}.join(",") %>) 10 | <% else %> 11 | wantedBiocViews <- c("none") 12 | <% end %> 13 | url <- "http://www.bioconductor.org/packages/<%= bioc_version %>/bioc/VIEWS" 14 | 15 | t <- tempfile() 16 | download.file(url, t) 17 | dcf <- as.data.frame(read.dcf(t), stringsAsFactors=FALSE) 18 | 19 | pkgs_matching_views <- c() 20 | 21 | for (i in 1:nrow(dcf)) 22 | { 23 | row <- dcf[i,] 24 | if ((!is.na(row$biocViews)) && (!is.null(row$biocViews))) 25 | { 26 | views <- strsplit(gsub("\\s", "", row$biocViews), ",")[[1]] 27 | if(all(wantedBiocViews %in% views)) 28 | pkgs_matching_views <- append(pkgs_matching_views, row$Package) 29 | } 30 | } 31 | length(pkgs_matching_views) 32 | 33 | 34 | ap.db <- available.packages(contrib.url(BiocManager::repositories())) 35 | ap <- rownames(ap.db) 36 | 37 | ## 38 | ## Selection and fine-tuning of packages to install 39 | ## 40 | pkgs_to_install <- pkgs_matching_views[pkgs_matching_views %in% ap] 41 | 42 | ## 43 | ## gridExtra is in Suggests: of ChemmineR, but ChemmineR fails if not 44 | ## present 45 | ## 46 | 47 | pkgs_to_install <- c(pkgs_to_install, "gridExtra") 48 | 49 | 50 | # don't reinstall anything that's installed already 51 | pkgs_to_install <- setdiff(pkgs_to_install, rownames(installed.packages())) 52 | 53 | ## Start the actual installation: 54 | ok <- BiocManager::install(pkgs_to_install, update=FALSE, ask=FALSE) %in% rownames(installed.packages()) 55 | if (!all(ok)) 56 | stop("Failed to install:\n ", 57 | paste(pkgs_to_install[!ok], collapse=" \n ")) 58 | 59 | suppressWarnings(BiocManager::install(update=TRUE, ask=FALSE)) 60 | -------------------------------------------------------------------------------- /tagutil.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | require 'docker' 4 | require 'open3' 5 | 6 | basedir = File.dirname(__FILE__) 7 | @auth = YAML.load_file(basedir + File::SEPARATOR + 'auth.yml') 8 | @imagenames = %w(base core flow microarray proteomics sequencing) 9 | @versioned_imagenames = [] 10 | %w(release devel).each do |version| 11 | @imagenames.each do |name| 12 | @versioned_imagenames << "#{version}_#{name}" 13 | end 14 | end 15 | 16 | 17 | @authenticated = false 18 | 19 | 20 | 21 | def get_image_info() 22 | repo = 'bioconductor' 23 | versions = %w(release devel) 24 | for version in versions 25 | for imagename in @imagenames 26 | name = "#{repo}/#{version}_#{imagename}" 27 | output = `docker run --rm rufus/docker-registry-debug -q info #{name}` 28 | lines = output.split("\n") 29 | found_tags = [] 30 | for line in lines 31 | next if line.start_with? '-' 32 | found_tags << line.strip.split(' ').first 33 | end 34 | puts "#{name} has tags: #{found_tags.sort.join ', '}" 35 | end 36 | end 37 | end 38 | 39 | def get_local_image_info(name) 40 | name = "bioconductor/" + name unless name.start_with? "bioconductor/" 41 | images = Docker::Image.all 42 | image = images.find{|i| i.info['RepoTags'].first.start_with? name} 43 | if image.nil? 44 | puts "#{name}: no such image found" 45 | return 46 | end 47 | image.info['RepoTags'] 48 | end 49 | 50 | #e.g. devel_flow 51 | def retag(name) 52 | name = "bioconductor/" + name unless name.start_with? "bioconductor/" 53 | images = Docker::Image.all 54 | image = images.find{|i| i.info['RepoTags'].first.start_with? name} 55 | if image.nil? 56 | puts "#{name}: no such image found" 57 | return 58 | end 59 | # unless @authenticated 60 | # Docker.authenticate!(@auth) 61 | # @authenticated = true 62 | # end 63 | # image.push() 64 | # use docker executable instead of api 65 | # because api pushes seem flaky 66 | cmd = "docker push #{name}" 67 | Open3.popen2e(cmd) do |stdin, stdout_err, wait_thr| 68 | while line = stdout_err.gets 69 | puts line 70 | end 71 | 72 | exit_status = wait_thr.value 73 | unless exit_status.success? 74 | abort "FAILED !!! '#{cmd}' returned exit code #{exit_status.exitstatus}" 75 | end 76 | end 77 | 78 | end 79 | --------------------------------------------------------------------------------