Skip to content

Material for Bioconductor 2023 workshop on interoperation with python

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md
Notifications You must be signed in to change notification settings

vjcitn/BiocPyInterop

Repository files navigation

BiocPyInterop

This package is the basis of a workshop that will address use of python software in Bioconductor. We focus on use of basilisk in packages BiocHail and scviR.

Description of workshop

Abstract: Multilingual data science strategies can increase efficiency of discovery by taking advantage of diverse data management and analysis strategies.

In this workshop we will examine interplay between R, Python, and Apache Spark in genetic and single-cell applications. CITE-seq studies simultaneously quantify surface protein and mRNA abundance in single cells. We will use scviR to compare interpretations based on deep learning and sequential component-specific methods.

The UK Biobank is the foundation of thousands of genome-wide association studies. The Telomere-to-Telomere project produced the first gapless human reference genome. Both of these resources will be explored using BiocHail. Workshop attendees will acquire an understanding of Aaron Lun's basilisk package and its use in isolating specific collections of python modules, the anndata representations and scvi-tools analyses of CITE-seq data, and the hail.is approach to structuring and analyzing massive genetics data resources using Spark Resilient Distributed Data. All programming will be carried out in R; quarto documents that mix R and python will also be illustrated.

Pre-requisites

  • Basic knowledge of R syntax
  • Interest in single-cell genomics, human genetics, deep learning

It will be helpful to have an acquaintance with

Participation

This is a 90 minute workshop that will cover

  • programming with basilisk to establish predictable python infrastructure and interoperation
  • exploration of torch-based tooling for single-cell analysis of a CITE-seq experiment
  • exploration of spark-based tooling for interaction with 1000 genomes genotypes (and, if time permits, UK Biobank phenotypes)

R / Bioconductor packages used

  • basilisk
  • OSCA.advanced
  • scviR
  • BiocHail

Time outline

Activity Time
Verify setup 5m
Motivations/discussion 5m
basilisk and basilisk.utils 10m
(concerns with bloat)
OSCA advanced: CITE-seq 15m
break 10 m
scviR -- AnnData and tutorial VAE 20m
Hail: exploring 1KG and UKBB 20m
Review 5m

Workshop goals and objectives

  • Learning goals:

    • understand basic issues with connecting R/Bioconductor to Python software tools for genomics
    • relate aspects of the anndata class to aspects of SummarizedExperiment
    • compare findings in a stepwise analysis of PBMC data in Bioconductor to those obtained with findings from fitting an autoencoder to the same data in scvi-tools
    • explore Hail's structures and methods for working with genotypes and phenotypes at scale
  • Learning objectives:

    • Understand the user situation when basilisk manages python resources and usage
      • review functions in basilisk.utils
      • assess resource consumption (disk space used per version of basilisk/client package)
      • process management: check ?getBasiliskFork
    • Review an analysis of CITE-seq data on 6800 cells with Bioconductor in OSCA advanced
    • Use BiocHail and spark
      • examine an artificial GWAS with 1000 genomes genotypes and a fabricated phenotype
      • understand how to use telomere-to-telomere variant calls with Hail