cellphoneDB代碼及原理簡介

簡介

cellphoneDB作為使用最廣泛的單細胞通訊軟件之一捣染,已經(jīng)得到了學者廣泛的認可奉狈,它的龐大的數(shù)據(jù)庫也一直在更新芝加。簡短說一下原理央渣,它是基于 UniProt计盒、Ensembl、PDB芽丹、IUPHAR等數(shù)據(jù)庫構建的受配體數(shù)據(jù)庫北启,與其他數(shù)據(jù)庫相比,CellPhoneDB的一個主要優(yōu)點是它考慮了配體和受體的結(jié)構組成拔第,準確地描述了異聚復合物咕村。這一點對于許多細胞因子等蛋白質(zhì)家族來說尤其重要,因為配體-受體相互作用通常涉及多個亞單位蚊俺。
而在最近更新中懈涛,cellphoneDB的數(shù)據(jù)庫已經(jīng)更新到V4.1.0版本∮锯總計的受配體對已經(jīng)達到2923個批钠。相比較上個版本,它的數(shù)據(jù)舍棄了大量未經(jīng)過篩選的受配體得封,在準確性上大大提高埋心,其次是因為軟件的更新,cellphoneDB的數(shù)據(jù)庫格式也發(fā)生了改變呛每,由原來的db格式改成了以zip結(jié)尾的壓縮包踩窖。
此外這次的更新中,將cellphoneDB改為python編寫晨横。大幅度提高了查詢和計算速度洋腮,經(jīng)過測試箫柳,大概快一半時間左右。讀取單細胞數(shù)據(jù)的格式也新增了h5ad格式啥供。

cellphoneDB的3種方法

第一種 cpdb_analysis_method

使用的簡單的分析方法悯恍,不進行顯著性分析,計算每個受配體對的平均值伙狐,原理是通過計算所有參與受配體基因表達量的平均值涮毫,生成的文件是means.csv和deconvoluted.csv


image.png

使用的代碼是

from cellphonedb.src.core.methods import cpdb_analysis_method

cpdb_results = cpdb_analysis_method.call(
        cpdb_file_path = cellphonedb.zip,
        meta_file_path = test_meta.txt,
        counts_file_path = test_counts.h5ad,
        counts_data = 'hgnc_symbol',
        output_path = out_path)

第二種 cpdb_statistical_analysis_method

在第一種方法的基礎上增加了顯著性分析,而且為了確定細胞類型之間最相關的相互作用贷屎,會尋找配體和受體之間的細胞類型特異性相互作用罢防。
對所有細胞類型進行兩兩比較,通過隨機排列所有細胞的聚類標簽(默認為1,000次)唉侄,計算不同細胞類型之間的平均受體和配體表達水平咒吐,對于每個細胞類型之間的每個受體-配體對,在生成一個零分布的基礎上計算一個 p 值属划,該 p 值表示受體-配體相互作用的強度恬叹。然后優(yōu)先選擇細胞類型之間高度富集的受配體對,生成的文件新增pvalues.csv和significant_means.csv

from cellphonedb.src.core.methods import cpdb_degs_analysis_method

cpdb_results = cpdb_degs_analysis_method.call(
        cpdb_file_path = cellphonedb.zip,
        meta_file_path = test_meta.txt,
        counts_file_path = test_counts.h5ad,
        degs_file_path = degs_file_path,
        counts_data = 'hgnc_symbol',
        active_tfs_file_path = active_tf.txt,
        score_interactions = True,
        microenvs_file_path = microenvs_file_path,
        threshold = 0.1,
        output_path = out_path)

第二種 cpdb_degs_analysis_method

外部提供一個差異基因的表格,受體或者配體中的基因有一個必須在表格中,生成的文件新增relevant_interactions.txt和significant_means.csv

from cellphonedb.src.core.methods import cpdb_degs_analysis_method

cpdb_results = cpdb_degs_analysis_method.call(
        cpdb_file_path = cellphonedb.zip,
        meta_file_path = test_meta.txt,
        counts_file_path = test_counts.h5ad,
        degs_file_path = degs_file_path,
        counts_data = 'hgnc_symbol',
        active_tfs_file_path = active_tf.txt,
        score_interactions = True,
        microenvs_file_path = microenvs_file_path,
        threshold = 0.1,
        output_path = out_path)

差異基因表格(degs_file.txt)見下圖:


image.png

日常分析中同眯,我們使用的最多的是方法二绽昼,因此我將方法二的一些具體函數(shù)的參數(shù)進行了注釋

from cellphonedb.src.core.methods import cpdb_statistical_analysis_method

cpdb_results = cpdb_statistical_analysis_method.call(
    cpdb_file_path = cpdb_file_path,                 # 數(shù)據(jù)庫文件路徑
    meta_file_path = meta_file_path,                 # 包含細胞Barcoda注釋的meta文件
    counts_file_path = counts_file_path,             # counts文件,或者h5ad文件
    counts_data = 'hgnc_symbol',                     # 指定counts矩陣信息的某一列來進行注釋须蜗,可以換成"genename"
    active_tfs_file_path = active_tf_path,           # 指定的轉(zhuǎn)錄因子文件(可不填)
    microenvs_file_path = microenvs_file_path,       # 微環(huán)境文件(可不填)
    iterations = 1000,                               # 隨機排列的次數(shù)
    threshold = 0.1,                                 #"定義了基因表達的最低細胞百分比
    threads = 5,                                     # 線程數(shù)
    debug_seed = 42,                                 # debug randome seed. To disable >=0.
    result_precision = 3,                            # 保留結(jié)果小數(shù)點位數(shù)
    pvalue = 0.05,                                   # P-value threshold to employ for significance.
    subsampling = False,                             # 是否降采樣
    subsampling_log = False,                         # (mandatory) enable subsampling log1p for non log-transformed data inputs.
    subsampling_num_pc = 100,                        # Number of componets to subsample via geometric skectching (dafault: 100).
    subsampling_num_cells = 1000,                    # Number of cells to subsample (integer) (default: 1/3 of the dataset).
    separator = '|',                                 # 兩個細胞類型的連接符,eg(cell A|cell B).
    debug = False,                                   # Saves all intermediate tables employed during the analysis in pkl format.
    output_path = out_path,                          # j結(jié)果保存路徑
    output_suffix = None                             # 是否為輸出的文件加上特殊的字符  (default: None).
    )

未完待續(xù)硅确,將會更新cellphoneDB的結(jié)果可視化和從rds和H5seurat 中如何抽取所需要的metadata文件和counts矩陣文件(方便某些人從科研服務公司那里拿到seurat文件,卻不知道如何進行分析)

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末明肮,一起剝皮案震驚了整個濱河市疏魏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌晤愧,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛉腌,死亡現(xiàn)場離奇詭異官份,居然都是意外死亡,警方通過查閱死者的電腦和手機烙丛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門舅巷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人河咽,你說我怎么就攤上這事钠右。” “怎么了忘蟹?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵飒房,是天一觀的道長搁凸。 經(jīng)常有香客問我,道長狠毯,這世上最難降的妖魔是什么护糖? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮嚼松,結(jié)果婚禮上嫡良,老公的妹妹穿的比我還像新娘。我一直安慰自己献酗,他們只是感情好寝受,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著罕偎,像睡著了一般很澄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上锨亏,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天痴怨,我揣著相機與錄音,去河邊找鬼器予。 笑死浪藻,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的乾翔。 我是一名探鬼主播爱葵,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼反浓!你這毒婦竟也來了萌丈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤雷则,失蹤者是張志新(化名)和其女友劉穎辆雾,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體月劈,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡度迂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了猜揪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惭墓。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖而姐,靈堂內(nèi)的尸體忽然破棺而出腊凶,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布钧萍,位于F島的核電站褐缠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏划煮。R本人自食惡果不足惜送丰,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弛秋。 院中可真熱鬧器躏,春花似錦、人聲如沸蟹略。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挖炬。三九已至揽浙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間意敛,已是汗流浹背馅巷。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留草姻,地道東北人钓猬。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像撩独,于是被迫代替她去往敵國和親敞曹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容