Difference between n_genes and n_genes_by_counts?

Quality control metrics calculated using scanpy.pp.calculate_qc_metrics() returns both n_genes and n_genes_by_counts in obs. What’s the difference between both? I couldn’t find explanation for n_genes in the documentation. Thanks!

Depends on where they were calculated really.

n_genes_by_counts is added by sc.pp.calculate_qc_metrics. It follows the naming conventions from scran and the variable type/ layer name can be customized with kwargs. Some old methods assign n_genes