scvi-tools icon indicating copy to clipboard operation
scvi-tools copied to clipboard

I get error 'warnings.warn("Initializing zero-element tensors is a no-op") ' when looking at 10x multiom data

Open jeffpkamp opened this issue 2 years ago • 0 comments

When I am trying to analyze a large file created from an aggregate 10x multiom data with multiVI I receive an error when I run scvi.model.MULTIVI

NOTE: This is a very large file made by running cellranger_arc on multiple Multiome data sets to merge the ATAC regions. Samples have a batch_id in the obs fields

                         batch_id modality  _indices  _scvi_batch  _scvi_labels
AAACAGCCAAACTAAG_paired        10   paired         0            0             0
AAACAGCCAAAGGCCA_paired         9   paired         1            0             0
AAACAGCCAACAACAA_paired         4   paired         2            0             0
AAACAGCCAACTAGAA_paired        10   paired         3            0             0
AAACAGCCAACTAGCC_paired        13   paired         4            0             0
...                           ...      ...       ...          ...           ...
TTTGTTGGTGTTTGAG_paired         7   paired     66517            0             0
TTTGTTGGTTAAATGC_paired        10   paired     66518            0             0
TTTGTTGGTTAACACG_paired        13   paired     66519            0             0
TTTGTTGGTTGTGATG_paired         2   paired     66520            0             0
TTTGTTGGTTTAACGG_paired         7   paired     66521            0             0

<-- To reproduce -->

CODE

import gzip
import os
import tempfile
from pathlib import Path

import pandas as pd
import numpy as np
import pooch
import scanpy as sc
import scvi
import torch


def myReadMultiome(path):
    import glob
    for File in glob.glob(path+"/*gz"):
        with gzip.open(File,'rb') as gz:
            with open(File.replace(".gz",""),'w') as out:
                out.write(gz.read().decode())
    data=scvi.data.read_10x_multiome(path)
    for File in glob.glob(path+"/*"):
        if ".gz" not in File:
            os.remove(File)
    return data


FILE="MultiomeRA_no_Norm_aggr-9-20-23_v2/outs/filtered_feature_bc_matrix"
adata=myReadMultiome(FILE)
adata.var_names_make_unique()
adata=scvi.data.organize_multiome_anndatas(adata)

scvi.model.MULTIVI.setup_anndata(adata, batch_key="modality")

model = scvi.model.MULTIVI(
    adata,
    n_genes=(adata.var["modality"] == "Gene Expression").sum(),
    n_regions=(adata.var["modality"] == "Peaks").sum(),
)

lib/python3.10/site-packages/torch/nn/init.py:405: UserWarning: Initializing zero-element tensors is a no-op
  warnings.warn("Initializing zero-element tensors is a no-op")

Versions:

scVI Version 1.0.3

jeffpkamp avatar Dec 04 '23 06:12 jeffpkamp