diff --git a/.envrc b/.envrc index cdf3681..403656b 100644 --- a/.envrc +++ b/.envrc @@ -5,3 +5,4 @@ export PUEUE_CONFIG_PATH="$PROJECTHOME/.pueue.yml" watch_file pixi.lock eval "$(pixi shell-hook)" PATH_add $SCRIPTS/bucky/bin +PATH_add $SCRIPTS/bpp/bin diff --git a/.gitignore b/.gitignore index cc50e9c..1919557 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ 98.results/* 99.scripts/bucky/ 99.scripts/phyparts/ +99.scripts/bpp/ run.status.json !*/_description.md tmp/ diff --git a/.lintr b/.lintr new file mode 100644 index 0000000..bd6cc75 --- /dev/null +++ b/.lintr @@ -0,0 +1,5 @@ +linters: linters_with_defaults( + line_length_linter(80), + commented_code_linter = NULL, + indentation_linter(4, hanging_indent_style = "never") + ) \ No newline at end of file diff --git a/99.scripts/miscs/mcmctree.ctl b/99.scripts/miscs/mcmctree.ctl new file mode 100644 index 0000000..7b46f8b --- /dev/null +++ b/99.scripts/miscs/mcmctree.ctl @@ -0,0 +1,32 @@ + seed = 12345 + seqfile = input.fa + treefile = input.tre + outfile = {{PREFIX_PLACEHOLDER}}.mcmctree.out + + ndata = 1 + seqtype = 0 * 0: nucleotides; 1:codons; 2:AAs + usedata = 1 * 0: no data; 1:seq like; 2:use in.BV; 3: out.BV + clock = 3 * 1: global clock; 2: independent rates; 3: correlated rates + RootAge = <100 * safe constraint on root age, used if no fossil for root. + + model = {{MODEL_PLACEHOLDER}} * 0:JC69, 1:K80, 2:F81, 3:F84, 4:HKY85 + alpha = {{GAMMA_PLACEHOLDER}} * alpha for gamma rates at sites + ncatG = 4 * No. categories in discrete gamma + + cleandata = 0 * remove sites with ambiguity data (1:yes, 0:no)? + + BDparas = 1 1 0.1 C * birth, death, sampling + kappa_gamma = 6 2 * gamma prior for kappa + alpha_gamma = 1 1 * gamma prior for alpha + + rgene_gamma = 2 2 * gamma prior for overall rates for genes + sigma2_gamma = 1 10 * gamma prior for sigma^2 (for clock=2 or 3) + + finetune = 1: 0.1 0.1 0.1 0.01 .5 * auto (0 or 1) : times, musigma2, rates, mixing, paras, FossilErr + + print = 2 + burnin = 200000 + sampfreq = 200 + nsample = 5000 + +*** Note: Make your window wider (100 columns) before running the program. diff --git a/99.scripts/miscs/mcmctree_workflow.r b/99.scripts/miscs/mcmctree_workflow.r new file mode 100644 index 0000000..794e157 --- /dev/null +++ b/99.scripts/miscs/mcmctree_workflow.r @@ -0,0 +1,276 @@ +#! /usr/bin/env Rscript +suppressMessages({ + library(ape) + library(phytools) + library(coda) + library(argparser) + library(processx) + library(cli) +}) + +# Function to check if the specified outgroup is at the root of the tree +check_tree_outgroup <- function(tree, outgroup) { + if (!is.rooted(tree)) { + return(list( + judge = FALSE, + msg = "The tree is unrooted." + )) + } + if (!outgroup %in% tree$tip.label) { + return(list( + judge = FALSE, + msg = "Outgroup not found in tree tip labels." + )) + } + root_node <- getMRCA(tree, tree$tip.label) + outgroup_parent <- getParent(tree, which(tree$tip.label == outgroup)) + if (root_node != outgroup_parent) { + list( + judge = FALSE, + msg = "The specified outgroup is not at the root of the tree." + ) + } else { + list( + judge = TRUE, + msg = "The outgroup is correctly placed at the root." + ) + } +} + +# Function to check multiple outgroups sequentially +check_outgroup_list <- function(tree, outgroup_list) { + tree_iter <- tree + iter <- NULL + for (outgroup in outgroup_list) { + res <- check_tree_outgroup(tree_iter, outgroup) + if (!res$judge) { + cli_alert_danger( + paste( + "Outgroup check failed for", outgroup, + ":", res$msg + ) + ) + break + } + iter <- c(iter, outgroup) + tree_iter <- drop.tip(tree_iter, outgroup) + } + cli_alert_success("All outgroups are correctly placed at the root.") + res$judge +} + +# Function to generate input tree for mcmctree with calibration points +gen_input_tre <- function(tree) { + tree_bak <- tree + tree_bak$node.label <- rep("", tree$Nnode) + tree_bak$edge.length <- NULL + ntips <- length(tree$tip.label) + ep_node <- getParent(tree, which(tree$tip.label == "EP")) + tree_bak$node.label[ep_node - ntips] <- "'L(55.8,0.02,0.02)'" + zju_node <- getParent(tree, which(tree$tip.label == "Zju")) + tree_bak$node.label[zju_node - ntips] <- "'L(99.6,0.02,0.02)'" + cli_alert_info("Generated input tree for mcmctree with calibration points:") + cat(paste(ntips, "1\n"), file = "input.tre") + raw_check_label <- function(x) { + # this is a workaround to bypass the checkLabel function in ape + x + } + assignInNamespace("checkLabel", raw_check_label, ns = "ape") + write.tree(tree_bak, file = "input.tre", append = TRUE) + cli_text(write.tree(tree_bak)) +} + +# Function to run modeltest-ng on the alignment file +run_modeltest <- function(alnfile, prefix) { + file.copy(alnfile, "input.fa", overwrite = TRUE) + cmd <- "modeltest-ng" + args <- c( + "-p", 1, + "-d", "nt", + "-r", 12345, + "-m", "JC,K80,F81,HKY", + "-h", "ug", + "-t", "ml", + "-i", "input.fa", + "-o", paste0(prefix, ".modeltest") + ) + result <- run(cmd, args = args, echo_cmd = TRUE, echo = TRUE) + if (result$status != 0) { + cli_alert_danger("modeltest-ng execution failed.") + stop("modeltest-ng execution failed.") + } else { + cli_alert_success("modeltest-ng run completed.") + } +} + +# Function to parse modeltest-ng output and extract the model & gamma parameter +parse_modeltest_output <- function(modeltest_file) { + model_map <- c( + "JC" = "JC69", + "K80" = "K80", + "F81" = "F81", + "HKY" = "HKY85" + ) + lines <- readLines(modeltest_file) + head_line <- grep("Best model according to AICc", lines, value = FALSE) + if (length(head_line) == 0) { + cli_alert_danger("No model found in modeltest-ng output.") + stop("No model found in modeltest-ng output.") + } + model_line <- lines[head_line + 2] + model_out <- strsplit(model_line, ":")[[1]][2] + model_out <- unlist(strsplit(trimws(model_out), "+", fixed = TRUE)) + cli_alert_info(paste("Selected model:", paste(model_out, collapse = "+"))) + model <- model_map[model_out[1]] + if (length(model_out) > 1 && model_out[2] == "G4") { + gamma <- 0.5 + } else { + gamma <- 0 + } + list( + model = model, + gamma = gamma + ) +} + +# Function to render the mcmctree control file from the template +render_mcmctree_ctl <- function(template, outputfile, model, gamma, prefix) { + ctl_lines <- readLines(template) + ctl_lines <- gsub("{{MODEL_PLACEHOLDER}}", model, ctl_lines, fixed = TRUE) + ctl_lines <- gsub("{{GAMMA_PLACEHOLDER}}", + as.character(gamma), + ctl_lines, + fixed = TRUE + ) + ctl_lines <- gsub("{{PREFIX_PLACEHOLDER}}", + prefix, + ctl_lines, + fixed = TRUE + ) + writeLines(ctl_lines, con = outputfile) +} + +# Function to run mcmctree with the specified control file +run_mcmctree <- function(ctlfile) { + cmd <- "mcmctree" + args <- ctlfile + result <- run(cmd, args = args, echo_cmd = TRUE, echo = TRUE) + if (result$status != 0) { + cli_alert_danger("mcmctree execution failed.") + stop("mcmctree execution failed.") + } else { + cli_alert_success("mcmctree run completed.") + } +} + +# Function to check ESS values from mcmctree MCMC output +check_ess <- function(mcmcfile, check_file, threshold = 200) { + mcmc_samples <- read.table(mcmcfile, header = TRUE)[, -1] + mcmc_results <- mcmc(mcmc_samples) + ess_values <- effectiveSize(mcmc_results) + ess_table <- data.frame( + Parameter = names(ess_values), + ESS = as.numeric(ess_values) + ) + write.table(ess_table, + file = paste0(check_file, ".ess.tsv"), + sep = "\t", + row.names = FALSE, + quote = FALSE + ) + if (all(ess_values >= threshold)) { + cli_alert_success(paste("All parameters have ESS >=", threshold)) + file.create(paste0(check_file, ".ess_check.passed")) + } else { + failed_params <- names(ess_values[ess_values < threshold]) + names(failed_params) <- rep("x", length(failed_params)) + cli_alert_warning(paste("Parameters with ESS <", threshold)) + cli_bullets(failed_params) + file.create(paste0(check_file, ".ess_check.failed")) + } +} + +# Main function to orchestrate the workflow +main <- function(treefile, alnfile, template, prefix) { + tree <- read.tree(treefile) + cli_h1("1. Checking Outgroups in the Tree") + outgroup_list <- c("Zju", "EP") + if (!check_outgroup_list(tree, outgroup_list)) { + return(NULL) + } + cli_h1("2. Running ModelTest-NG") + run_modeltest(alnfile, prefix) + modeltest_file <- paste0(prefix, ".modeltest.out") + model_info <- parse_modeltest_output(modeltest_file) + cli_h1("3. Preparing and Running MCMCTree") + gen_input_tre(tree) + render_mcmctree_ctl( + template, + paste0(prefix, ".mcmctree.ctl"), + model_info$model, + model_info$gamma, + prefix + ) + cat("\n\n") + run_mcmctree(paste0(prefix, ".mcmctree.ctl")) + cli_h1("4. Checking ESS Values") + check_ess("mcmc.txt", prefix) + cli_h1("Workflow Completed Successfully") +} + +p <- arg_parser("MCMCTree Workflow Script", hide.opts = TRUE) +p <- add_argument(p, "--treefile", + short = "-t", + help = "Input tree file in Newick format", +) +p <- add_argument(p, "--alnfile", + short = "-a", + help = "Input alignment file in FASTA format" +) +p <- add_argument(p, "--template", + short = "-c", + help = "Template control file for mcmctree" +) +p <- add_argument(p, "--prefix", + short = "-p", + help = "Prefix for output files" +) + +args <- parse_args(p) + +check_param <- c( + !is.na(args$treefile), + !is.na(args$alnfile), + !is.na(args$template), + !is.na(args$prefix) +) + +if (all(check_param)) { + cli_h1("Workflow Parameters:") + cli_dl(args[c("treefile", "alnfile", "template", "prefix")]) + main(args$treefile, args$alnfile, args$template, args$prefix) +} else { + warnlist <- c( + "--treefile, -t", + "--alnfile, -a", + "--template, -c", + "--prefix, -p" + ) + names(warnlist) <- ifelse(check_param, "v", "x") + theme <- list( + ".bullets .bullet-x" = list( + "text-exdent" = 4, + before = function(x) paste0(" ", col_red(symbol$cross), " ") + ), + ".bullets .bullet-v" = list( + "text-exdent" = 4, + before = function(x) paste0(" ", col_green(symbol$tick), " ") + ) + ) + cli_div(theme = theme) + cli_h1("Missing required arguments:") + cli_bullets(warnlist) + cli_h1("") + cli_end() + print(p) +} diff --git a/99.scripts/workflow/phylogeny_reconstruction/06.alignments_to_nexus.sh b/99.scripts/workflow/phylogeny_reconstruction/06.alignments_to_nexus.sh deleted file mode 100755 index 2dee5cd..0000000 --- a/99.scripts/workflow/phylogeny_reconstruction/06.alignments_to_nexus.sh +++ /dev/null @@ -1,18 +0,0 @@ -#! /usr/bin/env bash - -if [ "$#" -ne 3 ]; then - echo "Usage: $0 " - exit 1 -fi - -input_dir=$1 -extension=$2 -output_dir=$3 -mkdir -p "${output_dir}" -for f in "${input_dir}"/*."${extension}"; do - filename=$(basename -- "${f}") - filename_noext="${filename%.*}" - output_file="${output_dir}/${filename_noext}.nex" - echo "Converting ${f} to ${output_file}" - seqmagick convert --output-format nexus --alphabet dna --input-format fasta "${f}" "${output_file}" -done diff --git a/99.scripts/workflow/phylogeny_reconstruction/03.snaq.jl b/99.scripts/workflow/phylogeny_reconstruction/06.snaq.jl similarity index 96% rename from 99.scripts/workflow/phylogeny_reconstruction/03.snaq.jl rename to 99.scripts/workflow/phylogeny_reconstruction/06.snaq.jl index a774d2d..a58c822 100644 --- a/99.scripts/workflow/phylogeny_reconstruction/03.snaq.jl +++ b/99.scripts/workflow/phylogeny_reconstruction/06.snaq.jl @@ -104,10 +104,10 @@ R"dev.off"(); ## expected vs. observed quartet concordance factors using CSV, DataFrames, Distributions, Random, RCall; -inputCFfile = joinpath("bucky_1.CFs.csv"); +inputCFfile = joinpath("..","bucky","bucky_1","input.mb.CFs.csv"); inputCF = readtableCF(inputCFfile); -net3 = readsnaqnetwork("net3.out"); -topologymaxQpseudolik!(net3, inputCF); +net4 = readsnaqnetwork("net4.out"); +topologymaxQpseudolik!(net4, inputCF); df_long = fittedquartetCF(inputCF, :long); ### Adding jitter to the points for better visualization @@ -127,6 +127,6 @@ R"dev.off"(); # Goodness of fit of the SNaQ networks using QuartetNetworkGoodnessFit; -res1 = quarnetGoFtest!(net3, inputCF, true; seed=123, nsim=1000); +res1 = quarnetGoFtest!(net4, inputCF, true; seed=123, nsim=1000); res1[[1,2,3]] # p-value, uncorrected z, σ diff --git a/99.scripts/workflow/phylogeny_reconstruction/07.mcmctree.sh b/99.scripts/workflow/phylogeny_reconstruction/07.mcmctree.sh new file mode 100755 index 0000000..4c7526a --- /dev/null +++ b/99.scripts/workflow/phylogeny_reconstruction/07.mcmctree.sh @@ -0,0 +1,29 @@ +#! /bin/bash +set -e +SCRIPTS=${SCRIPTS:-"$PROJECTHOME/99.scripts"} +THREADS=${THREADS:-16} + +if [ "$#" -ne 4 ]; then + echo "Usage: $0 " + echo "Run MCMCtree on orthogroup alignments with corresponding ML trees" + exit 1 +fi + +aln_dir=$1 +ml_dir=$2 +out_dir=$3 +ext=$4 +mkdir -p "$out_dir" +echo -n >mcmctree.cmds +ctlfile=$(readlink -f "$SCRIPTS/miscs/mcmctree.ctl") +for i in "$aln_dir"/*."$ext"; do + j=$(basename "$i" ."$ext") + aln=$(readlink -f "$i") + ml_tree=$(readlink -f "$ml_dir/${j}/${j}.raxml.bestTree") + mkdir -p "${out_dir}/${j}" + cmd="cd ${out_dir}/${j} && Rscript $SCRIPTS/miscs/mcmctree_workflow.r" + params="-a $aln -t $ml_tree -c ${ctlfile} -p ${j}" + echo "$cmd $params > mcmctree.log 2>&1" >>mcmctree.cmds +done +xargs -t -P "$THREADS" -I cmd -a mcmctree.cmds bash -c "cmd" +echo "MCMCtree all completed." diff --git a/pixi.lock b/pixi.lock index af320ea..5f484bf 100644 --- a/pixi.lock +++ b/pixi.lock @@ -520,6 +520,7 @@ environments: - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-amap-0.8_20-r44ha36cffa_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-ape-5.8_1-r44h3704496_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-argparse-2.3.1-r44hc72bb7e_0.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-argparser-0.7.2-r44hc72bb7e_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-askpass-1.2.1-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-assertthat-0.2.1-r44hc72bb7e_6.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-backports-1.5.0-r44h54b55ab_2.conda @@ -533,6 +534,7 @@ environments: - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-blob-1.2.4-r44hc72bb7e_3.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-bms-0.3.5-r44hc72bb7e_4.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-brew-1.0_10-r44hc72bb7e_2.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-brio-1.1.5-r44h54b55ab_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-broom-1.0.10-r44hc72bb7e_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-bslib-0.9.0-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-cachem-1.1.0-r44h54b55ab_2.conda @@ -543,25 +545,35 @@ environments: - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-cli-3.6.5-r44h3697838_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-clipr-0.8.0-r44hc72bb7e_4.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-cluster-2.1.8.1-r44heaba542_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-clustergeneration-1.3.8-r44ha770c72_2.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-coda-0.19_4.1-r44hc72bb7e_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-codetools-0.2_20-r44hc72bb7e_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-collections-0.3.9-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-colorspace-2.1_2-r44h54b55ab_0.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-combinat-0.0_8-r44hc72bb7e_1007.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-commonmark-2.0.0-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-conflicted-1.2.0-r44h785f33e_3.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-cpp11-0.5.2-r44h785f33e_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-crayon-1.5.3-r44hc72bb7e_2.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-credentials-2.0.3-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-curl-7.0.0-r44h10955f1_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-cyclocomp-1.1.1-r44hc72bb7e_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-data.table-1.17.8-r44h1c8cec4_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-dbi-1.2.3-r44hc72bb7e_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-dbplyr-2.5.1-r44hc72bb7e_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-deoptim-2.2_8-r44h54b55ab_3.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-desc-1.4.3-r44hc72bb7e_2.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-devtools-2.4.6-r44hc72bb7e_0.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-diffobj-0.3.6-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-digest-0.6.38-r44h3697838_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-distributional-0.5.0-r44hc72bb7e_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-doparallel-1.0.17-r44hc72bb7e_4.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-downlit-0.4.5-r44hc72bb7e_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-dplyr-1.1.4-r44h3697838_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-dtplyr-1.3.2-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-ellipsis-0.3.2-r44h54b55ab_4.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-evaluate-1.0.5-r44hc72bb7e_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-expm-1.0_0-r44h11cdb10_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-fansi-1.0.6-r44h54b55ab_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-farver-2.1.2-r44h3697838_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-fastcluster-1.3.0-r44h3697838_1.conda @@ -571,13 +583,17 @@ environments: - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-findpython-1.0.9-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-fontawesome-0.5.3-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-forcats-1.0.1-r44hc72bb7e_0.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-foreach-1.5.2-r44hc72bb7e_4.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-formatr-1.14-r44hc72bb7e_3.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-fs-1.6.6-r44h3697838_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-futile.logger-1.4.3-r44hc72bb7e_1007.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-futile.options-1.0.1-r44hc72bb7e_1006.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-gargle-1.6.0-r44h785f33e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-generics-0.1.4-r44hc72bb7e_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-gert-2.2.0-r44h5e22a44_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-ggplot2-4.0.1-r44h785f33e_0.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-gh-1.5.0-r44hc72bb7e_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-gitcreds-0.1.2-r44hc72bb7e_4.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-glue-1.8.0-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-googledrive-2.1.2-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-googlesheets4-1.1.2-r44h785f33e_1.conda @@ -589,13 +605,17 @@ environments: - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-highr-0.11-r44hc72bb7e_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-hms-1.1.4-r44hc72bb7e_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-htmltools-0.5.8.1-r44h3697838_2.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-htmlwidgets-1.6.4-r44h785f33e_4.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-httpuv-1.6.16-r44h6d565e7_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-httr-1.4.7-r44hc72bb7e_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-httr2-1.2.1-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-hwriter-1.3.2.1-r44hc72bb7e_4.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-ids-1.0.1-r44hc72bb7e_5.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-igraph-2.1.4-r44hadbbdbc_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-ini-0.3.1-r44hc72bb7e_1007.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-inline-0.3.21-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-isoband-0.2.7-r44h3697838_4.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-iterators-1.0.14-r44hc72bb7e_4.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-jquerylib-0.1.4-r44hc72bb7e_4.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-jsonlite-2.0.0-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-kernsmooth-2.23_26-r44ha0a88a1_1.conda @@ -603,6 +623,7 @@ environments: - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-labeling-0.4.3-r44hc72bb7e_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-lambda.r-1.2.4-r44hc72bb7e_5.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-languageserver-0.3.16-r44h54b55ab_2.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-later-1.4.4-r44h3697838_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-lattice-0.22_7-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-lazyeval-0.2.2-r44h54b55ab_6.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-lifecycle-1.0.4-r44hc72bb7e_2.conda @@ -611,28 +632,40 @@ environments: - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-loo-2.8.0-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-lubridate-1.9.4-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-magrittr-2.0.4-r44h54b55ab_0.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-maps-3.4.3-r44h54b55ab_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-mass-7.3_65-r44h54b55ab_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-matrix-1.7_4-r44h0e4624f_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-matrixstats-1.5.0-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-memoise-2.0.1-r44hc72bb7e_4.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-mgcv-1.9_4-r44h0e4624f_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-mime-0.13-r44h54b55ab_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-miniui-0.1.2-r44hc72bb7e_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-mnormt-2.1.1-r44hbcb9c34_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-modelr-0.1.11-r44hc72bb7e_3.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-munsell-0.5.1-r44hc72bb7e_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-nlme-3.1_168-r44heaba542_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-numderiv-2016.8_1.1-r44hc72bb7e_7.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-openssl-2.3.4-r44h50f7d53_0.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-optimparallel-1.0_2-r44hc72bb7e_4.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-otel-0.2.0-r44hc72bb7e_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-parallelly-1.46.0-r44h54b55ab_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-phangorn-2.12.1-r44hf1899b2_3.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-phytools-2.5_2-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-pillar-1.11.1-r44hc72bb7e_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-pkgbuild-1.4.8-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-pkgconfig-2.0.3-r44hc72bb7e_5.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-pkgdown-2.2.0-r44hc72bb7e_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-pkgload-1.4.1-r44hc72bb7e_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-plogr-0.2.0-r44hc72bb7e_1007.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-plyr-1.8.9-r44h3697838_3.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-png-0.1_8-r44h6b2d295_3.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-posterior-1.6.1-r44hc72bb7e_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-praise-1.0.0-r44hc72bb7e_1009.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-prettyunits-1.2.0-r44hc72bb7e_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-processx-3.8.6-r44h54b55ab_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-profvis-0.4.0-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-progress-1.2.3-r44hc72bb7e_2.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-promises-1.5.0-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-ps-1.9.1-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-purrr-1.2.0-r44h54b55ab_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-quadprog-1.5_8-r44ha0a88a1_7.conda @@ -644,6 +677,7 @@ environments: - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-r6-2.6.1-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-ragg-1.5.0-r44h9f1dc4d_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-rappdirs-0.3.3-r44h54b55ab_4.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-rcmdcheck-1.4.0-r44h785f33e_4.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-rcolorbrewer-1.1_3-r44h785f33e_4.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-rcpp-1.1.0-r44h3697838_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-rcpparmadillo-15.0.2_2-r44h3704496_0.conda @@ -668,13 +702,18 @@ environments: - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-rsqlite-2.4.4-r44h3697838_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-rstan-2.32.7-r44h3697838_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-rstudioapi-0.17.1-r44hc72bb7e_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-rversions-3.0.0-r44hc72bb7e_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-rvest-1.0.5-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-s7-0.2.0-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-sass-0.4.10-r44h3697838_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-scales-1.4.0-r44hc72bb7e_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-scatterplot3d-0.3_44-r44h785f33e_3.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-selectr-0.4_2-r44hc72bb7e_5.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-sessioninfo-1.2.3-r44hc72bb7e_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-shiny-1.12.1-r44h785f33e_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-sm-2.2_6.0-r44heaba542_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-snow-0.4_4-r44hc72bb7e_4.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-sourcetools-0.1.7_1-r44h3697838_3.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-stanheaders-2.32.10-r44ha36cffa_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-statmod-1.5.1-r44hb1d0f04_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-stringi-1.8.7-r44h2dae267_1.conda @@ -684,6 +723,7 @@ environments: - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-sys-3.4.3-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-systemfonts-1.3.1-r44h74f4acd_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-tensora-0.36.2.1-r44h54b55ab_2.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-testthat-3.3.1-r44h3697838_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-textshaping-1.0.4-r44h74f4acd_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-tibble-3.3.0-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-tidyr-1.3.1-r44h3697838_2.conda @@ -691,20 +731,27 @@ environments: - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-tidyverse-2.0.0-r44h785f33e_3.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-timechange-0.3.0-r44h3697838_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-tinytex-0.57-r44hc72bb7e_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-tmvnsim-1.0_2-r44heaba542_7.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-tzdb-0.5.0-r44h3697838_2.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-urlchecker-1.0.1-r44hc72bb7e_4.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-usethis-3.2.1-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-utf8-1.2.6-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-uuid-1.2_1-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-vctrs-0.6.5-r44h3697838_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-vioplot-0.5.1-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-viridislite-0.4.2-r44hc72bb7e_3.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-vroom-1.6.6-r44h3697838_0.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-waldo-0.6.2-r44hc72bb7e_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-whisker-0.4.1-r44hc72bb7e_3.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-withr-3.0.2-r44hc72bb7e_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-xfun-0.54-r44h3697838_0.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-xml-3.99_0.17-r44h7c9d5c0_3.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-xml2-1.4.0-r44hc6fd541_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-xmlparsedata-1.0.5-r44hc72bb7e_4.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-xopen-1.0.1-r44hc72bb7e_2.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-xtable-1.8_4-r44hc72bb7e_7.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-yaml-2.3.10-r44h54b55ab_1.conda + - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-zip-2.3.3-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-zoo-1.8_14-r44h54b55ab_1.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/rav1e-0.7.1-h8fae777_3.conda - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/linux-64/raxml-8.2.13-h7b50bb2_3.tar.bz2 @@ -6622,6 +6669,15 @@ packages: license_family: GPL3 size: 188072 timestamp: 1759962316617 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-argparser-0.7.2-r44hc72bb7e_2.conda + sha256: 3622e416c090c41369706bc0a3c50a47b531324a5f67e0c51ec529fc62101a74 + md5: 4b5de9542bd6198934a0be8150977bfa + depends: + - r-base >=4.4,<4.5.0a0 + license: GPL-3.0-or-later + license_family: GPL3 + size: 76292 + timestamp: 1758263099088 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-askpass-1.2.1-r44h54b55ab_1.conda sha256: 39a8bdb086df98cfeeedadeeafdbfcd8a5b90a3c266229d1ab7a2b25fc1db2b3 md5: ae87c9a5af5a2ebfa5412037825f4dd2 @@ -6798,6 +6854,17 @@ packages: license_family: GPL2 size: 69079 timestamp: 1757447878952 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-brio-1.1.5-r44h54b55ab_2.conda + sha256: 978484617257c31d7ea2977e970069a0f6c1456f315b95f946d81d6012dec527 + md5: 740449b857685bb63ffd29f10643f126 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - r-base >=4.4,<4.5.0a0 + license: MIT + license_family: MIT + size: 44540 + timestamp: 1757421410587 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-broom-1.0.10-r44hc72bb7e_0.conda sha256: 7a3bdbad128abda37e267aed6ab6670b0e0dec918650c53dac18087a72f22e10 md5: e80c1c49996f186133d6725c9257d9c4 @@ -6931,6 +6998,26 @@ packages: license_family: GPL3 size: 591946 timestamp: 1757458045161 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-clustergeneration-1.3.8-r44ha770c72_2.conda + sha256: 0b4b3ee4f255b0f56790e5a45074c9317479b1f661f4ff5252c48260a1eb9344 + md5: b89eb3ab9aad796a5af61407738516cc + depends: + - r-base >=4.4,<4.5.0a0 + - r-mass + license: GPL-2.0-or-later + license_family: GPL3 + size: 288473 + timestamp: 1757742034548 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-coda-0.19_4.1-r44hc72bb7e_2.conda + sha256: eb7098d1fc1441ab5652c93a178be0d9a950866739f7795c431bdbb9135298ec + md5: c98e090e45b4257a904c5c36dd7b41d3 + depends: + - r-base >=4.4,<4.5.0a0 + - r-lattice + license: GPL-2.0-or-later + license_family: GPL3 + size: 342201 + timestamp: 1757468209204 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-codetools-0.2_20-r44hc72bb7e_2.conda sha256: 3cf1c320913ddae7bd91ba770535a9d4765862a9fb1bac419a4ea41b8c39d693 md5: d81c629f78e571b14f9a617253c44552 @@ -6962,6 +7049,15 @@ packages: license_family: BSD size: 2543924 timestamp: 1758590585832 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-combinat-0.0_8-r44hc72bb7e_1007.conda + sha256: 4f6b3b5f097eeea09dc07e06a315031c8d19a07972b51256c9d9cd81261e8741 + md5: 1cb759e4550facec5bc3946313d62577 + depends: + - r-base >=4.4,<4.5.0a0 + license: GPL-2.0-only + license_family: GPL2 + size: 55553 + timestamp: 1757519752884 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-commonmark-2.0.0-r44h54b55ab_1.conda sha256: 3476f88b4aad66847acaf674739abb8d382129e85272e24667887424c0d47934 md5: 9aed52e98aeac71945621364047ab682 @@ -7003,6 +7099,20 @@ packages: license_family: MIT size: 167903 timestamp: 1757452343297 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-credentials-2.0.3-r44hc72bb7e_1.conda + sha256: 86e72bfe07502350d7c2c49b1a584d56d67d81b9dc35fda611d58408fff14a28 + md5: 73e08975cb48c7e8c2c61fb65a5c420e + depends: + - r-askpass + - r-base >=4.4,<4.5.0a0 + - r-curl + - r-jsonlite + - r-openssl >=1.3 + - r-sys >=2.1 + license: MIT + license_family: MIT + size: 225543 + timestamp: 1758405190539 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-curl-7.0.0-r44h10955f1_1.conda sha256: aa0a725d12e11d372074217e693404917a2be1a576e1a4538b4b54a149874964 md5: 69e006c582c9653920be9b42c9a5d325 @@ -7076,6 +7186,18 @@ packages: license_family: MIT size: 1218259 timestamp: 1757537458758 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-deoptim-2.2_8-r44h54b55ab_3.conda + sha256: 1f887d0c1fcdcc3f024d4a2d73ffd3d851320e7da2f63bb78af4ce6ddcfc3fe1 + md5: 1bf04ccd208723298b1c0b36ade09691 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - r-base >=4.4,<4.5.0a0 + - r-parallelly + license: GPL-2.0-or-later + license_family: GPL2 + size: 138504 + timestamp: 1757629270457 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-desc-1.4.3-r44hc72bb7e_2.conda sha256: 0b511eadd8299b370b23f45268a9f3de9015457913e86e373fc34184e65c155e md5: 24fe88af88fc79dd249b6ffdbd32af06 @@ -7088,6 +7210,48 @@ packages: license_family: MIT size: 341014 timestamp: 1757463156255 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-devtools-2.4.6-r44hc72bb7e_0.conda + sha256: eeb3f2371e69f9be56ad9d7d3e5a743b8fed90457d85b07e6a8d02718c48f80a + md5: 6c54475d45c5d8390d37afbcd11c35b3 + depends: + - r-base >=4.4,<4.5.0a0 + - r-cli >=3.3.0 + - r-desc >=1.4.1 + - r-ellipsis >=0.3.2 + - r-fs >=1.5.2 + - r-lifecycle >=1.0.1 + - r-memoise >=2.0.1 + - r-miniui >=0.1.1.1 + - r-pkgbuild >=1.3.1 + - r-pkgdown >=2.0.6 + - r-pkgload >=1.3.0 + - r-profvis >=0.3.7 + - r-rcmdcheck >=1.4.0 + - r-remotes >=2.4.2 + - r-rlang >=1.0.4 + - r-roxygen2 >=7.2.1 + - r-rversions >=2.1.1 + - r-sessioninfo >=1.2.2 + - r-testthat >=3.1.4 + - r-urlchecker >=1.0.1 + - r-usethis >=2.1.6 + - r-withr >=2.5.0 + license: MIT + license_family: MIT + size: 453894 + timestamp: 1759496014069 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-diffobj-0.3.6-r44h54b55ab_1.conda + sha256: 63bb9d1cef7ab68992fdc18023114211b5d1fc5363651063afecc5f6dee3c7fd + md5: ba81c2468035b1215f239423ec1217bd + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - r-base >=4.4,<4.5.0a0 + - r-crayon >=1.3.2 + license: GPL-2.0-or-later + license_family: GPL2 + size: 1012323 + timestamp: 1757459178042 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-digest-0.6.38-r44h3697838_0.conda sha256: 5b45c9a9e9f191ff59bde98394a1bc1382a5850b1c762b0d22b881a8e29ede0f md5: bf0fe8334f6162e0b18b8b928e0847d0 @@ -7119,6 +7283,36 @@ packages: license_family: GPL3 size: 482754 timestamp: 1757517211757 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-doparallel-1.0.17-r44hc72bb7e_4.conda + sha256: d8325f37c96085e368f484240d655e877dbef519214be91121eef6ef6210bc3c + md5: baa944ff36b7b65c4999419ee7928e79 + depends: + - r-base >=4.4,<4.5.0a0 + - r-foreach >=1.2.0 + - r-iterators >=1.0.0 + license: GPL-2.0-only + license_family: GPL2 + size: 200856 + timestamp: 1757511113112 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-downlit-0.4.5-r44hc72bb7e_0.conda + sha256: 3dae4e0a5f1dfb19e05b139b062687081e6753d3e2911c39ca28c196d13270a6 + md5: 3365b3f052c7583803007aa2804edc4d + depends: + - r-base >=4.4,<4.5.0a0 + - r-brio + - r-desc + - r-digest + - r-evaluate + - r-fansi + - r-memoise + - r-rlang + - r-vctrs + - r-withr + - r-yaml + license: MIT + license_family: MIT + size: 121552 + timestamp: 1763113509623 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-dplyr-1.1.4-r44h3697838_2.conda sha256: 3d75538e4ea884889d20ddff1e2bd5779a810f377abbb6c9c86f811337219270 md5: 464c2dea00bfea4dbd3d345ca98dabc0 @@ -7182,6 +7376,22 @@ packages: license_family: MIT size: 111297 timestamp: 1757447669350 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-expm-1.0_0-r44h11cdb10_1.conda + sha256: 9010372f8ff1b8ee148f06f7237e7751a382bfa4d5cfd396be2713827c310953 + md5: f178c16122927d1d3310ba54f8bd789e + depends: + - __glibc >=2.17,<3.0.a0 + - libblas >=3.9.0,<4.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - liblapack >=3.9.0,<4.0a0 + - r-base >=4.4,<4.5.0a0 + - r-matrix + license: GPL-2.0-or-later + license_family: GPL3 + size: 226232 + timestamp: 1757544859232 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-fansi-1.0.6-r44h54b55ab_2.conda sha256: 30f241c34331fbbc22c742dee2765cbb16b39e1ef4c3bef765d2aad746c95040 md5: e5928aaf6b9d1d1f6f41cd30d00df5d3 @@ -7288,6 +7498,17 @@ packages: license_family: MIT size: 424528 timestamp: 1758793460052 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-foreach-1.5.2-r44hc72bb7e_4.conda + sha256: 125ba846cceaf85ff9a50ac41cb89d78fd1680dc4dde84812667c7f26eec2ff8 + md5: 0740e45e44a5a36ef5c453249820bd94 + depends: + - r-base >=4.4,<4.5.0a0 + - r-codetools + - r-iterators + license: Apache-2.0 + license_family: APACHE + size: 140625 + timestamp: 1757490405216 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-formatr-1.14-r44hc72bb7e_3.conda sha256: cb07de1571306945eb26226073f6962c54ea654957e674c77e99fe66fa00c56e md5: 7dec5b78870748c0c968564b67db9d00 @@ -7358,6 +7579,23 @@ packages: license_family: MIT size: 89321 timestamp: 1757455977099 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-gert-2.2.0-r44h5e22a44_0.conda + sha256: ccd332bee74fde28e8f29091cec744fe59a035cf33ed485b408453b2b372c2a1 + md5: b0256ef488fd5ac263306ddd5c9bb853 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgit2 >=1.9.1,<1.10.0a0 + - r-askpass + - r-base >=4.4,<4.5.0a0 + - r-credentials >=1.2.1 + - r-openssl >=2.0.3 + - r-rstudioapi >=0.11 + - r-zip >=2.1.0 + license: MIT + license_family: MIT + size: 264357 + timestamp: 1764180109086 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-ggplot2-4.0.1-r44h785f33e_0.conda sha256: 8ed4fb8da03bab428faabb28c3162ba993b14ecda7b97de70f2695cdfa0dada5 md5: d8dae97d3a0c3136218789c5d10a71f4 @@ -7377,6 +7615,30 @@ packages: license_family: MIT size: 7814775 timestamp: 1763113271364 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-gh-1.5.0-r44hc72bb7e_1.conda + sha256: f335fc08d3f0d564aaa3b3b982b1e9caaa8612084718781e2cf224fb1c5790ad + md5: d777f839ae3fa67f909f73d09c979596 + depends: + - r-base >=4.4,<4.5.0a0 + - r-cli >=3.0.1 + - r-gitcreds + - r-httr2 + - r-ini + - r-jsonlite + - r-rlang >=1.0.0 + license: MIT + license_family: MIT + size: 129235 + timestamp: 1758411392262 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-gitcreds-0.1.2-r44hc72bb7e_4.conda + sha256: c8746622ab43d705d6136c18806d61abed3fc432828d3a10a4b8d2d6aa20c599 + md5: 108c0fd368c4cc97f4db9d211cf4f61a + depends: + - r-base >=4.4,<4.5.0a0 + license: MIT + license_family: MIT + size: 96756 + timestamp: 1757482293279 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-glue-1.8.0-r44h54b55ab_1.conda sha256: 2ca92b5f3de0ed821f065fa85c86b4c41275373a9884b81b6799ee1613a0cec2 md5: 8c0119ef7862a900727cd6845ee1511c @@ -7544,6 +7806,38 @@ packages: license_family: GPL3 size: 367249 timestamp: 1757453532390 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-htmlwidgets-1.6.4-r44h785f33e_4.conda + sha256: a3c4ef0557b5cd2a99cc7a077f058b03ecd3a04d4ecb772ad23415dd0f764a09 + md5: 6f6e7b8b29a134580d4260a33a97b4af + depends: + - r-base >=4.4,<4.5.0a0 + - r-htmltools >=0.5.7 + - r-jsonlite >=0.9.16 + - r-knitr >=1.8 + - r-rmarkdown + - r-yaml + license: MIT + license_family: MIT + size: 426464 + timestamp: 1757552859822 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-httpuv-1.6.16-r44h6d565e7_1.conda + sha256: d28467ddd5ab1f46917886dd4b4eea6d7ebd984e2afd11f3e320d094aa7f699b + md5: e6c9757d18f84d809a8ad16e7dbba64c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libuv >=1.51.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - r-base >=4.4,<4.5.0a0 + - r-later >=0.8.0 + - r-promises + - r-r6 + - r-rcpp >=1.0.7 + license: GPL-2.0-or-later + license_family: GPL3 + size: 551613 + timestamp: 1757477635182 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-httr-1.4.7-r44hc72bb7e_2.conda sha256: 5ee37625cc31e589414b8c69d618b2143d87b0ef7632867b758c86e2e7f52262 md5: cad0b6a9f01e28d56bd5f456112f780d @@ -7627,6 +7921,15 @@ packages: license_family: GPL3 size: 5149303 timestamp: 1758712176795 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-ini-0.3.1-r44hc72bb7e_1007.conda + sha256: 92966144b62900f7dfeed776e1c90ae41f8da7b9c08bf3358758d54f3005877b + md5: 264bb3ce980241f17a1b4875e8945896 + depends: + - r-base >=4.4,<4.5.0a0 + license: GPL-3.0-only + license_family: GPL3 + size: 33543 + timestamp: 1757482002536 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-inline-0.3.21-r44hc72bb7e_1.conda sha256: add6c7334f1b6237959dd3f005e7497db852ade98c8c8d736ebee43da2fb3590 md5: 45852ac60d22ea9af166fff517d74d13 @@ -7648,6 +7951,15 @@ packages: license_family: MIT size: 1626389 timestamp: 1757441391901 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-iterators-1.0.14-r44hc72bb7e_4.conda + sha256: a02d27a592863a3bf3229696a8bef2dae2caa862a901f820d994ee4675b8bc88 + md5: 28b5c21aae2a093ffbf601f40e7cfc0e + depends: + - r-base >=4.4,<4.5.0a0 + license: Apache-2.0 + license_family: APACHE + size: 350472 + timestamp: 1757459827397 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-jquerylib-0.1.4-r44hc72bb7e_4.conda sha256: 95989e7eea19dd3a0c729585a20555388537dc033df120bb7baac26601232f75 md5: 24ba3d3b0b5d5c19fc549cca0b226388 @@ -7739,6 +8051,20 @@ packages: license_family: MIT size: 732454 timestamp: 1757577903671 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-later-1.4.4-r44h3697838_1.conda + sha256: 365a11309284d34174c7ea5c28663d95bda37769ef5463bbf76c59c93d425418 + md5: 4ab3b1e5f07a5913447e1644cf0898bd + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - r-base >=4.4,<4.5.0a0 + - r-rcpp >=0.12.9 + - r-rlang + license: MIT + license_family: MIT + size: 153980 + timestamp: 1757441142020 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-lattice-0.22_7-r44h54b55ab_1.conda sha256: f5b32cef2955fd9b5b9b105d62b64bdfdc67ecc231042a2e4b433795570ac045 md5: a4778b8f282dfa692f0bc55afbc5e31b @@ -7841,6 +8167,28 @@ packages: license_family: MIT size: 212139 timestamp: 1757677983678 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-maps-3.4.3-r44h54b55ab_1.conda + sha256: 620809c542f21376619aadf562e570aaeb8ca0c85d343405faac810d9239ce8a + md5: b55ea7d2dc0cf355e2ca830bcd6f14df + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - r-base >=4.4,<4.5.0a0 + license: GPL-2.0-only + license_family: GPL2 + size: 2378626 + timestamp: 1757483748706 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-mass-7.3_65-r44h54b55ab_0.conda + sha256: e5c577bae5089291a47d8eb6aa4de64ef912308003a5fd1df07d0dac02ad210b + md5: d93000477c93c6beffcd5fe181f3e921 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - r-base >=4.4,<4.5.0a0 + license: GPL-2.0-or-later + license_family: GPL3 + size: 1142928 + timestamp: 1757428450643 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-matrix-1.7_4-r44h0e4624f_1.conda sha256: 50f3e456ed33a0d6c61800458f4ac010e2ffe7a8850689549cd4f5909d62f738 md5: bdb8960fd8da7fe82ea3c729ffe29937 @@ -7904,6 +8252,30 @@ packages: license_family: GPL size: 64976 timestamp: 1757441391748 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-miniui-0.1.2-r44hc72bb7e_1.conda + sha256: e790e72325c0a34ff9481e08b03ae191a70377622c57559c696edf17d8f802fb + md5: ee0d79bc89d3f74dd1388167d4bc1701 + depends: + - r-base >=4.4,<4.5.0a0 + - r-htmltools >=0.3 + - r-shiny >=0.13 + license: GPL-3.0-only + license_family: GPL3 + size: 55426 + timestamp: 1757517041047 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-mnormt-2.1.1-r44hbcb9c34_2.conda + sha256: 6c356469bf2818862ae20b1322ec7157ed78f853779f4aa17e2677e2d66ff517 + md5: 15adf4db2642cda13c8282f01f341f54 + depends: + - libgcc-ng >=12 + - libgfortran-ng + - libgfortran5 >=12.3.0 + - r-base >=4.4,<4.5.0a0 + - r-tmvnsim >=1.0_2 + license: GPL-2.0-or-later + license_family: GPL3 + size: 199251 + timestamp: 1719801360983 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-modelr-0.1.11-r44hc72bb7e_3.conda sha256: 6629887cab6c95d0e47286e416679f22ba83cba4d50f760ac5130bf20b362200 md5: 24fd2637122778fd80cbf88104ce1150 @@ -7966,6 +8338,35 @@ packages: license_family: MIT size: 691865 timestamp: 1759238508219 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-optimparallel-1.0_2-r44hc72bb7e_4.conda + sha256: b4055af7efa114e1075b58cdc9375990cfe6c570e4db5ed6e4dcb288bbb5ec21 + md5: fa592cf7fc3ea2b90f6f51fcb5d9c195 + depends: + - r-base >=4.4,<4.5.0a0 + license: GPL-2.0-or-later + license_family: GPL2 + size: 214270 + timestamp: 1757706012550 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-otel-0.2.0-r44hc72bb7e_1.conda + sha256: 827a5d32cb852ecee400507b2071cfaaec90f462bf3e3d97096490a059403346 + md5: e32e1e3d515ee4340ab9ef3b57b93cf4 + depends: + - r-base >=4.4,<4.5.0a0 + license: MIT + license_family: MIT + size: 286352 + timestamp: 1761150894562 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-parallelly-1.46.0-r44h54b55ab_0.conda + sha256: bd1e1a6fe1117e7e68ac5e255c661372f8860c6c47c1495b3348b502e7dab14c + md5: d2cacd824b495d594f3961cdde38cc4c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - r-base >=4.4,<4.5.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + size: 614476 + timestamp: 1765541797694 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-phangorn-2.12.1-r44hf1899b2_3.conda sha256: 4c7b861781ac9516c5f609f3de4bcd931688244c2a6dacd57ea9176487c80f79 md5: c6abdc8c64545b2411e48166d5b76e3a @@ -7987,6 +8388,31 @@ packages: license_family: GPL3 size: 2630063 timestamp: 1758800801542 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-phytools-2.5_2-r44hc72bb7e_1.conda + sha256: bbe7018a2f352530c22a186f6114c2c6cfe09892eccd908fd87af57ec7c028df + md5: 84f23c98380f0f0e26cc2a218580d388 + depends: + - r-ape >=5.7 + - r-base >=4.4,<4.5.0a0 + - r-clustergeneration + - r-coda + - r-combinat + - r-deoptim + - r-doparallel + - r-expm + - r-foreach + - r-maps + - r-mass + - r-mnormt + - r-nlme + - r-numderiv + - r-optimparallel + - r-phangorn >=2.3.1 + - r-scatterplot3d + license: GPL-2.0-or-later + license_family: GPL2 + size: 2868951 + timestamp: 1758816360872 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-pillar-1.11.1-r44hc72bb7e_0.conda sha256: 10739851530bc98feff7bf68acd2285dfddc7a8587b33c51a495f014744a3f33 md5: 89635525b35ad6b443343237b65526ae @@ -8030,6 +8456,34 @@ packages: license_family: MIT size: 27374 timestamp: 1757447594870 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-pkgdown-2.2.0-r44hc72bb7e_0.conda + sha256: a21fdcdb9b0374bb6031d1284d02a0781b3181ae4885bf43675667a145fbffd2 + md5: cbf95acbd79f34cada035113b917ec86 + depends: + - r-base >=4.4,<4.5.0a0 + - r-bslib >=0.5.1 + - r-callr >=3.7.3 + - r-cli >=3.6.1 + - r-desc >=1.4.0 + - r-downlit >=0.4.4 + - r-fontawesome + - r-fs >=1.4.0 + - r-httr2 >=1.0.2 + - r-jsonlite + - r-openssl + - r-purrr >=1.0.0 + - r-ragg >=1.4.0 + - r-rlang >=1.1.4 + - r-rmarkdown >=2.27 + - r-tibble + - r-whisker + - r-withr >=2.4.3 + - r-xml2 >=1.3.1 + - r-yaml + license: MIT + license_family: MIT + size: 905859 + timestamp: 1762414182135 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-pkgload-1.4.1-r44hc72bb7e_0.conda sha256: ad911229df18867141da929a35f6dede2f5afe86f9dcd80f39d188a5d515b3ee md5: cf81bb0e096c62c076f43e4b6a08221c @@ -8102,6 +8556,15 @@ packages: license_family: BSD size: 1013692 timestamp: 1757534127643 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-praise-1.0.0-r44hc72bb7e_1009.conda + sha256: ab412aae97116199eca6ca377bef26aed160e835a9920a4764e160bd25b02233 + md5: 3be32de189a039db4fc08888bd95c2b8 + depends: + - r-base >=4.4,<4.5.0a0 + license: MIT + license_family: MIT + size: 25896 + timestamp: 1757447349076 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-prettyunits-1.2.0-r44hc72bb7e_2.conda sha256: cbee3643f2e5b45e52921f5a6246f572cadf5dcf540d352bbc0ff4ad0a96aa4f md5: d0ddc1e17050afcb5f13ecdc1f4aba92 @@ -8126,6 +8589,22 @@ packages: license_family: MIT size: 340153 timestamp: 1757460034899 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-profvis-0.4.0-r44h54b55ab_1.conda + sha256: 9dba8142fbbcec66203cc883d9504542fe71a7d226d7a66de9b212b9102eeb85 + md5: 6dfa35e198d2db0370f3ba6819ea5745 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - r-base >=4.4,<4.5.0a0 + - r-htmlwidgets >=0.3.2 + - r-purrr + - r-rlang >=0.4.9 + - r-stringr + - r-vctrs + license: GPL-3.0-only + license_family: GPL3 + size: 229816 + timestamp: 1757585446968 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-progress-1.2.3-r44hc72bb7e_2.conda sha256: 23cf5fe12d5344af6dcc74d89504dee70b2534c62dee48b03515e44c27465c45 md5: a6a93fa6ae11444ea50d897f35db7e5d @@ -8139,6 +8618,22 @@ packages: license_family: MIT size: 96089 timestamp: 1757484966329 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-promises-1.5.0-r44hc72bb7e_1.conda + sha256: a1fad42c49ef0a7cf0744dfd860f8e9536124710b3522d39f0c08614c09c26cf + md5: 65078b0412ccfb1deab6873494f96d42 + depends: + - r-base >=4.4,<4.5.0a0 + - r-fastmap >=1.1.0 + - r-later + - r-lifecycle + - r-magrittr >=1.5 + - r-otel >=0.2.0 + - r-r6 + - r-rlang + license: MIT + license_family: MIT + size: 1597085 + timestamp: 1762426235911 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-ps-1.9.1-r44h54b55ab_1.conda sha256: db7845901d09f0ef0124b8220153ea5b005610710a2897214ab130b3bf158342 md5: 5560766b6a9358409fcd958a3e74bc88 @@ -8275,6 +8770,27 @@ packages: license_family: MIT size: 53720 timestamp: 1757441487351 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-rcmdcheck-1.4.0-r44h785f33e_4.conda + sha256: 5b71d6653e46d4f455e65d91f9a2b89dbd34be672490e614e5be8490f96715ec + md5: 5da521ad174d2921aeceac5a51774035 + depends: + - r-base >=4.4,<4.5.0a0 + - r-callr >=3.1.1.9000 + - r-cli >=3.0.0 + - r-curl + - r-desc >=1.2.0 + - r-digest + - r-pkgbuild + - r-prettyunits + - r-r6 + - r-rprojroot + - r-sessioninfo >=1.1.1 + - r-withr + - r-xopen + license: MIT + license_family: MIT + size: 179296 + timestamp: 1758407837797 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-rcolorbrewer-1.1_3-r44h785f33e_4.conda sha256: 7fe0b7282c290b8267d093cdfb4ae093d4a5fdf65f97fdac1d6db998bb96bc32 md5: bbaae25579d5cea71278441c0b61fde3 @@ -8630,6 +9146,17 @@ packages: license_family: MIT size: 318219 timestamp: 1757460047965 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-rversions-3.0.0-r44hc72bb7e_0.conda + sha256: 2a992c4e66904053dda99f56144cc675bee383223cc9d75cef25115370fa63d6 + md5: 0d8372fccb5ca284a2d3707d2b9392e6 + depends: + - r-base >=4.4,<4.5.0a0 + - r-curl + - r-xml2 >=1.0.0 + license: MIT + license_family: MIT + size: 145164 + timestamp: 1760025528414 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-rvest-1.0.5-r44hc72bb7e_1.conda sha256: 526d48d789ead27e8d3db1cea63499b85ff5ab60652236cac93a83b86788ca27 md5: 4e10d6e0cab403bd6b19f34e3180e124 @@ -8694,6 +9221,15 @@ packages: license_family: MIT size: 780906 timestamp: 1757487429584 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-scatterplot3d-0.3_44-r44h785f33e_3.conda + sha256: 73a52d62bcd636ef44fa598651e1bea2c208d9bea6694f6276451df1fad69af0 + md5: c3ca8d230fac69637219eb7b54922ae5 + depends: + - r-base >=4.4,<4.5.0a0 + license: GPL-2.0-only + license_family: GPL2 + size: 361260 + timestamp: 1757508060588 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-selectr-0.4_2-r44hc72bb7e_5.conda sha256: 3078d92daa08c2de51979278adcd6677c92cc761576f1ee0fd8cb7b4a1a01194 md5: 7afd352c040a5a5062277adf3d1773ac @@ -8705,6 +9241,45 @@ packages: license_family: BSD size: 422926 timestamp: 1757496800044 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-sessioninfo-1.2.3-r44hc72bb7e_1.conda + sha256: 8d5af5e9db919709931128cc03df52eb420393a2f83414bac21955045224a9bc + md5: f0b99a3fe330a0b89cfd67e690ce8f1f + depends: + - r-base >=4.4,<4.5.0a0 + - r-cli + - r-withr + license: GPL-2.0-only + license_family: GPL2 + size: 210461 + timestamp: 1757548030427 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-shiny-1.12.1-r44h785f33e_0.conda + sha256: 8313d5579bb9ce01e23c35f30dac081decf15c9aae3ca69d09912aea81c4fded + md5: 22c9f76fb9fd5f7a3b465e8649c3eb09 + depends: + - r-base >=4.4,<4.5.0a0 + - r-bslib >=0.6.0 + - r-cachem >=1.1.0 + - r-commonmark >=1.7 + - r-crayon + - r-fastmap >=1.1.1 + - r-fontawesome >=0.4.0 + - r-glue >=1.3.2 + - r-htmltools >=0.5.4 + - r-httpuv >=1.5.2 + - r-jsonlite >=0.9.16 + - r-later >=1.0.0 + - r-lifecycle >=0.2.0 + - r-mime >=0.3 + - r-promises >=1.1.0 + - r-r6 >=2.0 + - r-rlang >=0.4.10 + - r-sourcetools + - r-withr + - r-xtable + license: GPL-3.0-only + license_family: GPL3 + size: 3764392 + timestamp: 1765275212670 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-sm-2.2_6.0-r44heaba542_2.conda sha256: 6d0bf11b3a276cb4af5d12c25085bbbf66976fefd14175600722db61449102b3 md5: ee95019837c35b186b930f397b0122f4 @@ -8727,6 +9302,18 @@ packages: license_family: GPL size: 116633 timestamp: 1757568498963 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-sourcetools-0.1.7_1-r44h3697838_3.conda + sha256: d84cba04a2f8bd49137c391daaea3bc47dae8456e96580f88d881e6f9a93107a + md5: c68dfb84445fecab3ef321b7ce21bc79 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - r-base >=4.4,<4.5.0a0 + license: MIT + license_family: MIT + size: 54290 + timestamp: 1757441652363 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-stanheaders-2.32.10-r44ha36cffa_2.conda sha256: af1f26066258f22242d6d3854396d55e10a93c692476c8a1683bca0560d8b447 md5: 01866afed48bc5ae9d2bb9c32c15e38e @@ -8857,6 +9444,35 @@ packages: license_family: GPL3 size: 239439 timestamp: 1757512562925 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-testthat-3.3.1-r44h3697838_0.conda + sha256: c155b38bbb61e8f7e388e5fd74e12b672d6de8cd4f79851d69049da24f80b134 + md5: 6ed6587555a1e9c40b6e1aa80eeb848d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - r-base >=4.4,<4.5.0a0 + - r-brio >=1.1.3 + - r-callr >=3.7.3 + - r-cli >=3.6.1 + - r-desc >=1.4.2 + - r-digest >=0.6.33 + - r-evaluate >=1.0.1 + - r-jsonlite >=1.8.7 + - r-lifecycle >=1.0.3 + - r-magrittr >=2.0.3 + - r-pkgload >=1.3.2.1 + - r-praise >=1.0.0 + - r-processx >=3.8.2 + - r-ps >=1.7.5 + - r-r6 >=2.5.1 + - r-rlang >=1.1.1 + - r-waldo >=0.6.0 + - r-withr >=3.0.2 + license: MIT + license_family: MIT + size: 1815640 + timestamp: 1764088794456 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-textshaping-1.0.4-r44h74f4acd_0.conda sha256: 6af878e7ca8bd127a34cf99cb6c777493d1bcc08c52e056ea5e71b06858b94ab md5: daafb92653bf443e199e79293f772e5f @@ -8995,6 +9611,19 @@ packages: license_family: MIT size: 153241 timestamp: 1757456334205 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-tmvnsim-1.0_2-r44heaba542_7.conda + sha256: cceedc0bcb0f3f31e8716243d3a2d54eb782455fd0754ab21636881a49b81402 + md5: 7e45224bed698db7a9b4c093f4a36c4a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - r-base >=4.4,<4.5.0a0 + license: GPL-2.0-only + license_family: GPL2 + size: 34522 + timestamp: 1757491922032 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-tzdb-0.5.0-r44h3697838_2.conda sha256: 4640ae24c27ce009406b392c739d9ef6015ed6243fa3f6b8b466ccc47cf9ad9f md5: 22de54c4ce316337baf45289e63ab601 @@ -9008,6 +9637,47 @@ packages: license_family: MIT size: 554579 timestamp: 1757489995373 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-urlchecker-1.0.1-r44hc72bb7e_4.conda + sha256: 387f16b5cd2a43008b960540a062a4f640beb6330bda558fcc8ee3a4c65440b2 + md5: 758d7f34c4ee93da99b03493760aae48 + depends: + - r-base >=4.4,<4.5.0a0 + - r-cli + - r-curl + - r-xml2 + license: GPL-3.0-only + license_family: GPL3 + size: 52354 + timestamp: 1758409122934 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-usethis-3.2.1-r44hc72bb7e_1.conda + sha256: 1182f2621d960e48c425ef9531be71217db3ef308040752050ad89ccde248fbf + md5: c12c8d608c5d8300418923e35724ebc8 + depends: + - r-base >=4.4,<4.5.0a0 + - r-cli + - r-clipr >=0.3.0 + - r-crayon + - r-curl >=2.7 + - r-desc + - r-ellipsis + - r-fs >=1.3.0 + - r-gert >=1.0.2 + - r-gh >=1.2.0 + - r-glue >=1.3.0 + - r-jsonlite + - r-lifecycle + - r-purrr + - r-rappdirs + - r-rlang >=0.4.3 + - r-rprojroot >=1.2 + - r-rstudioapi + - r-whisker + - r-withr >=2.3.0 + - r-yaml + license: MIT + license_family: MIT + size: 916613 + timestamp: 1758433321593 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-utf8-1.2.6-r44h54b55ab_1.conda sha256: 8baeb9d46c17ce6578155af0f2dce665267eb8a16fa263659ad33e5005c3ed3f md5: c7bce6987e0f5aaf9bdf5296dd3693c4 @@ -9092,6 +9762,31 @@ packages: license_family: MIT size: 887431 timestamp: 1758291277053 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-waldo-0.6.2-r44hc72bb7e_1.conda + sha256: 1df50e9e24eebacb023a3ce10ad8dbc2e72f4ececef481173b8b3af64486b98d + md5: af452397f5133a113606b71049cc2f78 + depends: + - r-base >=4.4,<4.5.0a0 + - r-cli + - r-diffobj >=0.3.4 + - r-fansi + - r-glue + - r-rematch2 + - r-rlang >=1.0.0 + - r-tibble + license: MIT + license_family: MIT + size: 144342 + timestamp: 1757501600562 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-whisker-0.4.1-r44hc72bb7e_3.conda + sha256: 62f9d8bac98740183d1613605e8652b67ed9eae896481996f327b63a6e644831 + md5: edd5604d0bc3692b35ee0eb73283499f + depends: + - r-base >=4.4,<4.5.0a0 + license: GPL-3.0-only + license_family: GPL3 + size: 82818 + timestamp: 1757468218832 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-withr-3.0.2-r44hc72bb7e_1.conda sha256: dda58385230d6969a184022bbd3d692007d696c3b4491f70ecaa94ee0c5e7dac md5: 0fdd8ccde2641093c651e2b6a25d85e1 @@ -9153,6 +9848,16 @@ packages: license_family: MIT size: 28848 timestamp: 1757451920883 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-xopen-1.0.1-r44hc72bb7e_2.conda + sha256: b0ceffeda93d9be2cf342d17e95efe7db725738ac65d6ff3db5b7b30e76e9b06 + md5: ef40111fafaa159e49c0058ccd4484c8 + depends: + - r-base >=4.4,<4.5.0a0 + - r-processx + license: MIT + license_family: MIT + size: 33449 + timestamp: 1757570911160 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/r-xtable-1.8_4-r44hc72bb7e_7.conda sha256: b3db7745d076860ca48170a27a4f65448c20fa2af1ead391f531337b06f79d7d md5: cd78e7159529d6e37c3945e6aad05c2c @@ -9173,6 +9878,17 @@ packages: license_family: BSD size: 120229 timestamp: 1757421960299 +- conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-zip-2.3.3-r44h54b55ab_1.conda + sha256: 4ab80520dedd0043b132df9b2cdbf8d3a789902e389bccaa10d0a3f9b16585c4 + md5: 24fa0d0ad4b69d842e6ff62356c81128 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - r-base >=4.4,<4.5.0a0 + license: MIT + license_family: CC + size: 156936 + timestamp: 1757447522903 - conda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/r-zoo-1.8_14-r44h54b55ab_1.conda sha256: bdd95f2f0070220dbeee0ca9dfbd36de8c232d60121e0b61f04314baccb7c90a md5: e7a91f0b5a26b7d61ed86423ca9d3d49 diff --git a/pixi.toml b/pixi.toml index 79f3de7..3862cf9 100644 --- a/pixi.toml +++ b/pixi.toml @@ -52,6 +52,10 @@ paml = ">=4.10.9,<5" beagle-lib = "==3.1.2" mrbayes = ">=3.2.7,<4" cairosvg = ">=2.8.2,<3" +r-devtools = ">=2.4.6,<3" +r-phytools = ">=2.5_2,<3" +r-argparser = ">=0.7.2,<0.8" +r-processx = ">=3.8.6,<4" [feature.beast.dependencies] beagle-lib = ">=4.0.1,<5" diff --git a/slides/20251213/pages/审稿意见与解决方案.md b/slides/20251213/pages/审稿意见与解决方案.md index 31a56e1..cca390a 100644 --- a/slides/20251213/pages/审稿意见与解决方案.md +++ b/slides/20251213/pages/审稿意见与解决方案.md @@ -59,7 +59,6 @@ title: 方法验证不足 - 讨论方法的**适用范围与局限性**(如是否适用于大规模物种?能否处理多次introgression?)。 - **解决方案:** - ==bpp模拟数据实验== - - ==添加其他真实数据集模拟(蛇)== --- layout: top-title