Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

最小二乘法求解替换? #216

Closed
ShixiangWang opened this issue Jun 9, 2020 · 1 comment · Fixed by #222
Closed

最小二乘法求解替换? #216

ShixiangWang opened this issue Jun 9, 2020 · 1 comment · Fixed by #222
Assignees
Labels
Learning question Further information is requested

Comments

@ShixiangWang
Copy link
Owner

ShixiangWang commented Jun 9, 2020

pracma

lsei 包被下架了,这个包是否可以满足计算需求?

MutationalPatterns::fit_to_signatures
function (mut_matrix, signatures) 
{
    if (dim(mut_matrix)[1] != 96) 
        stop(paste("Mutation count matrix input should have", 
            "dimensions 96 X n samples"))
    if (dim(signatures)[1] != 96) 
        stop("Signatures input should have dimensions 96 X n signatures")
    n_samples = dim(mut_matrix)[2]
    n_signatures = dim(signatures)[2]
    lsq_contribution = matrix(NA, nrow = n_signatures, ncol = n_samples)
    lsq_reconstructed = matrix(NA, nrow = 96, ncol = n_samples)
    for (i in 1:ncol(mut_matrix)) {
        y = mut_matrix[, i]
        lsq = lsqnonneg(signatures, y)
        lsq_contribution[, i] = lsq$x
        lsq_reconstructed[, i] = signatures %*% as.matrix(lsq$x)
    }
    sample_names = colnames(mut_matrix)
    signature_names = colnames(signatures)
    mut_type_names = rownames(signatures)
    colnames(lsq_contribution) = sample_names
    rownames(lsq_contribution) = signature_names
    colnames(lsq_reconstructed) = sample_names
    rownames(lsq_reconstructed) = mut_type_names
    res = list(lsq_contribution, lsq_reconstructed)
    names(res) = c("contribution", "reconstructed")
    return(res)

image

@ShixiangWang ShixiangWang added question Further information is requested Learning labels Jun 9, 2020
@ShixiangWang ShixiangWang self-assigned this Jun 9, 2020
@ShixiangWang
Copy link
Owner Author

lsqnonneg() 这个要和 lsei 包的函数进行一个 Benchmark 测试。

ShixiangWang added a commit that referenced this issue Jun 12, 2020
@ShixiangWang ShixiangWang mentioned this issue Jun 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Learning question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant