R/basilisk.R

#' @importFrom basilisk BasiliskEnvironment

## List of packages exported from working environment
## - pinned versions were obtained from
## https://github.com/csoneson/sketchR_package_list
if (basilisk.utils::isLinuxAarch64()) {
    .sketchR_dependencies <- c(
        "_openmp_mutex==4.5",
        "anndata==0.10.9",
        "array-api-compat==1.9",
        "brotli==1.1.0",
        "brotli-bin==1.1.0",
        "bzip2==1.0.8",
        "c-ares==1.33.1",
        "ca-certificates==2024.8.30",
        "cached-property==1.5.2",
        "cached_property==1.5.2",
        "certifi==2024.8.30",
        "colorama==0.4.6",
        "contourpy==1.3.0",
        "cycler==0.12.1",
        "exceptiongroup==1.2.2",
        "fonttools==4.54.1",
        "freetype==2.12.1",
        "get-annotations==0.1.2",
        "h5py==3.11.0",
        "hdf5==1.14.3",
        "icu==75.1",
        "joblib==1.4.2",
        "keyutils==1.6.1",
        "kiwisolver==1.4.7",
        "krb5==1.21.3",
        "lcms2==2.15",
        "ld_impl_linux-64==2.43",
        "legacy-api-wrap==1.4",
        "lerc==4.0.0",
        "libaec==1.1.3",
        "libblas==3.9.0",
        "libbrotlicommon==1.1.0",
        "libbrotlidec==1.1.0",
        "libbrotlienc==1.1.0",
        "libcblas==3.9.0",
        "libcurl==8.10.1",
        "libdeflate==1.18",
        "libedit==3.1.20191231",
        "libev==4.33",
        "libexpat==2.6.3",
        "libffi==3.4.2",
        "libgcc==14.1.0",
        "libgcc-ng==14.1.0",
        "libgfortran==14.1.0",
        "libgfortran-ng==14.1.0",
        "libgfortran5==14.1.0",
        "libgomp==14.1.0",
        "libhwloc==2.11.1",
        "libiconv==1.17",
        "libjpeg-turbo==2.1.5.1",
        "liblapack==3.9.0",
        "libllvm14==14.0.6",
        "libnghttp2==1.58.0",
        "libnsl==2.0.1",
        "libopenblas==0.3.27",
        "libpng==1.6.44",
        "libsqlite==3.46.1",
        "libssh2==1.11.0",
        "libstdcxx==14.1.0",
        "libstdcxx-ng==14.1.0",
        "libtiff==4.5.1",
        "libuuid==2.38.1",
        "libwebp-base==1.4.0",
        "libxcb==1.15",
        "libxcrypt==4.4.36",
        "libxml2==2.12.7",
        "libzlib==1.3.1",
        "llvmlite==0.43.0",
        "matplotlib-base==3.9.2",
        "munkres==1.1.4",
        "natsort==8.4.0",
        "ncurses==6.5",
        "networkx==3.3",
        "numba==0.60.0",
        "numpy==1.26.4",
        "openjpeg==2.5.0",
        "openssl==3.3.2",
        "packaging==24.1",
        "pandas==2.2.3",
        "patsy==0.5.6",
        "pillow==10.0.0",
        "pip==24.2",
        "pthread-stubs==0.4",
        "pynndescent==0.5.13",
        "pyparsing==3.1.4",
        "python==3.11.10",
        "python-dateutil==2.9.0",
        "python-tzdata==2024.2",
        "python_abi==3.11",
        "pytz==2024.1",
        "qhull==2020.2",
        "readline==8.2",
        "scanpy==1.10.3",
        "scikit-learn==1.5.2",
        "scipy==1.13.1",
        "seaborn==0.13.2",
        "seaborn-base==0.13.2",
        "session-info==1.0.0",
        "setuptools==75.1.0",
        "six==1.16.0",
        "statsmodels==0.14.4",
        "stdlib-list==0.10.0",
        "tbb==2021.13.0",
        "threadpoolctl==3.5.0",
        "tk==8.6.13",
        "tqdm==4.66.5",
        "tzdata==2024b",
        "umap-learn==0.5.6",
        "wheel==0.44.0",
        "xorg-libxau==1.0.11",
        "xorg-libxdmcp==1.1.5",
        "xz==5.2.6",
        "zstd==1.5.6")
} else if (basilisk.utils::isLinux()) {
    .sketchR_dependencies <- c(
        "_libgcc_mutex==0.1",
        "_openmp_mutex==4.5",
        "anndata==0.10.9",
        "array-api-compat==1.9",
        "brotli==1.1.0",
        "brotli-bin==1.1.0",
        "bzip2==1.0.8",
        "c-ares==1.33.1",
        "ca-certificates==2024.8.30",
        "cached-property==1.5.2",
        "cached_property==1.5.2",
        "certifi==2024.8.30",
        "colorama==0.4.6",
        "contourpy==1.3.0",
        "cycler==0.12.1",
        "exceptiongroup==1.2.2",
        "fonttools==4.54.1",
        "freetype==2.12.1",
        "get-annotations==0.1.2",
        "h5py==3.11.0",
        "hdf5==1.14.3",
        "icu==75.1",
        "joblib==1.4.2",
        "keyutils==1.6.1",
        "kiwisolver==1.4.7",
        "krb5==1.21.3",
        "lcms2==2.15",
        "ld_impl_linux-64==2.43",
        "legacy-api-wrap==1.4",
        "lerc==4.0.0",
        "libaec==1.1.3",
        "libblas==3.9.0",
        "libbrotlicommon==1.1.0",
        "libbrotlidec==1.1.0",
        "libbrotlienc==1.1.0",
        "libcblas==3.9.0",
        "libcurl==8.10.1",
        "libdeflate==1.18",
        "libedit==3.1.20191231",
        "libev==4.33",
        "libexpat==2.6.3",
        "libffi==3.4.2",
        "libgcc==14.1.0",
        "libgcc-ng==14.1.0",
        "libgfortran==14.1.0",
        "libgfortran-ng==14.1.0",
        "libgfortran5==14.1.0",
        "libgomp==14.1.0",
        "libhwloc==2.11.1",
        "libiconv==1.17",
        "libjpeg-turbo==2.1.5.1",
        "liblapack==3.9.0",
        "libllvm14==14.0.6",
        "libnghttp2==1.58.0",
        "libnsl==2.0.1",
        "libopenblas==0.3.27",
        "libpng==1.6.44",
        "libsqlite==3.46.1",
        "libssh2==1.11.0",
        "libstdcxx==14.1.0",
        "libstdcxx-ng==14.1.0",
        "libtiff==4.5.1",
        "libuuid==2.38.1",
        "libwebp-base==1.4.0",
        "libxcb==1.15",
        "libxcrypt==4.4.36",
        "libxml2==2.12.7",
        "libzlib==1.3.1",
        "llvmlite==0.43.0",
        "matplotlib-base==3.9.2",
        "munkres==1.1.4",
        "natsort==8.4.0",
        "ncurses==6.5",
        "networkx==3.3",
        "numba==0.60.0",
        "numpy==1.26.4",
        "openjpeg==2.5.0",
        "openssl==3.3.2",
        "packaging==24.1",
        "pandas==2.2.3",
        "patsy==0.5.6",
        "pillow==10.0.0",
        "pip==24.2",
        "pthread-stubs==0.4",
        "pynndescent==0.5.13",
        "pyparsing==3.1.4",
        "python==3.11.10",
        "python-dateutil==2.9.0",
        "python-tzdata==2024.2",
        "python_abi==3.11",
        "pytz==2024.1",
        "qhull==2020.2",
        "readline==8.2",
        "scanpy==1.10.3",
        "scikit-learn==1.5.2",
        "scipy==1.13.1",
        "seaborn==0.13.2",
        "seaborn-base==0.13.2",
        "session-info==1.0.0",
        "setuptools==75.1.0",
        "six==1.16.0",
        "statsmodels==0.14.4",
        "stdlib-list==0.10.0",
        "tbb==2021.13.0",
        "threadpoolctl==3.5.0",
        "tk==8.6.13",
        "tqdm==4.66.5",
        "tzdata==2024b",
        "umap-learn==0.5.6",
        "wheel==0.44.0",
        "xorg-libxau==1.0.11",
        "xorg-libxdmcp==1.1.5",
        "xz==5.2.6",
        "zstd==1.5.6")
} else if (basilisk.utils::isMacOSXArm()) {
    .sketchR_dependencies <- c(
        "anndata==0.10.9",
        "array-api-compat==1.9",
        "brotli==1.1.0",
        "brotli-bin==1.1.0",
        "bzip2==1.0.8",
        "c-ares==1.33.1",
        "ca-certificates==2024.8.30",
        "cached-property==1.5.2",
        "cached_property==1.5.2",
        "certifi==2024.8.30",
        "colorama==0.4.6",
        "contourpy==1.3.0",
        "cycler==0.12.1",
        "exceptiongroup==1.2.2",
        "fonttools==4.54.1",
        "freetype==2.12.1",
        "get-annotations==0.1.2",
        "h5py==3.11.0",
        "hdf5==1.14.3",
        "icu==75.1",
        "joblib==1.4.2",
        "kiwisolver==1.4.7",
        "krb5==1.21.3",
        "lcms2==2.15",
        "legacy-api-wrap==1.4",
        "lerc==4.0.0",
        "libaec==1.1.3",
        "libblas==3.9.0",
        "libbrotlicommon==1.1.0",
        "libbrotlidec==1.1.0",
        "libbrotlienc==1.1.0",
        "libcblas==3.9.0",
        "libcurl==8.10.1",
        "libcxx==19.1.1",
        "libdeflate==1.18",
        "libedit==3.1.20191231",
        "libev==4.33",
        "libexpat==2.6.3",
        "libffi==3.4.2",
        "libgfortran==5.0.0",
        "libgfortran5==13.2.0",
        "libhwloc==2.11.1",
        "libiconv==1.17",
        "libjpeg-turbo==2.1.5.1",
        "liblapack==3.9.0",
        "libllvm14==14.0.6",
        "libnghttp2==1.58.0",
        "libopenblas==0.3.27",
        "libpng==1.6.44",
        "libsqlite==3.46.1",
        "libssh2==1.11.0",
        "libtiff==4.5.1",
        "libwebp-base==1.4.0",
        "libxcb==1.15",
        "libxml2==2.12.7",
        "libzlib==1.3.1",
        "llvm-openmp==19.1.0",
        "llvmlite==0.43.0",
        "matplotlib-base==3.9.2",
        "munkres==1.1.4",
        "natsort==8.4.0",
        "ncurses==6.5",
        "networkx==3.3",
        "numba==0.60.0",
        "numpy==1.26.4",
        "openjpeg==2.5.0",
        "openssl==3.3.2",
        "packaging==24.1",
        "pandas==2.2.3",
        "patsy==0.5.6",
        "pillow==10.0.0",
        "pip==24.2",
        "pthread-stubs==0.4",
        "pynndescent==0.5.13",
        "pyparsing==3.1.4",
        "python==3.11.10",
        "python-dateutil==2.9.0",
        "python-tzdata==2024.2",
        "python_abi==3.11",
        "pytz==2024.1",
        "qhull==2020.2",
        "readline==8.2",
        "scanpy==1.10.3",
        "scikit-learn==1.5.2",
        "scipy==1.13.1",
        "seaborn==0.13.2",
        "seaborn-base==0.13.2",
        "session-info==1.0.0",
        "setuptools==75.1.0",
        "six==1.16.0",
        "statsmodels==0.14.4",
        "stdlib-list==0.10.0",
        "tbb==2021.13.0",
        "threadpoolctl==3.5.0",
        "tk==8.6.13",
        "tqdm==4.66.5",
        "tzdata==2024b",
        "umap-learn==0.5.6",
        "wheel==0.44.0",
        "xorg-libxau==1.0.11",
        "xorg-libxdmcp==1.1.5",
        "xz==5.2.6",
        "zstd==1.5.6")
} else if (basilisk.utils::isMacOSX()) {
    .sketchR_dependencies <- c(
        "anndata==0.10.9",
        "array-api-compat==1.9",
        "brotli==1.1.0",
        "brotli-bin==1.1.0",
        "bzip2==1.0.8",
        "c-ares==1.33.1",
        "ca-certificates==2024.8.30",
        "cached-property==1.5.2",
        "cached_property==1.5.2",
        "certifi==2024.8.30",
        "colorama==0.4.6",
        "contourpy==1.3.0",
        "cycler==0.12.1",
        "exceptiongroup==1.2.2",
        "fonttools==4.54.1",
        "freetype==2.12.1",
        "get-annotations==0.1.2",
        "h5py==3.11.0",
        "hdf5==1.14.3",
        "icu==75.1",
        "joblib==1.4.2",
        "kiwisolver==1.4.7",
        "krb5==1.21.3",
        "lcms2==2.15",
        "legacy-api-wrap==1.4",
        "lerc==4.0.0",
        "libaec==1.1.3",
        "libblas==3.9.0",
        "libbrotlicommon==1.1.0",
        "libbrotlidec==1.1.0",
        "libbrotlienc==1.1.0",
        "libcblas==3.9.0",
        "libcurl==8.10.1",
        "libcxx==19.1.1",
        "libdeflate==1.18",
        "libedit==3.1.20191231",
        "libev==4.33",
        "libexpat==2.6.3",
        "libffi==3.4.2",
        "libgfortran==5.0.0",
        "libgfortran5==13.2.0",
        "libhwloc==2.11.1",
        "libiconv==1.17",
        "libjpeg-turbo==2.1.5.1",
        "liblapack==3.9.0",
        "libllvm14==14.0.6",
        "libnghttp2==1.58.0",
        "libopenblas==0.3.27",
        "libpng==1.6.44",
        "libsqlite==3.46.1",
        "libssh2==1.11.0",
        "libtiff==4.5.1",
        "libwebp-base==1.4.0",
        "libxcb==1.15",
        "libxml2==2.12.7",
        "libzlib==1.3.1",
        "llvm-openmp==19.1.0",
        "llvmlite==0.43.0",
        "matplotlib-base==3.9.2",
        "munkres==1.1.4",
        "natsort==8.4.0",
        "ncurses==6.5",
        "networkx==3.3",
        "numba==0.60.0",
        "numpy==1.26.4",
        "openjpeg==2.5.0",
        "openssl==3.3.2",
        "packaging==24.1",
        "pandas==2.2.3",
        "patsy==0.5.6",
        "pillow==10.0.0",
        "pip==24.2",
        "pthread-stubs==0.4",
        "pynndescent==0.5.13",
        "pyparsing==3.1.4",
        "python==3.11.10",
        "python-dateutil==2.9.0",
        "python-tzdata==2024.2",
        "python_abi==3.11",
        "pytz==2024.1",
        "qhull==2020.2",
        "readline==8.2",
        "scanpy==1.10.3",
        "scikit-learn==1.5.2",
        "scipy==1.13.1",
        "seaborn==0.13.2",
        "seaborn-base==0.13.2",
        "session-info==1.0.0",
        "setuptools==75.1.0",
        "six==1.16.0",
        "statsmodels==0.14.4",
        "stdlib-list==0.10.0",
        "tbb==2021.13.0",
        "threadpoolctl==3.5.0",
        "tk==8.6.13",
        "tqdm==4.66.5",
        "tzdata==2024b",
        "umap-learn==0.5.6",
        "wheel==0.44.0",
        "xorg-libxau==1.0.11",
        "xorg-libxdmcp==1.1.5",
        "xz==5.2.6",
        "zstd==1.5.6")
} else if (basilisk.utils::isWindows()) {
    .sketchR_dependencies <- c(
        "anndata==0.10.9",
        "array-api-compat==1.9",
        "brotli==1.1.0",
        "brotli-bin==1.1.0",
        "bzip2==1.0.8",
        "ca-certificates==2024.8.30",
        "cached-property==1.5.2",
        "cached_property==1.5.2",
        "certifi==2024.8.30",
        "colorama==0.4.6",
        "contourpy==1.3.0",
        "cycler==0.12.1",
        "exceptiongroup==1.2.2",
        "fonttools==4.54.1",
        "freetype==2.12.1",
        "get-annotations==0.1.2",
        "h5py==3.11.0",
        "hdf5==1.14.3",
        "intel-openmp==2024.2.1",
        "joblib==1.4.2",
        "kiwisolver==1.4.7",
        "krb5==1.21.3",
        "lcms2==2.15",
        "legacy-api-wrap==1.4",
        "lerc==4.0.0",
        "libaec==1.1.3",
        "libblas==3.9.0",
        "libbrotlicommon==1.1.0",
        "libbrotlidec==1.1.0",
        "libbrotlienc==1.1.0",
        "libcblas==3.9.0",
        "libcurl==8.10.1",
        "libdeflate==1.18",
        "libexpat==2.6.3",
        "libffi==3.4.2",
        "libhwloc==2.11.1",
        "libiconv==1.17",
        "libjpeg-turbo==2.1.5.1",
        "liblapack==3.9.0",
        "libpng==1.6.44",
        "libsqlite==3.46.1",
        "libssh2==1.11.0",
        "libtiff==4.5.1",
        "libwebp-base==1.4.0",
        "libxcb==1.15",
        "libxml2==2.12.7",
        "libzlib==1.3.1",
        "llvmlite==0.43.0",
        "m2w64-gcc-libgfortran==5.3.0",
        "m2w64-gcc-libs==5.3.0",
        "m2w64-gcc-libs-core==5.3.0",
        "m2w64-gmp==6.1.0",
        "m2w64-libwinpthread-git==5.0.0.4634.697f757",
        "matplotlib-base==3.9.2",
        "mkl==2024.1.0",
        "msys2-conda-epoch==20160418",
        "munkres==1.1.4",
        "natsort==8.4.0",
        "networkx==3.3",
        "numba==0.60.0",
        "numpy==1.26.4",
        "openjpeg==2.5.0",
        "openssl==3.3.2",
        "packaging==24.1",
        "pandas==2.2.3",
        "patsy==0.5.6",
        "pillow==10.0.0",
        "pip==24.2",
        "pthread-stubs==0.4",
        "pthreads-win32==2.9.1",
        "pynndescent==0.5.13",
        "pyparsing==3.1.4",
        "python==3.11.10",
        "python-dateutil==2.9.0",
        "python-tzdata==2024.2",
        "python_abi==3.11",
        "pytz==2024.1",
        "qhull==2020.2",
        "scanpy==1.10.3",
        "scikit-learn==1.5.2",
        "scipy==1.13.1",
        "seaborn==0.13.2",
        "seaborn-base==0.13.2",
        "session-info==1.0.0",
        "setuptools==75.1.0",
        "six==1.16.0",
        "statsmodels==0.14.4",
        "stdlib-list==0.10.0",
        "tbb==2021.13.0",
        "threadpoolctl==3.5.0",
        "tk==8.6.13",
        "tqdm==4.66.5",
        "tzdata==2024b",
        "ucrt==10.0.22621.0",
        "umap-learn==0.5.6",
        "vc==14.3",
        "vc14_runtime==14.40.33810",
        "vs2015_runtime==14.40.33810",
        "wheel==0.44.0",
        "xorg-libxau==1.0.11",
        "xorg-libxdmcp==1.1.3",
        "xz==5.2.6",
        "zstd==1.5.6")
}

universalenv <- BasiliskEnvironment(
    envname = "universal", pkgname = "sketchR",
    packages = .sketchR_dependencies,
    channels = c("bioconda", "conda-forge"),
    pip = c("fbpca==1.0", "geosketch==1.2", "scsampler==1.0.2")
)
csoneson/sketchR documentation built on Oct. 15, 2024, 2:53 a.m.