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.5.post1",
        "array-api-compat==1.8",
        "blosc==1.21.5",
        "brotli==1.1.0",
        "brotli-bin==1.1.0",
        "bzip2==1.0.8",
        "c-ares==1.32.3",
        "ca-certificates==2024.7.4",
        "cached-property==1.5.2",
        "cached_property==1.5.2",
        "certifi==2024.7.4",
        "colorama==0.4.6",
        "contourpy==1.2.1",
        "cycler==0.12.1",
        "exceptiongroup==1.2.2",
        "fonttools==4.53.1",
        "freetype==2.12.1",
        "giflib==5.2.2",
        "h5py==3.8.0",
        "hdf5==1.14.0",
        "icu==73.2",
        "importlib-metadata==8.2.0",
        "importlib_metadata==8.2.0",
        "joblib==1.1.0",
        "jpeg==9e",
        "keyutils==1.6.1",
        "kiwisolver==1.4.5",
        "krb5==1.21.3",
        "lcms2==2.12",
        "ld_impl_linux-64==2.40",
        "legacy-api-wrap==1.4",
        "lerc==3.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.8.0",
        "libdeflate==1.10",
        "libedit==3.1.20191231",
        "libev==4.33",
        "libffi==3.4.2",
        "libgcc-ng==14.1.0",
        "libgfortran-ng==14.1.0",
        "libgfortran5==14.1.0",
        "libgomp==14.1.0",
        "libhwloc==2.11.1",
        "libiconv==1.17",
        "liblapack==3.9.0",
        "libllvm11==11.1.0",
        "libnghttp2==1.58.0",
        "libnsl==2.0.1",
        "libopenblas==0.3.25",
        "libpng==1.6.43",
        "libsqlite==3.46.0",
        "libssh2==1.11.0",
        "libstdcxx-ng==14.1.0",
        "libtiff==4.3.0",
        "libuuid==2.38.1",
        "libwebp==1.2.2",
        "libwebp-base==1.2.2",
        "libxcb==1.13",
        "libxcrypt==4.4.36",
        "libxml2==2.12.7",
        "libzlib==1.2.13",
        "llvmlite==0.39.1",
        "lz4-c==1.9.4",
        "lzo==2.10",
        "matplotlib-base==3.6.3",
        "munkres==1.0.7",
        "natsort==8.4.0",
        "ncurses==6.5",
        "networkx==3.2",
        "nomkl==1.0",
        "numba==0.56.4",
        "numexpr==2.10.0",
        "numpy==1.21.5",
        "openjpeg==2.5.0",
        "openssl==3.3.1",
        "packaging==24.1",
        "pandas==1.3.5",
        "patsy==0.5.6",
        "pillow==9.1.1",
        "pip==24.1.2",
        "pthread-stubs==0.4",
        "pynndescent==0.5.13",
        "pyparsing==3.1.2",
        "pytables==3.7.0",
        "python==3.9.19",
        "python-dateutil==2.9.0",
        "python_abi==3.9",
        "pytz==2024.1",
        "readline==8.2",
        "scanpy==1.7.2",
        "scikit-learn==1.0.2",
        "scipy==1.7.3",
        "seaborn==0.13.2",
        "seaborn-base==0.13.2",
        "setuptools==59.8.0",
        "setuptools-scm==8.1.0",
        "setuptools_scm==8.1.0",
        "sinfo==0.3.1",
        "six==1.16.0",
        "snappy==1.2.1",
        "statsmodels==0.13.5",
        "stdlib-list==0.10.0",
        "tbb==2021.12.0",
        "threadpoolctl==3.0.0",
        "tk==8.6.13",
        "tomli==2.0.1",
        "tqdm==4.66.4",
        "typing-extensions==4.12.2",
        "typing_extensions==4.12.2",
        "tzdata==2024a",
        "umap-learn==0.5.6",
        "unicodedata2==15.1.0",
        "xorg-libxau==1.0.11",
        "xorg-libxdmcp==1.1.3",
        "xz==5.2.6",
        "zipp==3.19.2",
        "zlib==1.2.13",
        "zstd==1.5.6")
} else if (basilisk.utils::isLinux()) {
    .sketchR_dependencies <- c(
        "_libgcc_mutex==0.1",
        "_openmp_mutex==4.5",
        "anndata==0.10.5.post1",
        "array-api-compat==1.8",
        "blosc==1.21.5",
        "brotli==1.1.0",
        "brotli-bin==1.1.0",
        "bzip2==1.0.8",
        "c-ares==1.32.3",
        "ca-certificates==2024.7.4",
        "cached-property==1.5.2",
        "cached_property==1.5.2",
        "certifi==2024.7.4",
        "colorama==0.4.6",
        "contourpy==1.2.1",
        "cycler==0.12.1",
        "exceptiongroup==1.2.2",
        "fonttools==4.53.1",
        "freetype==2.12.1",
        "giflib==5.2.2",
        "h5py==3.8.0",
        "hdf5==1.14.0",
        "icu==73.2",
        "importlib-metadata==8.2.0",
        "importlib_metadata==8.2.0",
        "joblib==1.1.0",
        "jpeg==9e",
        "keyutils==1.6.1",
        "kiwisolver==1.4.5",
        "krb5==1.21.3",
        "lcms2==2.12",
        "ld_impl_linux-64==2.40",
        "legacy-api-wrap==1.4",
        "lerc==3.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.8.0",
        "libdeflate==1.10",
        "libedit==3.1.20191231",
        "libev==4.33",
        "libffi==3.4.2",
        "libgcc-ng==14.1.0",
        "libgfortran-ng==14.1.0",
        "libgfortran5==14.1.0",
        "libgomp==14.1.0",
        "libhwloc==2.11.1",
        "libiconv==1.17",
        "liblapack==3.9.0",
        "libllvm11==11.1.0",
        "libnghttp2==1.58.0",
        "libnsl==2.0.1",
        "libopenblas==0.3.25",
        "libpng==1.6.43",
        "libsqlite==3.46.0",
        "libssh2==1.11.0",
        "libstdcxx-ng==14.1.0",
        "libtiff==4.3.0",
        "libuuid==2.38.1",
        "libwebp==1.2.2",
        "libwebp-base==1.2.2",
        "libxcb==1.13",
        "libxcrypt==4.4.36",
        "libxml2==2.12.7",
        "libzlib==1.2.13",
        "llvmlite==0.39.1",
        "lz4-c==1.9.4",
        "lzo==2.10",
        "matplotlib-base==3.6.3",
        "munkres==1.0.7",
        "natsort==8.4.0",
        "ncurses==6.5",
        "networkx==3.2",
        "nomkl==1.0",
        "numba==0.56.4",
        "numexpr==2.10.0",
        "numpy==1.21.5",
        "openjpeg==2.5.0",
        "openssl==3.3.1",
        "packaging==24.1",
        "pandas==1.3.5",
        "patsy==0.5.6",
        "pillow==9.1.1",
        "pip==24.1.2",
        "pthread-stubs==0.4",
        "pynndescent==0.5.13",
        "pyparsing==3.1.2",
        "pytables==3.7.0",
        "python==3.9.19",
        "python-dateutil==2.9.0",
        "python_abi==3.9",
        "pytz==2024.1",
        "readline==8.2",
        "scanpy==1.7.2",
        "scikit-learn==1.0.2",
        "scipy==1.7.3",
        "seaborn==0.13.2",
        "seaborn-base==0.13.2",
        "setuptools==59.8.0",
        "setuptools-scm==8.1.0",
        "setuptools_scm==8.1.0",
        "sinfo==0.3.1",
        "six==1.16.0",
        "snappy==1.2.1",
        "statsmodels==0.13.5",
        "stdlib-list==0.10.0",
        "tbb==2021.12.0",
        "threadpoolctl==3.0.0",
        "tk==8.6.13",
        "tomli==2.0.1",
        "tqdm==4.66.4",
        "typing-extensions==4.12.2",
        "typing_extensions==4.12.2",
        "tzdata==2024a",
        "umap-learn==0.5.6",
        "unicodedata2==15.1.0",
        "xorg-libxau==1.0.11",
        "xorg-libxdmcp==1.1.3",
        "xz==5.2.6",
        "zipp==3.19.2",
        "zlib==1.2.13",
        "zstd==1.5.6")
} else if (basilisk.utils::isMacOSXArm()) {
    .sketchR_dependencies <- c(
        "anndata==0.10.5.post1",
        "array-api-compat==1.8",
        "blosc==1.21.5",
        "brotli==1.1.0",
        "brotli-bin==1.1.0",
        "bzip2==1.0.8",
        "c-ares==1.32.3",
        "ca-certificates==2024.7.4",
        "cached-property==1.5.2",
        "cached_property==1.5.2",
        "certifi==2024.7.4",
        "colorama==0.4.6",
        "contourpy==1.2.1",
        "cycler==0.12.1",
        "exceptiongroup==1.2.2",
        "fonttools==4.53.1",
        "freetype==2.12.1",
        "giflib==5.2.2",
        "h5py==3.8.0",
        "hdf5==1.14.0",
        "icu==73.2",
        "importlib-metadata==8.2.0",
        "importlib_metadata==8.2.0",
        "joblib==1.1.0",
        "jpeg==9e",
        "kiwisolver==1.4.5",
        "krb5==1.21.3",
        "lcms2==2.12",
        "legacy-api-wrap==1.4",
        "lerc==3.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.8.0",
        "libcxx==18.1.8",
        "libdeflate==1.10",
        "libedit==3.1.20191231",
        "libev==4.33",
        "libffi==3.4.2",
        "libgfortran==5.0.0",
        "libgfortran5==13.2.0",
        "libhwloc==2.11.1",
        "libiconv==1.17",
        "liblapack==3.9.0",
        "libllvm11==11.1.0",
        "libnghttp2==1.58.0",
        "libopenblas==0.3.25",
        "libpng==1.6.43",
        "libsqlite==3.46.0",
        "libssh2==1.11.0",
        "libtiff==4.3.0",
        "libwebp==1.2.2",
        "libwebp-base==1.2.2",
        "libxcb==1.13",
        "libxml2==2.12.7",
        "libzlib==1.2.13",
        "llvm-openmp==18.1.8",
        "llvmlite==0.39.1",
        "lz4-c==1.9.4",
        "matplotlib-base==3.6.3",
        "munkres==1.0.7",
        "natsort==8.4.0",
        "ncurses==6.5",
        "networkx==3.2",
        "numba==0.56.4",
        "numexpr==2.10.0",
        "numpy==1.21.5",
        "openjpeg==2.5.0",
        "openssl==3.3.1",
        "packaging==24.1",
        "pandas==1.3.5",
        "patsy==0.5.6",
        "pillow==9.1.1",
        "pip==24.1.2",
        "pthread-stubs==0.4",
        "pynndescent==0.5.13",
        "pyparsing==3.1.2",
        "pytables==3.7.0",
        "python==3.9.19",
        "python-dateutil==2.9.0",
        "python_abi==3.9",
        "pytz==2024.1",
        "readline==8.2",
        "scanpy==1.7.2",
        "scikit-learn==1.0.2",
        "scipy==1.7.3",
        "seaborn==0.13.2",
        "seaborn-base==0.13.2",
        "setuptools==59.8.0",
        "setuptools-scm==8.1.0",
        "setuptools_scm==8.1.0",
        "sinfo==0.3.1",
        "six==1.16.0",
        "snappy==1.2.1",
        "statsmodels==0.13.5",
        "stdlib-list==0.10.0",
        "tbb==2021.12.0",
        "threadpoolctl==3.0.0",
        "tk==8.6.13",
        "tomli==2.0.1",
        "tqdm==4.66.4",
        "typing-extensions==4.12.2",
        "typing_extensions==4.12.2",
        "tzdata==2024a",
        "umap-learn==0.5.5",
        "unicodedata2==15.1.0",
        "xorg-libxau==1.0.11",
        "xorg-libxdmcp==1.1.3",
        "xz==5.2.6",
        "zipp==3.19.2",
        "zlib==1.2.13",
        "zstd==1.5.6")
} else if (basilisk.utils::isMacOSX()) {
    .sketchR_dependencies <- c(
        "anndata==0.10.5.post1",
        "array-api-compat==1.8",
        "blosc==1.21.5",
        "brotli==1.1.0",
        "brotli-bin==1.1.0",
        "bzip2==1.0.8",
        "c-ares==1.32.3",
        "ca-certificates==2024.7.4",
        "cached-property==1.5.2",
        "cached_property==1.5.2",
        "certifi==2024.7.4",
        "colorama==0.4.6",
        "contourpy==1.2.1",
        "cycler==0.12.1",
        "exceptiongroup==1.2.2",
        "fonttools==4.53.1",
        "freetype==2.12.1",
        "giflib==5.2.2",
        "h5py==3.8.0",
        "hdf5==1.14.0",
        "icu==73.2",
        "importlib-metadata==8.2.0",
        "importlib_metadata==8.2.0",
        "joblib==1.1.0",
        "jpeg==9e",
        "kiwisolver==1.4.5",
        "krb5==1.21.3",
        "lcms2==2.12",
        "legacy-api-wrap==1.4",
        "lerc==3.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.8.0",
        "libcxx==18.1.8",
        "libdeflate==1.10",
        "libedit==3.1.20191231",
        "libev==4.33",
        "libffi==3.4.2",
        "libgfortran==5.0.0",
        "libgfortran5==13.2.0",
        "libhwloc==2.11.1",
        "libiconv==1.17",
        "liblapack==3.9.0",
        "libllvm11==11.1.0",
        "libnghttp2==1.58.0",
        "libopenblas==0.3.25",
        "libpng==1.6.43",
        "libsqlite==3.46.0",
        "libssh2==1.11.0",
        "libtiff==4.3.0",
        "libwebp==1.2.2",
        "libwebp-base==1.2.2",
        "libxcb==1.13",
        "libxml2==2.12.7",
        "libzlib==1.2.13",
        "llvm-openmp==18.1.8",
        "llvmlite==0.39.1",
        "lz4-c==1.9.4",
        "matplotlib-base==3.6.3",
        "munkres==1.0.7",
        "natsort==8.4.0",
        "ncurses==6.5",
        "networkx==3.2",
        "numba==0.56.4",
        "numexpr==2.10.0",
        "numpy==1.21.5",
        "openjpeg==2.5.0",
        "openssl==3.3.1",
        "packaging==24.1",
        "pandas==1.3.5",
        "patsy==0.5.6",
        "pillow==9.1.1",
        "pip==24.1.2",
        "pthread-stubs==0.4",
        "pynndescent==0.5.13",
        "pyparsing==3.1.2",
        "pytables==3.7.0",
        "python==3.9.19",
        "python-dateutil==2.9.0",
        "python_abi==3.9",
        "pytz==2024.1",
        "readline==8.2",
        "scanpy==1.7.2",
        "scikit-learn==1.0.2",
        "scipy==1.7.3",
        "seaborn==0.13.2",
        "seaborn-base==0.13.2",
        "setuptools==59.8.0",
        "setuptools-scm==8.1.0",
        "setuptools_scm==8.1.0",
        "sinfo==0.3.1",
        "six==1.16.0",
        "snappy==1.2.1",
        "statsmodels==0.13.5",
        "stdlib-list==0.10.0",
        "tbb==2021.12.0",
        "threadpoolctl==3.0.0",
        "tk==8.6.13",
        "tomli==2.0.1",
        "tqdm==4.66.4",
        "typing-extensions==4.12.2",
        "typing_extensions==4.12.2",
        "tzdata==2024a",
        "umap-learn==0.5.5",
        "unicodedata2==15.1.0",
        "xorg-libxau==1.0.11",
        "xorg-libxdmcp==1.1.3",
        "xz==5.2.6",
        "zipp==3.19.2",
        "zlib==1.2.13",
        "zstd==1.5.6")
} else if (basilisk.utils::isWindows()) {
    .sketchR_dependencies <- c(
        "anndata==0.10.5.post1",
        "array-api-compat==1.8",
        "blosc==1.21.5",
        "brotli==1.1.0",
        "brotli-bin==1.1.0",
        "bzip2==1.0.8",
        "ca-certificates==2024.7.4",
        "cached-property==1.5.2",
        "cached_property==1.5.2",
        "certifi==2024.7.4",
        "colorama==0.4.6",
        "contourpy==1.2.1",
        "cycler==0.12.1",
        "exceptiongroup==1.2.2",
        "fonttools==4.53.1",
        "freetype==2.12.1",
        "h5py==3.8.0",
        "hdf5==1.14.0",
        "importlib-metadata==8.2.0",
        "importlib_metadata==8.2.0",
        "intel-openmp==2024.2.0",
        "joblib==1.1.0",
        "jpeg==9e",
        "kiwisolver==1.4.5",
        "krb5==1.21.3",
        "lcms2==2.12",
        "legacy-api-wrap==1.4",
        "lerc==3.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.8.0",
        "libdeflate==1.10",
        "libffi==3.4.2",
        "libhwloc==2.11.1",
        "libiconv==1.17",
        "liblapack==3.9.0",
        "libpng==1.6.43",
        "libsqlite==3.46.0",
        "libssh2==1.11.0",
        "libtiff==4.3.0",
        "libwebp==1.4.0",
        "libwebp-base==1.4.0",
        "libxcb==1.13",
        "libxml2==2.12.7",
        "libzlib==1.2.13",
        "llvmlite==0.39.1",
        "lz4-c==1.9.4",
        "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.6.3",
        "mkl==2024.1.0",
        "msys2-conda-epoch==20160418",
        "munkres==1.0.7",
        "natsort==8.4.0",
        "networkx==3.2",
        "numba==0.56.4",
        "numexpr==2.7.3",
        "numpy==1.21.5",
        "openjpeg==2.5.0",
        "openssl==3.3.1",
        "packaging==24.1",
        "pandas==1.3.5",
        "patsy==0.5.6",
        "pillow==9.1.1",
        "pip==24.1.2",
        "pthread-stubs==0.4",
        "pthreads-win32==2.9.1",
        "pynndescent==0.5.13",
        "pyparsing==3.1.2",
        "pytables==3.7.0",
        "python==3.9.19",
        "python-dateutil==2.9.0",
        "python_abi==3.9",
        "pytz==2024.1",
        "scanpy==1.7.2",
        "scikit-learn==1.0.2",
        "scipy==1.7.3",
        "seaborn==0.13.2",
        "seaborn-base==0.13.2",
        "setuptools==59.8.0",
        "setuptools-scm==8.1.0",
        "setuptools_scm==8.1.0",
        "sinfo==0.3.1",
        "six==1.16.0",
        "snappy==1.2.1",
        "statsmodels==0.13.5",
        "stdlib-list==0.10.0",
        "tbb==2021.12.0",
        "threadpoolctl==3.0.0",
        "tk==8.6.13",
        "tomli==2.0.1",
        "tqdm==4.66.4",
        "typing-extensions==4.12.2",
        "typing_extensions==4.12.2",
        "tzdata==2024a",
        "ucrt==10.0.22621.0",
        "umap-learn==0.5.6",
        "unicodedata2==15.1.0",
        "vc==14.3",
        "vc14_runtime==14.40.33810",
        "vs2015_runtime==14.40.33810",
        "xorg-libxau==1.0.11",
        "xorg-libxdmcp==1.1.3",
        "xz==5.2.6",
        "zipp==3.19.2",
        "zlib==1.2.13",
        "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/geosketchR documentation built on Aug. 28, 2024, 4:34 p.m.