"Csim.conn.GS" <- function (sp.mat, prop, rconn, beta, tol.samp = c(0.01, 0.05, 0.1, 0.15, 0.2, 0.25), iter = 10, temp = 1, zeroes = FALSE, maxWgt = 1, skipSP = FALSE, fast = TRUE, verbose = FALSE) { deg <- rowSumsSp(sp.mat) if(!zeroes) samp <- which(deg > 0) # Assumes non-negative similarities else samp <- 1:length(deg) N <- length(samp) nA <- as.integer(prop * N) nB <- N-nA sp.mat <- sp.mat[samp,samp] sp.mat.coo <- as.matrix.coo(sp.mat) rank <- .Call("Csim_conn_GS",sp.mat.coo,tol.samp,iter,temp,N,nA,nB,rconn,beta,verbose,PACKAGE="mBison") rm(sp.mat.coo); gc(FALSE) if (rank[1] == -1) stop("Adequate simulated connectivity not obtained!") if(fast) gpars <- calc.graph.pars.old(sp.mat,as.character(1:N),rank,nA,skipSP = skipSP,verbose = verbose) else gpars <- calc.graph.pars(sp.mat,as.character(1:N),rank,nA,maxWgt = maxWgt,skipSP = skipSP,verbose = verbose) if (verbose) cat("Success!\n") MBp <- new("MBparams") MBp <- addParams(x = MBp, N = N, m = 2) MBp <- calcSim(x = MBp, func = sim.thresh, pNum = 2) MBp@Sim[[1]] <- sp.mat[order(rank),order(rank)] return(MBp) }