Longitudinal changes in amygdala-supplementary motor area connectivity and their association with recurrent self-harm in adolescents with mood disorders.
The 3 matches · 1 of them tie a paragraph to a whole file, not to given lines: a weak match, whose lines are not tinted
- [1] § Method › Statistical analyses ↔ R/fastInferences4-eigen-CA.R, lines 1–119 · score 0.55 · cross validation, data4PCCAR, resampling, permutation, bootstrap, sum
- [2] § Method › Statistical analyses ↔ R/tepCCA.R, the whole file · a weak match · score 0.54 · TExPosition, latent variable, component, squared, sum, scores
- [3] § Method › Participants ↔ R/dimensionsOfDepression.R, lines 1–62 · score 0.51 · Affective Disorders, Children, head, adolescent
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
R · 447 lines · 16 KB · no license · 1 match
- #___________________________________________________________
- # file fastInferences4CA.R
- # Created 09/27/2020
- # Fast inferences for CA based on multinomial distribution
- # includes bootstrap and permutation tests.
- # Current Version 09/27/2020
- # __________________________________________________________
- # Preamble ----
- # File for fast Inferences in CA
- # An example on how to compute (fast)
- # permuted and bootstrap values
- # for the CA of a data table
- # Functions to be ported to data4PCCAR
- # Current functions ----
- # eigCA
- # malinvaudQ4CA.perm
- # eigCA4Multinom
- # multinomCV4CA
- # print.Inference4CA
- #
- # **********************************************************
- # The functions starts here ----
- # __________________________________________________________
- # Preamble eigCA ----
- # First a nice function to get only the CA eigenvalues
- # from a data matrix
- #
- #___________________________________________________________
- # eigCA a function to compute
- # the CA-eigenvalues for a matrix
- # if eig.only is FALSE, eigCA will also give Fi and Fj
- # (Useful for Booststraping Fi & Fj)
- # help starts here
- # ________________
- # eigCA
- #' @title A bare-bone function to compute the
- #' eigen-values (and if asked row and column factor scores)
- #' of a matrix suitable for correspondence analysis.
- #' @description \code{eigCA}:
- #' A very fast and bare-bone function that computes
- #' the eigenvalues
- #' (and possibly the row and column factor scores)
- #' of the Correspondence Analysis (CA)
- #' of a data matrix suitable for CA
- #' (i.e., a matrix whose all entries are non-negative).
- #' \code{eigCA} is mainly used for cross-validation
- #' and resampling methods (e.g., permutation and
- #' bootstrap tests).
- #' @param Xdata a data matrix
- #' (whose all entries are non-negative) suitable
- #' for correspondence analysis.
- #' @param eig.only when \code{TRUE} (Default)
- #' compute only the CA- eigen-values of \code{X}.
- #' Otherwise compute also the row and column
- #' CA factor scores (i.e., \code{fi} and \code{fj}).
- #' @return if \code{eig.only} is \code{TRUE}
- #' \code{eigCA} returns the CA-eigenvalues of
- #' \code{X};
- #' if \code{eig.only} is \code{FALSE}
- #' \code{eigCA} returns
- #' a list with: \code{$eigen}: the CA-eigenvalues of
- #' \code{X}, \code{$fi}: the CA row factor scores,
- #' and \code{$fi}: the CA column factor scores.
- #' @details As a fast bare-bones CA based computations
- #' \code{eigCA} is mainly used for
- #' cross-validation for CA methods.
- #' @author Hervé Abdi
- #' @examples
- #' \dontrun{
- #' set.seed(87) # set the seed
- #' X <- matrix(round(runif(21)*20), ncol = 3) # good for CA
- #' eigenOfX <- eigCA(X)
- #' }
- #' @rdname eigCA
- #' @export
- eigCA <- function(Xdata, # data matrix
- eig.only = TRUE # we just want the eigenvalues
- ){# function starts here
- nI <- nrow(Xdata)
- nJ <- ncol(Xdata)
- Fliped = FALSE # Did we flip the matrix?
- # make sure that we work on the smallest side
- if (nI > nJ){Xdata <- t(Xdata)
- truc <- nI
- nI <- nJ
- nJ <- truc
- Fliped <- TRUE}
- Y <- Xdata / sum(Xdata) # stochastic matrix
- y.ip <- rowSums(Y)
- y.pj <- colSums(Y)
- # long way with diag to check computation
- # Y4eig = diag(1/sqrt(y.ip))%*% Y %*% diag(1/sqrt(y.pj))
- # rewrite Y4eig in a better way a la repmat!
- Y4eig <- matrix((1/sqrt(y.ip)),nI,nJ) * Y *
- matrix((1/sqrt(y.pj)),nI,nJ,byrow = TRUE)
- # ^ this could be done faster I think
- if (eig.only){
- S4eig <- Y4eig %*% t(Y4eig)
- Y.eig <- eigen(S4eig, symmetric = TRUE,
- only.values = TRUE)
- # check.svd = svd(Y4eig) to double check
- return(Y.eig$values[-1]) # ignore the first trivial eigenvalue
- } else {# go for ze svd
- Y.svd <- svd(Y4eig,nu = min(c(nI,nJ)))
- Y.eig <- Y.svd$d^2 # eigenvalue
- nL <- length(Y.eig)
- Fi <- matrix((1/sqrt(y.ip)),nI,nL) * Y.svd$u[,1:nL] *
- matrix(Y.svd$d,nI,nL,byrow = TRUE)
- Fj <- matrix((1/sqrt(y.pj)),nJ,nL) * Y.svd$v[,1:nL] *
- matrix(Y.svd$d,nJ,nL,byrow = TRUE)
- if (Fliped){ truc <- Fj
- Fj <- Fi
- Fi <- truc} # if Fliped, unFliped
- ShortCA = list(eigen = Y.eig[-1],
- Fi = Fi[,-1],
- Fj = Fj[,-1]) # drop first dim
- return(ShortCA)
- }
- } # end of function eigCA
- # eof eigCA ----
- #___________________________________________________________
- # Preamble malinvaudQ4CA.perm ----
- # malinvaudQ4CA.perm computes the Malinvaud/Saporta test for CA
- # with asymptotic and permutation derived p-values
- # Help here
- # ___________
- #
- #' @title Compute the Malinvaud/Saporta test for
- #' the omnibus and dimensions of a correspondence
- #' analysis.
- #' @description \code{malinvaudQ4CA.perm}:
- #' Computes the Malinvaud / Saporta test for
- #' the omnibus and dimensions of a correspondence
- #' analysis. \code{malinvaudQ4CA.perm} gives
- #' the asymptotic Chi2 values and their associated
- #' \emph{p}-value under the usual assumptions.
- #' If provided with permuted
- #' CA-eigenvalues, \code{malinvaudQ4CA.perm}
- #' will report the \emph{p}-value obtained from
- #' the permutation test.
- #' @param Data A matrix suitable for
- #' correspondence analysis
- #' (i.e., with all non-negative elements).
- #' @param LesEigPerm
- #' the permuted eigenvalues
- #' as a \code{niteration} times rank of the
- #' data matrix.
- #' if \code{LesEigPerm} is \code{NULL}
- #' (Default), \code{malinvaudQ4CA.perm}
- #' will only compute the normal
- #' (i.e., chi2 based) approximation.
- #' @param ndigit4print (Default: 4),
- #' number of significant
- #' digits to use to report the results.
- #' @return A (self-explanatory)
- #' table with the results of the test
- #' @details DETAILS
- #' @author Hervé Abdi
- #' @references
- #' The original work is described in a rather
- #' hard to find paper (published in the proceeding
- #' of a meeting) by Malinvaud:
- #'
- #' Malinvaud, E. (1987).
- #' Data Analysis in applied socio-economic statistics
- #' with special considerations of correspondence analysis.
- #' \emph{Marketing Science Conference Proceedings},
- #' HEC-ISA, Jouy-en-Josas.
- #'
- #' A synthesis of the method with additional information
- #' can be found
- #' in
- #'
- #' Saporta (2011). \emph{Probabilité
- #' et Analyse des Données (3rd Ed)}.
- #' Technip, Paris. p. 209.
- #' @examples
- #' \dontrun{
- #' set.seed(87) # set the seed
- #' X <- matrix(round(runif(21)*20), ncol = 3) # good for CA
- #' resMalin <- malinvaudQ4CA.perm(X)
- #' }
- #' @importFrom stats pchisq
- #' @rdname malinvaudQ4CA.perm
- #' @export
- malinvaudQ4CA.perm <- function(
- Data, # The original Data Table
- # Val.P = NULL, # fixed eigenvalues
- # e.g. resFromExposition$ExPosition.Data$eigs
- # Output from ExPosition
- LesEigPerm = NULL, # the permuted eigenvalues
- # as a niteration * rank of X matrix
- # -> to add if LesEigPerm is NULL skip
- # the permutation part
- # and compute normal approximation
- ndigit4print = 4 # how many digits for printing
- ){# Function begins here
- # References:
- # Malinvaud, E. (1987). Data Analysis in applied socio-economic statistics
- # with special considerations of correspondence analysis.
- # Marketing Science Conference Proceedings, HEC-ISA, Jouy-en-Josas.
- # Also cited in Saporta (2011). Probabilité et Analyse des Données (3rd Ed).
- # Technip, Paris. p. 209.
- # Val.P <- ResFromExposition$ExPosition.Data$eigs
- N.pp <- sum(Data) # Grand Total of the data table
- # if(is.null(Val.P)){Val.P = eigCA(Data)}
- # OLd Version
- # Compute eigenvalues if not given
- Val.P = eigCA(Data) # Now compute the eigenvalues
- nL <- length(Val.P) # how many eigenvalues
- nI <- nrow(Data)
- nJ <- ncol(Data)
- Q <- N.pp * cumsum(Val.P[nL:1])[nL:1]
- Q.nu <- (nI - 1:nL)*(nJ - 1:nL)
- # Get the values from Chi Square
- pQ = 1 - stats::pchisq(Q,Q.nu)
- # Add NA to make clear that the last
- # dimension is not tested
- Le.Q = c(Q,NA)
- Le.pQ = c(pQ,NA)
- Le.Q.nu = c(Q.nu,0)
- #
- NamesOf.Q = c('Ho: Omnibus', paste0('Dim-',seq(1:nL)))
- names(Le.Q) <- NamesOf.Q
- names(Le.pQ) <- NamesOf.Q
- names(Le.Q.nu) <- NamesOf.Q
- # Now compute the probability from permutation test
- # from InPosition
- # LesEigPerm <- Eigen.perm
- # ^ to make life easier
- if (!is.null(LesEigPerm)){# If LesEigPerm exist get p-values
- Q.perm <- N.pp * t(apply( LesEigPerm[,nL:1], 1, cumsum) )[,nL:1]
- #
- Logical.Q.perm = t(t(Q.perm) > (Q))
- pQ.perm = colMeans(Logical.Q.perm)
- pQ.perm[pQ.perm == 0] = 1 / nrow(Q.perm)
- Le.pQ.perm = c(pQ.perm,NA)
- # return the table
- Malinvaud.Q = data.frame(matrix(c(
- c(round(c(sum(Val.P),Val.P),digits = ndigit4print) ),
- round(Le.Q, digits = ndigit4print),
- round(Le.pQ, digits = ndigit4print),
- round(Le.Q.nu, digits = ndigit4print),
- round(Le.pQ.perm,digits = ndigit4print)),
- nrow = 5, byrow = TRUE))
- colnames(Malinvaud.Q) = NamesOf.Q
- rownames(Malinvaud.Q) = c('Inertia / sum lambda',
- 'Chi2',
- 'p-Chi2','df',
- 'p-perm')
- } else {
- Malinvaud.Q = data.frame(matrix(c(
- c(round(c(sum(Val.P),Val.P),digits = ndigit4print) ),
- round(Le.Q, digits = ndigit4print),
- round(Le.pQ, digits = ndigit4print),
- round(Le.Q.nu, digits = ndigit4print)
- # ,round(Le.pQ.perm,digit = ndigit4print)
- ),
- nrow = 4, byrow = TRUE))
- colnames(Malinvaud.Q) = NamesOf.Q
- rownames(Malinvaud.Q) = c('Inertia / sum lambda',
- 'Chi2',
- 'p-Chi2','df'
- #,'p-perm'
- )
- }
- # test p for chi2 to avoid 0
- for (k in 1:(ncol(Malinvaud.Q)-1)){
- if((Malinvaud.Q[3,k]) == 0){
- Malinvaud.Q[3, k] <- round(
- 1/(10^ndigit4print), ndigit4print) }
- }
- return(Malinvaud.Q)
- } # End of function MalinvaudQ4CA here
- # eof malinvaudQ4CA.perm ----
- #___________________________________________________________
- # Preamble eigCA4Multinom ----
- # Function eigCA4ultinom starts here
- # Sample from a multinomial distribution
- # and compute the eigenvalues
- # of a CA.
- # NB needs the function eigCA
- # Examples of calls
- # 1. Bootstrap of X:
- # Boot.eig <- eigCA4Multinom(sum(X),X,nrow(X),ncol(X))))
- # 2. Permutation of X
- # X4H0 <- (1/sum(X)^2)*(as.matrix(rowSums(X))%*%t(as.matrix(colSums(X))))
- # Perm.eig <- eigCA4Multinom(sum(X),X4H0,nrow(X),ncol(X))))
- #___________________________________________________________
- # Help for eigCA4Multinom starts here
- #' @title
- #' Sample from a multinomial distribution
- #' (with a given probability distribution)
- #' and compute the eigenvalues
- #' of a correpondence analysis of the simulated
- #' matrix..
- #' @description \code{eigCA4Multinom}:
- #' Sample from a multinomial distribution
- #' (with a given probability distribution)
- #' and compute the eigenvalues
- #' of the CA of an \code{nrow*ncol}
- #' (see below for these parameters).
- #' data matrix simulating correspondence analysis.
- #'
- #' @param nobs grand total of the table to be simulated.
- #' @param prob probability distribution
- #' for the cells. Should be length = \code{nrow*ncol}
- #' (see below for these parameters).
- #'
- #' @param nrow The number of rows of the matrix
- #' to be simulated.
- #' @param ncol The number of columns of the matrix
- #' to be simulated.
- #' @return OUTPUT_DESCRIPTION
- #' @details \code{eigCA4Multinom}
- #' is mostly used for computing eigenvalues
- #' of
- #' created data matrices
- #' simulating permutation and bootstrap procedures
- #' for correspondence analysis.
- #'
- #' @examples
- #' \dontrun{
- #' set.seed(87) # set the seed
- #' X <- matrix(round(runif(21)*20), ncol = 3) # good for CA
- #' nobs <- sum(X) # grand total
- #' nI <- nrow(X)
- #' nJ <- ncol(X)
- #' pI <- as.matrix(rowSums(X) / nobs) # marginal I & J
- #' pJ <- as.matrix(colSums(X) / nobs) # probabilites
- #' p4Permutation <- pI %*% t(pJ) # Independence <=> permutation
- #' # Simulated Permutation Probabilities
- #' permEigen <- eigCA4Multinom(nobs, p4Permutation, nI, nJ)
- #' p4Bootstrap <- X / nobs # Actual prob <=> Bootstrap
- #' permBoots <- eigCA4Multinom(nobs, p4Bootstrap, nI, nJ)
- #' }
- #' @importFrom stats rmultinom
- #' @rdname eigCA4Multinom
- #' @export
- #' @author Hervé Abdi
- eigCA4Multinom <- function(nobs, # grandtotal of the table
- prob, # probability distribution
- # for the cells. Should be length = nI*nJ
- nrow, ncol# nrow & ncol of the matrix
- ){ # function starts here
- CA.Valp <- eigCA(matrix(
- as.vector(stats::rmultinom(1, nobs, prob)),
- nrow = nrow, ncol = ncol, byrow = FALSE))
- return(CA.Valp)
- } # eof eigCA4Multinom ----
- #___________________________________________________________
- # Preamble multinomCV4CA ----
- # function multinomCV4CA
- # Multinomial distribution Based
- # Cross Validation for Correspondence Analysis
- # Assumes a plain model for CA as a contingency table
- #___________________________________________________________
- # Help multinomCV4CA starts here
- #' @title Compute the permuted and bootstrapped eigenvalues
- #' of the correspondence analysis (CA) of a matrix suitable
- #' for CA (i.e., a matrix with non negative elements).
- #'
- #' @description \code{multinomCV4CA}:
- #' a very fast routine that
- #' computes the permuted and bootstrapped eigenvalues
- #' of the correspondence analysis (CA) of a matrix suitable
- #' for CA (i.e., a matrix with non negative elements).
- #' @param Data a matrix suitable
- #' for CA (i.e., a matrix with non negative elements).
- #' @param niter number of Bootstrapped/Permutations
- #' (Default: \code{1000}).
- #' @return A list with two elements: 1)
- #' \code{$Permuted.ValP}: The matrix of the
- #' \code{niter} by \code{rank(Data)} permuted
- #' eigenvalues of the data matrix \code{Data}, and
- #' \code{$Bootstraped.ValP}: The matrix of the
- #' \code{niter} by \code{rank(Data)} bootstrapped
- #' eigenvalues of the data matrix \code{Data}.
- #'
- #' @details \code{multinomCV4CA}
- #' uses the multinomial distribution to
- #' simulate bootstrap and permutation resampling
- #' for a correspondence analysis.
- #' @examples
- #' \dontrun{
- #' set.seed(87) # set the seed
- #' X <- matrix(round(runif(21)*20), ncol = 3) # good for CA
- #' ResCV <- multinomCV4CA(X)
- #' }
- #' @rdname multinomCV4CA
- #' @export
- multinomCV4CA <- function(Data, # The contingency Table
- # data frame or matrix
- niter = 1000 # How Many Iterations
- ){
- X = as.matrix(Data)
- nN = sum(X)
- nI = nrow(X)
- nJ = ncol(X)
- # Get permutated eigenvalues from multinomial distribution
- # Probability distribution under H0 for permutation
- X4H0 <- (1/sum(X)^2)*
- (as.matrix(rowSums(X))%*%t(as.matrix(colSums(X))))
- Perm.ValP <- t(replicate(niter,eigCA4Multinom(nN,X4H0,nI,nJ)))
- # Get bootstraped eigenvalues from multinomial distribution
- Boot.ValP <- t(replicate(niter,
- eigCA4Multinom(nN, X, nI, nJ)))
- nL <- ncol(Boot.ValP)
- colnames(Perm.ValP) <- paste0('Dimension ',1:nL) -> colnames(Boot.ValP)
- return.list <- structure(
- list(Permuted.ValP = Perm.ValP,
- Bootstrapped.ValP = Boot.ValP),
- class = 'Inference4CA')
- return(return.list)
- } # eof multinomCV4CA ----
- # Print routines ----
- # print routines ----
- # #_____________________________________________________________________
- # print.Inference4CA ----
- #
- #' Change the print function for Inference4CA
- #'
- #' Change the print function for Inference4CA
- #'
- #' @param x a list: output of, e.g., multinomCV4CA
- #' @param ... everything else for the functions
- #' @author Hervé Abdi
- #' @export
- print.Inference4CA <- function(x, ...) {
- ndash = 78 # How many dashes for separation lines
- cat(rep("-", ndash), sep = "")
- cat("\n Inferences for the Eigenvalues of Correspondence Analysis \n")
- # cat("\n List name: ", deparse(eval(substitute(substitute(x)))),"\n")
- cat(rep("-", ndash), sep = "")
- cat("\n$Permuted.ValP : ", "The matrix of permuted eigenvalues.")
- cat("\n$ Bootstrapped.ValP: ", "The matrix of bootstrapped eigenvalues.")
- cat("\n",rep("-", ndash), sep = "")
- cat("\n")
- invisible(x)
- } # end of function print.Inference4CA ----
- # ____________________________________________________________________
- #___________________________________________________________
- #******************** End of Functions Here ***************
- #***********************************************************
fastInferences4-eigen-CA.R at commit 996d175, no license · at the source
Overview
- School of Psychology, Henan Medical University,Xinxiang, 453003 China
- Early Intervention Unit, Department of Psychiatry, The Affiliated Brain Hospital of Nanjing Medical University,Nanjing, 210029 China
- Functional Brain Imaging Institute of Nanjing Medical University,Nanjing, China
- School of Public Health, Southeast University,Nanjing, China
- Department of Mental Health, School of Public Health, Nanjing Medical University,Nanjing, China
Abstract
Background: Adolescents hospitalized with mood disorders face a heightened risk of repeated self-harm (SH) after discharge. Neuroimaging phenotype may complement traditional symptom-based approaches by revealing neural mechanisms of SH vulnerability. This study aimed to investigate longitudinal changes in functional connectivity (FC) in adolescents with repeated SH and to examine how these neural dynamics relate to SH-related symptoms.
Methods: We recruited 201 adolescent inpatients with mood disorders and SH behaviors, who were classified into repeated (RESH; n = 63) and non-repeated (NRESH; n = 138) SH groups based on a six-month follow-up. Resting-state fMRI and clinical assessments were conducted at three time points: acute (T1, admission ≤ 1 week), subacute (T2, 1–2 weeks), and discharge (T3). Voxel-wise ANCOVA identified regions showing significant group-by-time interaction effects in amygdala functional connectivity. Partial least squares correlation (PLSC) was used to examine associations between changes in FC (ΔFC) and suicidal symptoms, while logistic regression tested whether baseline and dynamic FC predicted SH recurrence at follow-up.
Results: ANCOVA revealed significant group-by-time interaction effects in amygdala-cortical connectivity, particularly with the left supplementary motor area (L-SMA) (Gaussian random field, GRF corrected, P < 0.05). PLSC showed that ΔFC between the amygdala and L-SMA was significantly associated with suicidal measures. Logistic regression indicated that both baseline (AUC = 0.75, 95% CI: 0.63–0.79) and ΔFC (AUC = 0.76, 95% CI: 0.68–0.82) between the amygdala and L-SMA, along with sex and Beck Scale for Suicide Ideation (BSS) item 3(“Reasons for Living or Dying”), were significant predictors of SH behavior.
Conclusions: Longitudinal changes in amygdala-L-SMA connectivity are associated with suicidal symptoms and predict SH recurrence, supporting the integration of neurobiological and clinical indicators for early suicide risk stratification.
Clinical trial number: Not applicable.
Supplementary Information: The online version contains supplementary material available at 10.1186/
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 3 matches between paragraphs and lines of code.
HerveAbdi/data4PCCAR
996d175096270f2f2a8da53bdb6df8a2103f2ff1, 19 January 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
52 files
- R/
Boot4CCA.R , R, 221 lines - R/
FlashExample.R , R, 76 lines - R/
InferencesMultinom4CA-3. , R, 479 linesR - R/
PLS_jack_svds_HA.R , R, 894 lines - R/
RenormInertiaExpo.R , R, 82 lines - R/
Supplementary4Vari.R , R, 164 lines - R/
addCircleOfCor.R , R, 192 lines - R/
alcoholInEurope.R , R, 72 lines - R/
blindSortingWines.R , R, 116 lines - R/
buildRandomImage4PCA.R , R, 229 lines - R/
colorOfMusic.R , R, 86 lines - R/
colorsOfVowels.R , R, 106 lines - R/
data4PCCAR.R , R, 28 lines - R/
deadInTheUSA.R , R, 64 lines - R/
dimensionsOfDepression.R , R, 93 lines, 1 match - R/
epVari.R , R, 127 lines - R/
fastInferences4-eigen-CA , R, 447 lines, 1 match.R - R/
firstpos.R , R, 68 lines - R/
firstpos4Expo.R , R, 80 lines - R/
fiveBeers5Judges.R , R, 92 lines - R/
fiveBeersHedonics.R , R, 83 lines - R/
fiveWines4Rotation.R , R, 84 lines - R/
foodInFrance.R , R, 101 lines - R/
foodOfTheWorld.R , R, 122 lines - R/
getBiplot4PCA.R , R, 202 lines - R/
getCtr12.R , R, 91 lines - R/
goodies4MCA.R , R, 545 lines - R/
graduatingInUSA.R , R, 71 lines - R/
inferences4PLSC.R , R, 641 lines - R/
is.diagMat.R , R, 51 lines - R/
mentaImageryOSIQ.R , R, 103 lines - R/
perm4CCA.R , R, 157 lines - R/
print.epGPCA2.R , R, 43 lines - R/
renameExPoDF.R , R, 130 lines - R/
sixAuthorsPunctuated.R , R, 91 lines - R/
sixBeers12Descriptors10J , R, 121 linesudges.R - R/
sixFaces.R , R, 97 lines - R/
sixteenGums4Descriptors. , R, 112 linesR - R/
supplementary4PLSC.R , R, 192 lines - R/
supplementaryObservation , R, 203 liness4PLSCA.R - R/
supplementaryVariables4P , R, 365 linesLSC.R - R/
supplementaryVariables4P , R, 289 linesLSCA.R - R/
temporary_internal_funct , R, 617 linesions.R - R/
tepCCA.R , R, 150 lines, 1 match - R/
tepRA.R , R, 146 lines - R/
testMC.R , R, 272 lines - R/
theme_ptca.R , R, 93 lines - R/
twentyWines.R , R, 103 lines - R/
winesOf3Colors.R , R, 91 lines - data-raw/
FlashExample.R , R, 12 lines - data-raw/
sixteenGums4Descriptors. , R, 122 linesR - README.md, Text, 630 lines
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 51 scripts, each with its path and the digest of its content;
- 3 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
No dataset and no data link were found in the paper.
Data availability
The data that support the findings of this study are available from the corresponding author upon reasonable request.
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 9 authors, 7 keywords, 12 MeSH terms, 3 funders, 49 references.
Cite
This paper
Feng, J., Zhang, R., Ren, Y., Zhou, J., Zheng, J., Wu, Y., Yu, Y., Zhu, R., & Wang, F. (2026). Longitudinal changes in amygdala-supplementary motor area connectivity and their association with recurrent self-harm in adolescents with mood disorders. BMC psychiatry, 26(1), 617. https://
BibTeX
@article{feng2026longitu
author = {Feng, Jiayi and Zhang, Ran and Ren, Yongxia and Zhou, Jingshuai and Zheng, Junjie and Wu, Yufei and Yu, Yuenan and Zhu, Rongxin and Wang, Fei},
title = {{Longitudinal changes in amygdala-supplementary motor area connectivity and their association with recurrent self-harm in adolescents with mood disorders}},
journal = {BMC psychiatry},
year = {2026},
month = jun,
volume = {26},
number = {1},
pages = {617},
publisher = {BMC},
issn = {1471-244X},
doi = {10.1186/
url = {https://
pmid = {42249288},
pmcid = {PMC13471583}
}
RIS
TY - JOUR
AU - Feng, Jiayi
AU - Zhang, Ran
AU - Ren, Yongxia
AU - Zhou, Jingshuai
AU - Zheng, Junjie
AU - Wu, Yufei
AU - Yu, Yuenan
AU - Zhu, Rongxin
AU - Wang, Fei
TI - Longitudinal changes in amygdala-supplementary motor area connectivity and their association with recurrent self-harm in adolescents with mood disorders
T2 - BMC psychiatry
J2 - BMC Psychiatry
PY - 2026
DA - 2026/
VL - 26
IS - 1
SP - 617
SN - 1471-244X
PB - BMC
DO - 10.1186/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1186/
"type": "article-journal",
"title": "Longitudinal changes in amygdala-supplementary motor area connectivity and their association with recurrent self-harm in adolescents with mood disorders",
"container-title": "BMC psychiatry",
"author": [
{
"family": "Feng",
"given": "Jiayi"
},
{
"family": "Zhang",
"given": "Ran"
},
{
"family": "Ren",
"given": "Yongxia"
},
{
"family": "Zhou",
"given": "Jingshuai"
},
{
"family": "Zheng",
"given": "Junjie"
},
{
"family": "Wu",
"given": "Yufei"
},
{
"family": "Yu",
"given": "Yuenan"
},
{
"family": "Zhu",
"given": "Rongxin"
},
{
"family": "Wang",
"given": "Fei"
}
],
"container-title-short":
"volume": "26",
"issue": "1",
"page": "617",
"DOI": "10.1186/
"PMID": "42249288",
"PMCID": "PMC13471583",
"ISSN": "1471-244X",
"publisher": "BMC",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
6,
5
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.3389/fpsyt.2026.1803658
- Comparative meta-analysis of task-related functional brain abnormalities in nonsuicidal self-injury and suicide attempt.Journal: Frontiers in psychiatryIn common: fMRI, 6 references
- [2] doi:10.31083/ap48336
- Brain Functional Network Alterations in Adolescents With Major Depressive Disorder and Suicidal Attempt: A Resting-State fMRI Study.Journal: Alpha psychiatryIn common: developmental, fMRI, 3 references
- [3] doi:10.1093/psyrad/kkag009 [code]
- Brain entropy as a biomarker of major depression in adolescents and young adults: insights from multimodal resting-state functional magentic resonance imaging.Journal: PsychoradiologyIn common: developmental, fMRI, 3 references
- [4] doi:10.1371/journal.pbio.3003666 [code]
- Emotion regulation success involves systematic gradient-based reconfigurations of large-scale activation patterns in the human brain.Journal: PLoS biologyIn common: ggplot2, tidyverse, fMRI, 1 reference
- [5] doi:10.1186/s12916-026-04957-y [code]
- Thyroid-stimulating hormone receptor mediates peripheral-central neuroimmune crosstalk in autoimmune thyroid diseases.Journal: BMC medicineIn common: ggplot2, tidyverse, fMRI, 1 reference
- [6] doi:10.1038/s41598-026-46182-w [code]
- How the influence of cingulate-lingual interactions on event segmentation changes from early to late adolescence.Journal: Scientific reportsIn common: ggplot2, tidyverse, developmental, 1 reference
- [7] doi:10.1162/imag.a.1308 [code]
- Functional connectome signature of general psychopathology in middle-aged and older adults: Evidence from multi-cohort, multi-ethnic analyses.Journal: Imaging neuroscience (Cambridge, Mass.)In common: ggplot2, tidyverse, fMRI, 1 reference
- [8] doi:10.1038/s41398-026-03965-z [code]
- Disentangling individual heterogeneity reveals robust network and molecular signatures of major depressive disorder with suicidal ideation.Journal: Translational psychiatryIn common: 2 references
- [9] doi:10.1038/s41398-026-04135-x
- Sad emotion processing-related theta oscillation patterns link suicide attempt to childhood trauma in depression: evidence from MEG.Journal: Translational psychiatryIn common: 2 references
- [10] doi:10.1192/bjp.2026.10664 [code]
- Early effects of a novel 5-HT&
lt;sub& gt;4& lt;/ sub& gt;R agonist (PF-04995274) and the SSRI citalopram on emotional cognition in unmedicated depression: RESTAND study. Journal: The British journal of psychiatry : the journal of mental scienceIn common: ggplot2, tidyverse, 1 reference
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 51 scripts, and 3 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:4e60a935b0fc5c62…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
