dataesr/scientific-paragraphs-categorization huggingface dataset:
After being washed twice in 64 mM NaCl, 24 mM Tris-HCl, 5 mM EDTA 0. 1% SDS, slides were covered for 30 s with 4=,6-diamidino-2-phenylindole (DAPI) (0. 125 g/ml in PBS), washed in PBS, and mounted in ProLong gold antifade reagent (Invitrogen). The fluorescent 16S rRNA-targeted oligonucleotide probes used in this study are listed in Table  S4  in the supplemental material. The probes were covalently linked to Alexa 555 or Alexa 488 at their 5= ends. The labeled nonEub338 probe was used as control, and no staining was observed. Slides were examined under an Olympus IX81 microscope equipped with a charge-coupled device (CCD) camera, and images were processed using the MetaVue software program or under a Widefield ApoTome inverted microscope (Zeiss) using the AxoVision software program. FISH images proposed for this paper did not allow us to spot bacteria inside all the colonic crypts.
Indeed, FISH images were acquired with a single-focus plan, and when the focus plan changed, bacteria disappeared in previously stained crypts and appeared in other crypts due to uneven localization of crypts in the blocks and possibly different localizations of the relevant bacteria in the height of the crypts (Fig. S6 ). Moreover, when crypts that contain bacteria are visualized and counted after FISH by varying the focus plan, bacteria are present in 70% of colonic crypts. Data deposition. The 16S rRNA gene sequence data have been deposited into the NCBI Sequence Read Archive database under BioProject accession number PRJNA507548.
ACKNOWLEDGMENTS We thank the study participants for their collaboration,  Nathalie Jolly  from the  Pôle Intégré de Recherche Clinique at the Institut Pasteur  for her help with the ethical statement of this study,  Laurence Motreff  for her help with Illumina library preparation and the MiSeq runs,  Katja Brunner  for editing the manuscript, and  Armand Sobhani  and  Jeremy Gaudez  for their contribution during their internship at the PMM unit during the course of their studies. This work was supported by the  European Research Council  (PJS advanced grant  339579-DECRYPT ), by the  Inserm  cross-cutting program Microbiota, and by a  Danone research grant. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. We have no conflict of interest to declare.
Introduction It is more and more common to identify simulation as the third pillar of science together with theory and experimentation. Parallel computers provide the computing power required by the more demanding of these simulations. The complexity and heterogeneity of these architectures do however force scientists to write complex code (using vectorization, parallelization, accelerator specific languages, etc. ). These optimizations heavily depend on the target machine, the code has to be adapted whenever it is ported to a new architecture. As a result, scientists have to become experts in the art of computer optimizations in addition to their own domain of expertise. It is very difficult in practice to maintain a code targeting multiple distinct architectures. One fundamental cause for this situation is the tight interleaving of two distinct concerns imposed by most programming models.
In this paper, we propose the Independent Kernel Scheduling (InKS) programming model to separate algorithm from optimization choices in HPC simulation codes. We define the InKS pia language used to express the algorithm of an application independently of its optimization. This separation aims to improve the readability and maintainability of codes while easing portability and new optimization expression. This approach is used for common optimizations while InKS o/C++ for less common optimizations. Such a program can then be optimized using InKS o/XMP and InKS o/loop , two domain-specific languages (DSLs) which ask for optimization information only. While these DSLs target some common optimizations, InKS o/C++ can be used for less common ones. This paper makes the following contributions: 1) it defines the InKS programming model and its platform-independent algorithmic language InKS pia ; 2) it proposes an implementation of InKS and tests the InKS pso approach with three optimization DSLs, InKS o/C++ , InKS o/loop and InKS o/XMP ; and 3) it evaluates the approach on the synthetic NAS parallel benchmarks  [3]  and on the 6D Vlasov-Poisson solving with a semi-Lagrangian method.
OpenMP  [5] , REPARA  [8]  or Kokkos  [4]  support common shared-memory parallelization patterns. For example, Kokkos offers multidimensional arrays and iterators for which efficient memory mappings and iteration orders are selected independently. UPC  [9]  or XMP  [17]  support the partitioned global address space paradigm. For example, in XMP, directives describe array distribution and communications between nodes. These tools offer gains of productivity when the optimization patterns they offer fit the requirements. The separation of optimizations from the main code base also eases porting between architectures. Even if expressed more compactly optimizations do however remain mixed with the algorithm. For instance, in OpenMP or REPARA, parallel concerns are specified on top of an existing code which already carries optimization choices, such as loops order.
A third approach pushes this further with tools that automate the optimization process. For example, PaRSEC  [12]  or StarPU  [1]  support the manytasks paradigm. In StarPU, the user expresses its code as a directed acyclic graph (DAG) of tasks with data dependencies that is automatically scheduled at runtime depending on the available resources. Other examples are SkeTo  [21]  or Lift  [19]  that offer algorithmic skeletons. Lift offers a limited set of parallel patterns whose combinations are automatically transformed by an optimizing compiler. Automating optimization improves productivity and clearly separate these optimizations which improves portability. The tools do however not cover the whole range of potential optimizations such as the choice of work granularity inside tasks in StarPU for example.
The InKS programming model This section first introduces the design of our InKS programming model, based on the use of distinct languages to express the algorithm and optimization choices separately. It then present a prototype implementation of the model composed of InKS pia , the algorithm language, and two InKS pso optimization The simulation algorithm consists in the set of values computed, the formula used to produce them as well as the simulation inputs and outputs. Optimization choices include all that is not the algorithm: e. g. the computing unit selected for each computation, their ordering, the memory location for each value, etc. Multiple optimization choices can differ in performance but simulation results depend on the algorithm only. The InKS approach is summarized in Figure  1.
The InKS pia language is used to express the algorithm with no concern for optimization choices. A compiler can automatically generate nonoptimized choices from an InKS pia specification, mostly for testing purposes. The InKS pso language is used to define optimizations only, while other information is gathered from the InKS pia code. Many versions of the optimization choices can be devised for a single algorithm; for example to optimize for multiple targets. We now describe the InKS pia language. and proposes three preliminary DSLs to validate strategies for the design of the InKS pso language: InKS o/XMP handles domain decomposition, InKS o/loop focuses on efficient loop nest and InKS o/C++ enables to use C++ and write arbitrary complex optimization. 3. 1 The InKS pia language. In InKS pia  [2]  values are stored in infinite multidimensional arrays based on dynamic single assignment (DSA, each coordinate can only be written once).
To do so, it can call the stencil3 and boundary kernels with a specific set of values for their integer parameters x and t (validity domain) and with Array as their logical array parameter, as expressed on line 15 and 16. A InKS pia code specifies a parameterized task graph (PTG)  [7]. This graph is encoded using the Polyhedron Model  [10]. It provides a compact representation of static control programs. This representation covers a large range of problems but imposes a few limitations. Mostly, all the problem parameters must be known at launch time, it does for example not support adaptive mesh or time-steps. It is still possible to express these concerns outside InKS pia and call the InKS implementation multiple times with different parameters. Once the algorithm is specified in InKS pia , the goal is to write the optimization choices meaning choosing a memory layout and a scheduling of the kernels.
Two approaches exist to produce these choices: the automatic compiler or InKS pso. All approaches rely on the Kernel file. This file is generated by the InKS pia compiler which translates the InKS pia kernels to C++ functions. The InKS pia compiler can produce generic optimization choices with a valid but non-optimized computations scheduling and memory allocations to execute them. Scheduling and memory layouts are computed using the Integer Set Library  [22]  and recent works on modular mapping in the polyhedron model  [14]. Arbitrarily complex versions of optimization choices can also be written manually in plain C++. These functions can be called from any ex- 1 kernel stencil3(x, t) : ( 2 double A(2) {in: (x-1:x+1, t-1) | out: (x, t)} 3 ) 4 #CODE(C) A(x, t+1) = 0. 5*A(x, t-1) + 0. 25*(A(x-1, t-1)+A(x+1, t-1)); #END 5 6 kernel boundary(x, t) : ( 7 double A(2) {in: (x, t-1) | out (x, t)} 8 ) 9 #CODE(C) A(x,t) = A(x, t-1); #END public kernel inks_stencil(X, T) : ( double Array(2) {in: (0:X, 0) | out: (0:X, T-1)} ) #CODE(INKS) stencil3 (1:X-1, 1:T) : (Array), boundary {(0, 1:T), (X-1, 1:T)} : (Array) #END Listing 1: 1D stencil computation on a 2D domain in InKS pia isting code whose language supports the C calling convention.
The compiler uses data dependencies from the InKS pia code to check the validity of the loops order and generate vectorization directives whenever possible.              ∂f (t, x, v) ∂t + v. ∇xf (t, x, v) -E(t, x). ∇vf (t, x, v) = 0 -∆φ(t, x) = 1 -ρ(t, x) E(t, x) = -∇φ(t, x) ρ(t, x) = f (t, x, v)dv.
Evaluation This section evaluates the InKS model on the NAS benchmark, a simple stencil code and the 6D Vlasov-Poisson problem. We have implemented the algorithm of the following programs using InKS pia. -4 sequential NAS kernels (IS, FT, EP and MG), C++ version  [11]  as reference; finite difference 3D heat resolution (7-point stencil) (  [15]  as reference); -6D Vlasov-Poisson, using Fortran/MPI Selalib  [16]  as reference. For the 3d heat equation solver, two strategies were implemented: one uses double buffering (Heat/Buf) and the other implements a cache oblivious strategy (Heat/Obl). To evaluate the InKS programming model on Vasov-Poisson 6D, we have conduct three experiments. The first one is based on optimization choices written in plain C++ and cover the whole simulation. The NAS CG kernel relies on indirections not expressible in the polyhedron model of InKS pia.
This proves, to some extent, that the separation of concerns is respected. Finding the right metric to evaluate the easiness of writing a code is a difficult question. As illustrated in Listings 1 and 5 however, algorithm expression in InKS pia is close to the most naive C implementation where loops are replaced by InKS validity domains with no worry for optimization. The polyhedron model used to represent the InKS pia code is compatible with a subset of the C language. Therefore, we could have choose the C as the algorithm language. However, the optimization process would have suffer from such a choice. Indeed, while InKS pia is designed to remove optimizations through the use of DSA and fine granularity kernels, C enables its users to reuse memory and specify a total scheduling. Although it is possible to analyze the code and to retrieve the DSA form and the partial order of the code using the polyhedron model, it will be complicated for optimization specialists to find which loops can be broke or which arrays can be expended from a C code.
Concerning the specification of optimization choices, it is close to their expression in C++. Table  2  compares the GNU complexity score of InKS optimizations to the reference code. InKS scores are slightly better, which indicates that our language is not more complex than C++. The difference comes from the extraction of the computational kernels, placed in the algorithm, which hides parts of the complexity. In addition, the use of InKS o/C++ to write optimizations let optimization specialists reuse their preexisting knowledge of this language. Similarly writing the InKS o/C++ version of optimization choices for the InKS pia version of Vlasov-Poisson 6D is close to the expression to the same optimization in Fortran, in the reference version. These considerations should not hide the fact that some information has to be specified both in the InKS pia and InKS o/C++ files with this approach leading to more code overall.
On contrary, InKS o/XMP and InKS o/loop enables the developer to specify optimization choices only while algorithmic information is extracted from InKS pia code. This is illustrated by Listing 2 presenting the InKS o/XMP 6D domain decomposition and the XMP result. Both are equivalent, but the InKS o/XMP expects only optimization choices parameters. Hence, one can test another memory layout, such as a different dimension ordering, by changing only a few parameters, while multiple directives must be modified in XMP. Moreover, using the domain decomposition directive offered by InKS o/XMP and XMP code, one can derive a simple parallel code from a InKS pia algorithm, as we did with the 3D Heat solver. Note that since InKS o/XMP is a wrapper for XMP using InKS pia to retrieve some information, it is usable in any codes that can be expressed using InKS pia and optimized with XMP.
Regarding performance, the InKS approach makes it possible to express optimizations that do not change the algorithm. Optimizations of the four NAS parallel benchmarks and 3D heat equation solver in InKS were trivial to implement and their performance match or improve upon the reference as presented in Table  2. Investigation have shown that Intel ICC 18 does not vectorize properly the reference versions of MG and FT. The use of the Intel ivdep directive as done on the InKS versions leads to slightly better performance. For the full Vlasov-Poisson 6D problem, InKS pia and C++ enable us to implement the same complex optimization strategies written in the reference version. Therefore, our implementation match the reference in terms of performance, as shown on Table  2. For the v 1 advection, both the InKS o/C++ and InKS o/loop optimizations of the InKS code achieve performance similar to the reference as shown in Table  2.
InKS o/loop offers very limited option, making it unusable with complex loops such as the one in the 3D heat solver optimized using the cache-oblivious strategy. Similarly, loop nests calling multiple InKS pia computational kernels can not be expressed Although we want to address some issues in the InKS pia language, InKS o/loop and InKS o/XMP were preliminary tests before a real InKS pso implementation. The goal was to propose a way to express optimizations and retrieving the algorithmic information in InKS pia code. These two DSLs enables us to highlight a set of guidelines for the full definition of the InKS pso language. First, this definition must be based on the concepts that InKS pso must express, i. e. the optimizations related to memory (allocations and layouts) and to computations scheduling.
Materials and methods Seventeen paediatric HIV cohorts from 15 countries contributed individual level data to the European Pregnancy and Paediatric  HIV Cohort Collaboration (EPPICC)  between September 2016 and March 2017 using a modified HICDEP protocol (www. hicdep. org). Pseudo-anonymized data on all children at participating clinics were included. All cohorts received approval from local and/or national ethical committees. Five cohorts from three countries (Italy, Ukraine and three from Russia) where height data were not routinely collected (each with <20% of children having a height measurement at ART initiation) were excluded. Children from the remaining 12 cohorts were eligible provided they initiated ART with at least two nucleoside reverse transcriptase inhibitors (NRTIs) along with a nonnucleoside reverse transcriptase inhibitor (NNRTI) or boosted protease inhibitor (bPI); were 1-10 years old at ART initiation; not known to have horizontally acquired HIV; and aged at least 8 years at the end of follow-up.
We excluded children initiating ART after age 11 years. For those initiating ART at an older age, it would be difficult to distinguish between changes in growth occurring as a result of a pubertal growth spurt and as a result of initiating ART. Children with no height recorded at ART initiation and/or after 8 years of age were excluded. Height measurements were censored at the earliest of 19th birthday, transfer to adult care, death or loss to follow-up. Height and BMI were converted to heightfor-age z-scores (HAZ) and BMI-for-age z-scores (zBMI), using the WHO Growth Standard for measurements when children were aged under 5 years  [15]  and the WHO 2007 growth reference when aged 5-18 years  [15, 16]. Data checks were carried out to detect implausible changes in height and/or HAZ. HAZ was categorized according to WHO definitions as less than À3 SD (severe stunting); À3 to less than À2 SD (stunting); À2 to less than À1 SD; and at least À1 SD.
Differences in the timing of the growth spurt estimated using SITAR models have been shown to be highly correlated with APHV  [18]. y it ¼ a i þ h t À All height measurements (in cm) from age 8 (or start of ART if after 8th birthday) to 18 years were included. Age and HAZ at ART initiation were added to the SITAR model as fixed effects that could influence the mean of a, b and c. Thus, the estimated random effects a i , b i and c i represent the individual differences in average height, timing and shape of the growth spurt not associated with differences in age or height at ART initiation. Models were fitted separately to boys and girls using a spline with 6 degrees of freedom. Log transformations of both age and height  [18]  were considered, but the untransformed data provided the best fit.
Three sensitivity analyses were carried out: in the first separate models were fitted for children from Thailand and elsewhere; in the second Thai-specific growth reference data were used for Thai children  [21] ; and in the third children starting ART after their eighth birthday were excluded. Analyses were carried out using Stata statistical software release 15 (StataCorp LP, College Station, Texas, USA) and the SITAR package  [22]  in R v3. 3. 3 (R Core Team, R Foundation for Statistical Computing, Vienna, Austria).
Had ART initiation been delayed in those who started at a young age, the observed delay in the growth spurt associated with starting ART at an older age may have been less in this group who would also have been more likely to have access to healthcare and regular monitoring. Nonetheless, the findings provide insight in to growth patterns among children presenting to care and starting ART at different ages. Inclusion criteria applied also lead to the potential for selection bias. We excluded children with missing height data. Multiple imputation was not possible, as other data, such as immunological and virological status, at ART initiation, likely to be strong predictors of baseline height were missing in more than half of the children with missing heights. We excluded young people from Russia, Ukraine and Italy where height data were not routinely recorded.
Acknowledgements We thank all the patients for their participation in these cohorts, and the staff members who cared for them. Author contributors: Writing Group (consisting of Project Team first (ordered alphabetically by name except for the first and last author), and also other Writing Group members (ordered alphabetically by cohort name)): Project  Team: Siobhan Crichton (EPPICC statistician ),  Eric Belfrage  ( Karolinska Institutet and University Hospital, Stockholm, Sweden ),  Intira Jeanne Collins (Collaborative HIV Paediatric Study (CHIPS), UK and Ireland), Katja Doerholt (Collaborative HIV Paediatric Study (CHIPS) ,  UK and Ireland) ,  Ali Judd  (co-lead of EPPICC),  Sophie Le Coeur (Thailand Program for HIV Prevention and Treatment (PHPT) Study Group, Thailand ),  Vana Spoulou  ( Greece Cohort, Greece ),  Ruth Goodall  (EPPICC senior statistician).
Data management team: Kanchana Than-in-at,  Nirattiya Jaisieng ,  Rapeepan Suaysod ,  Sanuphong Chailoet ,  Naritsara Naratee , and  Suttipong Kawilapat. UK & Ireland: Collaborative HIV Paediatric Study (CHIPS) : CHIPS is funded by the  NHS (London Specialised Commissioning Group ) and has received additional support from  Bristol-Myers Squibb ,  Boehringer Ingelheim ,  GlaxoSmithKline ,  Roche ,  Abbott , and  Gilead Sciences. The  MRC Clinical Trials Unit  at  UCL  is supported by the  Medical Research Council  (https://www. mrc. ac. uk) programme number  MC_UU_12023/26. CHIPS Steering Committee:  Hermione Lyall  (chair),  Alasdair Bamford ,  Karina Butler ,  Katja Doerholt ,  Conor Doherty ,  Caroline Foster ,  Kate Francis ,  Ian Harrison ,  Julia Kenny ,  Nigel Klein ,  Gillian Letting ,  Paddy McMaster ,  Fungai Murau ,  Edith Nsangi ,  Helen Peters ,  Katia Prime ,  Andrew Riordan ,  Fiona Shackley ,  Delane Shingadia ,  Sharon Storey ,  Claire Thorne ,  Gareth Tudor-Williams ,  Anna Turkova ,  Steve Welch.
Age-dependent capture-recapture models and unequal time intervals. Estimates of survival probabilities in natural populations can be obtained through capture-mark-recapture (CMR) models. However, when capture sessions are unevenly spaced, age-dependent models can lead to erroneous estimates of survival when individuals change age class during the time interval between two capture occasions. We propose a solution to correct for the mismatch between time intervals and age class duration in two age class models. The solution can be implemented in different ways. The first consists of adding dummy occasions to the encounter histories and fixing the corresponding recapture probabilities at zero. The second makes use of the log-link function available in some CMR software (e. g. program MARK). We used simulated and real data to show that the proposed solution delivers unbiased estimates of age-dependent survival probabilities.
g. , years or months, but can also be decimal numbers; for example, the survival parameter over an eighteen-month interval can be written in terms of yearly survival as ϕ 1. 5 (l = 1. 5). The freely available software for CMR analyses, such as MARK (White and  Burnham, 1999) , RMARK  (Laake, 2013)  or ESURGE  (Choquet et al. , 2009) , allows users to specify the vector of l j values. However, unequal time intervals pose a problem in age-dependent models because, contrarily to intervals between occasions, the age classes always retain the same length. As a consequence, an individual may 'move' through age classes during an interval of length l j and the survival parameter can no longer be written as ϕ lj because the instantaneous survival probability changes with the age classes spanned by the interval of length l j.