Skip to content

我拆解了整个代码,留个感想 #39

@Rnanqi

Description

@Rnanqi

流程:
1,建立基因之间的关系矩阵,使用内积再乘svd的v%*%t(v)
2,然后用PC分解得到的近似矩阵代替上面的关系矩阵,得到WT,就起到了去0平滑的作用
3,然后把关系矩阵WT的要敲除基因的入度归零,即,得到KO关系
4,把WT和KO对角放置,形成联合关系矩阵W(这个很精彩)
5,再把W做普降维,即可得到一张地图,即,结果中的manifoldAlignment,其中记录了敲除前的基因坐标和敲除后基因坐标,分别为X_组和Y_组
6,计算每个基因的的两组距离,即,结果中的distance,其中敲除基因一定变化最大
7,结果中的Z值是将距离进行box-cox变换,变为正态(然而p值却没有使用这个结果,这个Z无用,哈哈)
8,FC值=distance^2/mean(distance^2),看成卡方分布,之后求解p值

有待改进:
1,最后结果是无法体现变化方向的,即ko之后不知道那个基因是上调了还是下调了,只知道哪些基因变化了。
2,cpdecompose的代码中,将分解向量U_list复原为近似tensor的这个步骤不应该在for循环里面,计算冗余。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions