1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| sc.pp.highly_variable_genes(adata, n_top_genes=2000) adata = adata[:, adata.var.highly_variable] sc.pp.regress_out(adata, ['total_counts', 'pct_counts_mt'])
sc.pp.scale(adata, max_value=10)
sc.tl.pca(adata, svd_solver="arpack") sc.pp.neighbors(adata, n_neighbors=10, n_pcs=40) sc.tl.umap(adata) sc.tl.leiden(adata) sc.pl.umap(adata, color=['leiden'],save=f"{sample}_original.png")
sc.tl.rank_genes_groups(adata, 'leiden', method='wilcoxon') sc.pl.rank_genes_groups(adata, n_genes=25, sharey=False)
pd.DataFrame(adata.uns['rank_genes_groups']['names']).head(5) result = adata.uns['rank_genes_groups'] groups = result['names'].dtype.names pd.DataFrame(adata.uns['rank_genes_groups']['names']).to_csv(f"./output/{sample}/marker.csv") for trait in dict_df_score: adata.obs[trait] = dict_df_score[trait]["raw_score"] for trait in dict_df_score: adata.obs[f"{trait}_norm"] = dict_df_score[trait]["norm_score"] sc.pl.umap(adata,color=dict_df_score.keys(),ncols=1,color_map="RdBu_r",save=f"{sample}_disease.png") df_group = adata.obs l = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"] map_list = {} for i in range(len(l)): map_list[str(i)] = l[i] df_group["group"] = df_group["leiden"].map(map_list) df_group.to_csv(f"./output/{sample}/leiden score.csv") df_gene = scdrs.method.downstream_gene_analysis(adata=adata, df_full_score=dict_df_score["CHD"]) df_gene.to_csv(f"./output/{sample}/key gene.csv") df_group_analysis = scdrs.method.downstream_group_analysis(adata=adata, df_full_score=dict_df_score["CHD"], group_cols=["group"])
|