Skip to content

infercnv 10x

Brian Haas edited this page Mar 12, 2019 · 7 revisions

Leveraging 10x count data in InferCNV

Below provides an example of how you might generate a counts matrix for use with inferCNV, starting with 10x data.

Here, we'll use Seurat for converting 10x count data to a compatible matrix format.

library(Seurat)                                                                                           
                                                                                                          
data = Read10X(data.dir = "10x_data_dir/") 
seurat_obj = CreateSeuratObject(raw.data=data, min.cells=3, min.genes=200)
counts_matrix = as.matrix([email protected][,[email protected]])

# use more palatable column names (cell identifiers)            
cell.names <- sapply(seq_along(colnames(counts_matrix)), function(i) paste0("cell_", i), USE.NAMES = F)      
colnames(counts_matrix) = cell.names    

# write the output table 
write.table(round(counts_matrix, digits=3), file='sc.10x.counts.matrix', quote=F, sep="\t")                   
                                                                                           

Note, if the regular tab-delimited data matrix file is going to be too large, you could save the matrix as a sparse Matrix object, and use this sparse Matrix object as input to inferCNV. (documentation forthcoming)

Now, the data is ready for use with InferCNV.

Clone this wiki locally