久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    解決monocle中orderCells報錯的一波三折

     健明 2022-09-21 發布于廣東

    我的很多單細胞教程是三五年前寫的了,雖然降維聚類分群的主體思路沒有變化,但是很多包用法因為作者對包的更新導致我的教程失效了。討論最多的就是擬時序分析也轉錄因子分析,后來看到了群里的大家討論的結果是:如果是monocle(2.24.1版本)擬時序分析時遇到報錯,改用monocle(2.22.0),解決報錯。SCENIC(1.1.2)改用SCENIC(1.3.1)解決報錯

    恰好這兩天有一個學徒也是遇到了同樣的報錯,沒有第一時間去修改版本,而是嘗試讀源代碼方式解決:

    因為服務器網絡臨時出現了問題,但是項目比較急,就不得不本地跑單細胞擬時序分析的monocle2包 ,運行腳本如下:

    到cds <- orderCells(cds)這一步的時候報錯了

     if(class(projection) != 'matrix')                 -> error

       projection <- as.matrix(projection)

    將問題復制粘貼到bing搜索框,看到了github上關于這個問題的討論,其中這個解答就是大家總結出來的解決方法:

    https://github.com/cole-trapnell-lab/monocle-release/issues/434#issuecomment-1159781524

    我們按照上面提供的方法一步步操作

    1.從這個網址上下載monocle

    https://www./packages/3.15/bioc/src/contrib/Archive/monocle/

    2.解壓之后得到一個monocle文件夾

    3.打開這個文件夾R文件夾下面的order_cells.R腳本

    打開腳本,將1620和1621行的代碼從

    if(class(projection) != 'matrix')
    projection <- as.matrix(projection)

    修改為

    projection <- as.matrix(projection)

    保存腳本,在R studio 的Console的位置用.libPaths()查找出R包的安裝位置如下:

    .libPaths()
    [1] "/Library/Frameworks/R.framework/Versions/4.2/Resources/library"

    根據這個路徑找到library文件夾(如果是mac電腦,直接將以上文件路徑復制到聚焦搜索框就能快速定位到文件位置)

    將改好的monocle文件拖進library文件夾后,在 R studio,中輸入以下命令來加載這個包

    devtools::load_all("path to the location/monocle")

    然后再次運行orderCells函數,問題就解決了!(這個回答是這么說的)

    但是!!!當我滿心歡喜期待問題解決的時候,運行orderCells仍然出現同樣的報錯,問題依然存在!

    于是我懷疑剛剛改過的包并沒有被成功加載,加載的,是之前新版本的monocle包,于是我重啟R studio ,重新來了一遍,發現到monocle加載不了,顯示沒有這個包,推測這是因為我修改后的monocle包雖然被我拖到library文件夾中了,但是并沒有被成功安裝,然后繼續查看剛剛github中的回答,發現有這么一條

    按照這個方法install這個包,然后再load,仍然不成功

    這時候出現了一個我之前一直不知道的R包的安裝方法,那就是

    在monocle文件夾下新建一個Rproj文件,然后打開這個文件,右上方的install and restart按鈕,包就會被安裝上。

    用這個方法安裝上monocle包之后,再load,成功了,再次運行orderCells,成功了!

    到此,這個問題成功解決!!!!然而?

    問題真的解決了嗎?

    繼續運行腳本,在運行到BEAM函數運行的時候又出現了如下報錯:

    > BEAM_res <- BEAM(cds[expressed_genes[1:20],], branch_point = 1, cores = 1)

    Error in if (progenitor_method == "duplicate") { :

     the condition has length > 1

    Called from: buildBranchCellDataSet(cds = cds, branch_states = branch_states,

       branch_point = branch_point, branch_labels = branch_labels,

       ...)

    截圖如下:

    然而在服務器上運行同樣的代碼,其實也出現了同樣的提示,但不是Error是warning,然后代碼仍然可以繼續運行下去,截圖如下:

    仔細看github上關于這個問題的討論, 發現有人和我碰到了一樣的問題

    https://github.com/cole-trapnell-lab/monocle-release/issues/434#issuecomment-1162077298

    當然往后翻,是有人給出解決方法的,又是和order cells一樣,去修改源代碼

    但到這里,我已經不想改了,暫時放棄在本地運行monocle

    總結一下,這次debug,最初始的問題是解決了但是從整體來看又不算完全解決,或許最干脆的方法是降級R和/或R studio,不然不知道下次在哪個函數上又碰到報錯要去修改源代碼。

    不過在這個過程中,我對R包的認識又上了一個新的臺階,以前只知道安裝它,加載它,除了這個包叫什么名字,有哪幾個常用函數之外,其他一概不了解。這是第一次深入R包內部看到它的源代碼,看到我們用一個函數實現的功能的背后是動輒幾千行代碼,由衷佩服,致敬所有R包開發人員!

      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 在线a亚洲老鸭窝天堂| 欧乱色国产精品兔费视频| 天堂中文8资源在线8| 国产人妇三级视频在线观看| 少妇肉麻粗话对白视频| 国产精品毛片无码| 伊人久久大香线蕉AV五月天| 丰满少妇内射一区| 人妻中文字幕精品一页| 男女猛烈无遮挡免费视频APP| 熟妇人妻不卡中文字幕| 人妻少妇精品久久| 国产亚洲精AA在线观看SEE| 国产午精品午夜福利757视频播放| 久久精品人妻无码专区| 亚洲 一区二区 在线| 亚洲国产成人精品福利无码| 久久精品国产亚洲AV麻豆长发| 99精品国产在热久久婷婷| 国产久免费热视频在线观看| 国产色综合久久无码有码| 最新亚洲av日韩av二区| 99九九视频高清在线| 亚洲天堂av日韩精品| 亚洲色欲色欲WWW在线丝| 国内精品久久人妻无码不卡| 強壮公弄得我次次高潮A片 | 欧美成 人影片 免费观看| 成人免费一区二区三区| www久久只有这里有精品| 做暖暖视频在线看片免费| 亚洲成人av综合一区| 亚欧乱色熟女一区二区三区 | 羞羞影院午夜男女爽爽免费视频| 国产高清色高清在线观看| 亚洲嫩模喷白浆在线观看| 人妻丰满熟AV无码区HD| 性欧美牲交在线视频| 欧洲国产精品无码专区影院| 99精品视频在线观看婷婷| 国产成人亚洲欧美二区综合|