broadinstitute / picard

A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF.
https://broadinstitute.github.io/picard/
MIT License
984 stars 369 forks source link

Conda installer #1897

Open lappazos opened 1 year ago

lappazos commented 1 year ago

here https://anaconda.org/bioconda/picard linux-64 installer is 2.18.7, why not 3.0.0 like no arch?

lappazos commented 1 year ago

I'm not sure if it's related, but when calling conda install -c bioconda picard i get 2.18.29-SNAPSHOT Only after calling also conda update -c bioconda picard i get Version:3.0.0

lappazos commented 1 year ago

1816

kockan commented 1 year ago

To my knowledge, we (maintainers of this repo) are currently not maintaining the bioconda installers, so those are not official. This does cause confusion and issues, so there is an ongoing discussion on whether we can/should.

lappazos commented 1 year ago

@kockan even if it's not official, can you please update the Picard in bioconda to 3.1.0? for those who do use it

https://anaconda.org/bioconda/picard/files

jmarshall commented 1 year ago

In the distant past, bioconda built Picard for linux-64 etc due to the presence of platform-specific Intel libraries. However since at least 2016 those have been incorporated internally (and are used conditionally), and thereafter as an effectively plain Java JAR Picard is naturally noarch. So ignore the very old linux-64 version and use the current bioconda noarch packages.

In fact the bioconda packages just package the pre-built release JARs available from this repo's releases page as conda packages, so it's not particularly meaningful to query whether their contents are “official”. In any case, five times as many people have downloaded Picard 3.0.0 via bioconda as have directly from here, so I would suggest it is in the maintainers' interest to help ensure the bioconda packages work well.

Bioconda's 3.1.0 update was interrupted by some CI issues, but is now bioconda/bioconda-recipes#42742.

droazen commented 1 year ago

@jmarshall The Intel libraries are actually packaged inside of the Picard release jars, though the tools will automatically fall back to non-native Java code on platforms where the Intel libraries can't be loaded.

chiwwong commented 11 months ago

Not sure if this is related. But the current fresh install of picard is broken.

conda create -n picard bioconda::picard

will get:

Channels:
 - defaults
 - bioconda
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /hpc/home/cw379/miniconda3/envs/picard

  added / updated specs:
    - bioconda::picard

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    _r-mutex-1.0.0             |      anacondar_1           2 KB
    curl-8.5.0                 |       hdbd6064_0          86 KB
    libcurl-8.5.0              |       h251f7ec_0         416 KB
    openjdk-11.0.13            |       h87a67e3_0       341.0 MB
    ------------------------------------------------------------
                                           Total:       341.5 MB

The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
  _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu
  _r-mutex           pkgs/main/linux-64::_r-mutex-1.0.0-anacondar_1
  _sysroot_linux-64~ pkgs/main/noarch::_sysroot_linux-64_curr_repodata_hack-3-haa98f57_10
  binutils_impl_lin~ pkgs/main/linux-64::binutils_impl_linux-64-2.38-h2a08ee3_1
  binutils_linux-64  pkgs/main/linux-64::binutils_linux-64-2.38.0-hc2dff05_0
  blas               pkgs/main/linux-64::blas-1.0-openblas
  bwidget            pkgs/main/linux-64::bwidget-1.9.11-1
  bzip2              pkgs/main/linux-64::bzip2-1.0.8-h7b6447c_0
  c-ares             pkgs/main/linux-64::c-ares-1.19.1-h5eee18b_0
  ca-certificates    pkgs/main/linux-64::ca-certificates-2023.12.12-h06a4308_0
  cairo              pkgs/main/linux-64::cairo-1.16.0-hb05425b_5
  curl               pkgs/main/linux-64::curl-8.5.0-hdbd6064_0
  dbus               pkgs/main/linux-64::dbus-1.13.18-hb2f20db_0
  expat              pkgs/main/linux-64::expat-2.5.0-h6a678d5_0
  fontconfig         pkgs/main/linux-64::fontconfig-2.14.1-h4c34cd2_2
  freetype           pkgs/main/linux-64::freetype-2.12.1-h4a9f257_0
  fribidi            pkgs/main/linux-64::fribidi-1.0.10-h7b6447c_0
  gcc_impl_linux-64  pkgs/main/linux-64::gcc_impl_linux-64-11.2.0-h1234567_1
  gcc_linux-64       pkgs/main/linux-64::gcc_linux-64-11.2.0-h5c386dc_0
  gfortran_impl_lin~ pkgs/main/linux-64::gfortran_impl_linux-64-11.2.0-h1234567_1
  gfortran_linux-64  pkgs/main/linux-64::gfortran_linux-64-11.2.0-hc2dff05_0
  glib               pkgs/main/linux-64::glib-2.69.1-he621ea3_2
  graphite2          pkgs/main/linux-64::graphite2-1.3.14-h295c915_1
  gxx_impl_linux-64  pkgs/main/linux-64::gxx_impl_linux-64-11.2.0-h1234567_1
  gxx_linux-64       pkgs/main/linux-64::gxx_linux-64-11.2.0-hc2dff05_0
  harfbuzz           pkgs/main/linux-64::harfbuzz-4.3.0-hf52aaf7_2
  icu                pkgs/main/linux-64::icu-73.1-h6a678d5_0
  jpeg               pkgs/main/linux-64::jpeg-9e-h5eee18b_1
  kernel-headers_li~ pkgs/main/noarch::kernel-headers_linux-64-3.10.0-h57e8cba_10
  krb5               pkgs/main/linux-64::krb5-1.20.1-h143b758_1
  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.38-h1181459_1
  lerc               pkgs/main/linux-64::lerc-3.0-h295c915_0
  libcurl            pkgs/main/linux-64::libcurl-8.5.0-h251f7ec_0
  libdeflate         pkgs/main/linux-64::libdeflate-1.17-h5eee18b_1
  libedit            pkgs/main/linux-64::libedit-3.1.20230828-h5eee18b_0
  libev              pkgs/main/linux-64::libev-4.33-h7f8727e_1
  libffi             pkgs/main/linux-64::libffi-3.4.4-h6a678d5_0
  libgcc-devel_linu~ pkgs/main/linux-64::libgcc-devel_linux-64-11.2.0-h1234567_1
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1
  libgfortran-ng     pkgs/main/linux-64::libgfortran-ng-11.2.0-h00389a5_1
  libgfortran5       pkgs/main/linux-64::libgfortran5-11.2.0-h1234567_1
  libgomp            pkgs/main/linux-64::libgomp-11.2.0-h1234567_1
  libnghttp2         pkgs/main/linux-64::libnghttp2-1.57.0-h2d74bed_0
  libopenblas        pkgs/main/linux-64::libopenblas-0.3.21-h043d6bf_0
  libpng             pkgs/main/linux-64::libpng-1.6.39-h5eee18b_0
  libssh2            pkgs/main/linux-64::libssh2-1.10.0-hdbd6064_2
  libstdcxx-devel_l~ pkgs/main/linux-64::libstdcxx-devel_linux-64-11.2.0-h1234567_1
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1
  libtiff            pkgs/main/linux-64::libtiff-4.5.1-h6a678d5_0
  libuuid            pkgs/main/linux-64::libuuid-1.41.5-h5eee18b_0
  libwebp-base       pkgs/main/linux-64::libwebp-base-1.3.2-h5eee18b_0
  libxcb             pkgs/main/linux-64::libxcb-1.15-h7f8727e_0
  libxml2            pkgs/main/linux-64::libxml2-2.10.4-hf1b16e4_1
  lz4-c              pkgs/main/linux-64::lz4-c-1.9.4-h6a678d5_0
  make               pkgs/main/linux-64::make-4.2.1-h1bed415_1
  ncurses            pkgs/main/linux-64::ncurses-6.4-h6a678d5_0
  openjdk            pkgs/main/linux-64::openjdk-11.0.13-h87a67e3_0
  openssl            pkgs/main/linux-64::openssl-3.0.12-h7f8727e_0
  pango              pkgs/main/linux-64::pango-1.50.7-h05da053_0
  pcre               pkgs/main/linux-64::pcre-8.45-h295c915_0
  pcre2              pkgs/main/linux-64::pcre2-10.42-hebb0a14_0
  picard             bioconda/noarch::picard-3.0.0-hdfd78af_0
  pixman             pkgs/main/linux-64::pixman-0.40.0-h7f8727e_1
  r-base             pkgs/r/linux-64::r-base-4.3.1-h1ae530e_0
  readline           pkgs/main/linux-64::readline-8.2-h5eee18b_0
  sysroot_linux-64   pkgs/main/noarch::sysroot_linux-64-2.17-h57e8cba_10
  tk                 pkgs/main/linux-64::tk-8.6.12-h1ccaba5_0
  tktable            pkgs/main/linux-64::tktable-2.10-h14c3975_0
  xz                 pkgs/main/linux-64::xz-5.4.5-h5eee18b_0
  zlib               pkgs/main/linux-64::zlib-1.2.13-h5eee18b_0
  zstd               pkgs/main/linux-64::zstd-1.5.5-hc292b87_0

Proceed ([y]/n)? y

Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate picard
#
# To deactivate an active environment, use
#
#     $ conda deactivate

But the picard will crash with the JAVA 11

picard
Error: LinkageError occurred while loading main class picard.cmdline.PicardCommandLine
        java.lang.UnsupportedClassVersionError: picard/cmdline/PicardCommandLine has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

Picard will work when I force installing the 2.27.5

kockan commented 10 months ago

I believe this is not related, it's a Java version issue. Picard moved to Java 17 as of version 3.0.0, so Java 11 will not work here.

cc: @droazen