poster.tex 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. \input{poster/header.tex}
  2. \title{
  3. \href{https://github.com/con/opfvta-reexecution}{
  4. \Large github.com/con/opfvta-reexecution
  5. }\\\vspace{.15em}
  6. Neuroimaging Article Reexecution and Reproduction Assesment System
  7. }
  8. \author{
  9. Horea-Ioan Ioanas$^{1}$,
  10. Austin Macdonald$^{1}$,
  11. Yaroslav O. Halchenko$^{1}$
  12. }
  13. \institute[CON]{$^{1}$Center for Open Neuroscience, Department of Psychological and Brain Sciences, Dartmouth College}
  14. \date{\today}
  15. \newlength{\columnheight}
  16. \setlength{\columnheight}{0.881\textheight}
  17. \begin{document}
  18. \begin{frame}
  19. \begin{columns}
  20. \begin{column}{.42\textwidth}
  21. \begin{beamercolorbox}[center]{postercolumn}
  22. \begin{minipage}{.98\textwidth} % tweaks the width, makes a new \textwidth
  23. \parbox[t][\columnheight]{\textwidth}{ % must be some better way to set the the height, width and textwidth simultaneously
  24. \begin{myblock}{Abstract}
  25. \input{common/abstract.tex}
  26. \end{myblock}\vfill
  27. \vspace{-0.3em}
  28. \begin{myblock}{Workflow}
  29. \vspace{0.5em}
  30. \begin{figure}
  31. \includegraphics[width=0.99\textwidth]{figs/workflow.pdf}
  32. \caption{
  33. The reexecution system encompasses both the original article (first target), and the “meta-article” publishing materials (article manuscript, as well as this poster), the latter of which takes user- and developer-submitted reexecution results as an input for the reproduction quality assessment.
  34. }
  35. \end{figure}
  36. \end{myblock}\vfill
  37. \vspace{-0.3em}
  38. \begin{myblock}{Topoplogy}
  39. \vspace{0.5em}
  40. \begin{figure}
  41. \captionsetup{width=.9\linewidth}
  42. \includegraphics[width=0.99\textwidth]{figs/topology.pdf}
  43. \caption{
  44. The reexecution workflow is supported by a resource topology in which reexecution code (first box), “meta-article” code (second box), reexecution resources (third box), and the reexecution output record (last box) are separated at the top directory level.
  45. The figure depicts direcotry trees via nested boxes, with external resources automatically fetched as via the reexecution code being highlighted in orange.
  46. The green highlighted article represents a sample reexecution output, and the blue hignlighted article represents the manuscript, an analogous output to this poster generated in the same directory.
  47. }
  48. \label{fig:workflow}
  49. \end{figure}
  50. \end{myblock}\vfill
  51. \begin{myblock}{Best Practice Guidelines}
  52. \vspace{0.5em}
  53. As part of setting up an encompassing reexecution system, we formulate a number of best practices, including:
  54. \begin{itemize}
  55. \item \textbf{Errors should be fatal more often than not.}\\
  56. \colorbox{elg}{\texttt{set -eu}}, prepended to POSIX shell scripts, will ensure that workflows fail when a subcommand does, or when an encountered variable is undefined.
  57. %\item \textbf{Avoid assuming or hard-coding absolute paths to resources.}\\
  58. \item \textbf{Avoid assuming a directory context for execution.}\\
  59. \colorbox{elg}{\texttt{cd \textquotedbl\$(dirname \textquotedbl\$0\textquotedbl)\textquotedbl}}, prepended to POSIX shell scripts, will ensure that in complex workflows scripts can operate relative to their location directory context and not the execution context.
  60. \item \textbf{Workflow granularity greatly benefits efficiency.}\\
  61. While the underlying execution system of the target article, RepSeP \cite{repsep} separates data analysis into two distinct (voxel-space “low iteration” and top-level “high iteration”) steps, further granularity can benefit debugging, particularly in container environments.
  62. %\item Container image size should be kept small.
  63. \item \textbf{Resources should be bundled into a DataLad superdataset.}\\
  64. Resource bundling, with usage of submodules for external resources (as seen in \cref{fig:workflow}) allows management of required resources via Git and associated technologies, such as DataLad \cite{datalad} — this is known as the YODA principle \cite{yoda}.
  65. %\item Containers should fit the scope of the underlying workflow steps.
  66. %\item Do not write debug-relevant data inside the container
  67. %\item Parameterize scratch directories
  68. \item \textbf{Dependency versions inside container environments should be frozen as soon as feasible.}\\
  69. This is best accomplished via a package manager which uses version tracking for its software provision index; in Gentoo Linux, used here on account of broad provision of neuroscience packages \cite{ng}, this can be done via: \colorbox{elg}{\texttt{cd /.../myrepo; git fetch origin \$myhash; git checkout \$myhash}}.
  70. \end{itemize}
  71. \end{myblock}\vfill
  72. \begin{myblock}{References}
  73. \vspace{0.5em}
  74. \begin{minipage}{.3\textwidth}
  75. \begin{figure}
  76. \includegraphics[width=0.9\textwidth]{figs/qr.eps}
  77. \end{figure}
  78. \end{minipage}
  79. \begin{minipage}{.69\textwidth}
  80. \scriptsize
  81. \bibliographystyle{ieeetr}
  82. \bibliography{bibliography}
  83. \end{minipage}
  84. \end{myblock}\vfill
  85. }\end{minipage}\end{beamercolorbox}
  86. \end{column}
  87. \begin{column}{.59\textwidth}
  88. \begin{beamercolorbox}[center]{postercolumn}
  89. \begin{minipage}{.98\textwidth} % tweaks the width, makes a new \textwidth
  90. \parbox[t][\columnheight]{\textwidth}{ % must be some better way to set the the height, width and textwidth simultaneously
  91. \begin{myblock}{Reproduction Assessment Showcase}
  92. \vspace{-0.45em}
  93. \begin{minipage}{.58\textwidth}
  94. \begin{figure}
  95. \includegraphics[width=0.95\textwidth]{figs/diff_pages.pdf}
  96. \vspace{0.2em}
  97. \caption{
  98. Page-wise pixel difference comparison across multiple reexecutions in different environments indicates consistency of variability in both extent and location.
  99. }
  100. \label{fig:ras_s}
  101. \end{figure}
  102. \begin{figure}
  103. \fbox{\includegraphics[width=0.9\textwidth]{figs/diff_fig.pdf}}
  104. \vspace{0.2em}
  105. \caption{
  106. One notable source of variability are data plots, where it can be observed that even as data points vary to an almost full extent, statistical summaries can remain constant.
  107. }
  108. \end{figure}
  109. \end{minipage}
  110. \hfill
  111. \begin{minipage}{.38\textwidth}
  112. \vspace{1.3em}
  113. \begin{figure}
  114. \fbox{\includegraphics[width=0.9\textwidth]{figs/diff_text.pdf}}
  115. \vspace{0.5em}
  116. \caption{
  117. Text differences in statistical summaries account for a small proportion of pixel differences, but can remain well-localized instead of spreading via test shift if statistical summaries are appropriately trimmed down to a constant length.
  118. }
  119. \end{figure}
  120. \begin{figure}
  121. \fbox{\includegraphics[width=0.9\textwidth]{figs/diff_date.pdf}}
  122. \vspace{0.5em}
  123. \caption{
  124. A good litmus test for monitoring differences (accounting for the baseline difference in \cref{fig:ras_s}) is the datestamp of the reexecution, which should always be expected to differ from the manuscript.
  125. }
  126. \end{figure}
  127. \end{minipage}
  128. \end{myblock}\vfill
  129. \begin{myblock}{Full Document Comparison}
  130. \vspace{0.25em}
  131. Reproduction assessment is based on \textit{full} document “diffs”.
  132. The following figures are excerpts, with tinted highlighting (blue for the original manuscript, and orange for reexecution result).
  133. First row pages exemplify inline statistical differences and second row pages exemplify figure differences.
  134. Differing sections are highlighted with a red left-hand marking.\\
  135. \vspace{0.75em}
  136. \fbox{\includegraphics[page=4,scale=1.04]{data/marked_paperdiff_singularity_20230908122618.pdf}}
  137. \fbox{\includegraphics[page=5,scale=1.04]{data/marked_paperdiff_singularity_20230908122618.pdf}}
  138. \\
  139. \vspace{.3em}
  140. \fbox{\includegraphics[page=13,scale=1.04]{data/marked_paperdiff_singularity_20230908122618.pdf}}
  141. \fbox{\includegraphics[page=14,scale=1.04]{data/marked_paperdiff_singularity_20230908122618.pdf}}
  142. \end{myblock}\vfill
  143. }\end{minipage}\end{beamercolorbox}
  144. \end{column}
  145. \end{columns}
  146. \end{frame}
  147. \end{document}