Loading...
Loading...
Walk Claude through PyDESeq2-based differential expression, including ID mapping, DE testing, fold-change thresholding, and enrichment visualisation.
npx skill4agent add starlitnightly/omicverse bulk-rna-seq-deseq2-analysis-with-omicverset_deseq2.ipynbov.bulk.pyDEGimport omicverse as ovov.utils.ov_plot_set()ov.utils.read(..., index_col=0, header=1).bam[c.split('/')[-1].replace('.bam', '') for c in data.columns]ov.utils.download_geneid_annotation_pair()gene_idov.bulk.Matrix_ID_mapping(data, 'genesets/pair_<GENOME>.tsv')dds = ov.bulk.pyDEG(data)dds.drop_duplicates_index()treatment_groupscontrol_groupsdds.deg_analysis(treatment_groups, control_groups, method='DEseq2')dds.result.shapedds.result.loc[dds.result['log2(BaseMean)'] > 1]dds.foldchange_set(fc_threshold=-1, pval_threshold=0.05, logp_max=6)dds.plot_volcano(...)dds.plot_boxplot(genes=[...], treatment_groups=..., control_groups=..., figsize=(2, 3))ov.utils.download_pathway_database()ov.utils.geneset_preparernk = dds.ranking2gsea()gsea_obj = ov.bulk.pyGSEA(rnk, pathway_dict)gsea_obj.enrichment()gsea_obj.plot_enrichment(...)gsea_obj.plot_gsea(term_num=..., ...)gene_idt_deseq2.ipynbsample/counts.txtreference.md