dataesr/scientific-paragraphs-categorization huggingface dataset:
(2018) ], and JdF olivine [NCBI BioProject number PRJNA264811  (Smith et al. , 2019) ]. Metagenomes were assembled into contigs and binned into metagenome-assembled 1 https://github. com/Arkadiy-Garber/taxonsluice genomes (MAGs) following a pipeline described in the Supplementary Information. To link functional potential of reconstructed MAGs to our FLOCS biofilms, 16S rRNA gene amplicons generated from biofilms were queried against the subset of MAGs containing full-length or near full-length 16S rRNA genes using BLASTn v2. 2. 30 +  (Altschul et al. , 1990) , with the following parameters: -qcov_hsp_perc 0. 9 -perc_identity 99. 0. Crustal fluid MAGs with 16S rRNA genes meeting this alignment threshold were considered "biofilm-linked" (i. e. , they are hypothesized to represent planktonic groups, or closest relatives, that transitioned from planktonic to biofilm lifestyles, see Figure  2 ).
MAGs with 16S rRNA genes with highly variable gene coverage profiles were excluded from all downstream analyses. MAGs were annotated using GhostKOALA  (Kanehisa et al. , 2016b). KEGG  (Kanehisa et al. , 2016a)  assignments for each set of MAGs (biofilmlinked vs. planktonic) were normalized to total number of predicted ORFs and the resulting gene counts compared. For estimation of metabolic potential, a library of custom and publically available  (Anantharaman et al. , 2016)  hidden Markov models (HMMs) was queried against each set of MAGs. The HMM library and associated scripts are available in GitHub: https://github. com/Arkadiy-Garber/taxonsluice/tree/ master/custom_scripts_and_libs.
Functional Analyses of Crust-Attached Biofilm Versus Crustal Fluid Plankton To assess possible functional differences between rock-attached biofilms versus the planktonic phase in the warm and anoxic JdF crustal subsurface, we compared our biofilm amplicon dataset to published JdF crustal fluid metagenomic libraries  (Jungbluth et al. , 2017a)  through amplicon-based recruitment. A total of 79 metagenome assembled genomes (MAGs) with completeness levels ranging from 99 to 10% were reconstructed from the JdF crustal fluid metagenome assemblies (see Supplementary File 2 for stats of all MAGs). Twenty three of these MAGs contained Bacterial 16S rRNA genes that overlapped with the region amplified by our amplicon primers. Assemblies of 16S rRNA genes from MAGs were validated by read coverage across the length of each gene and in comparison to the contig in which it is encoded.
We did a similar comparison of our amplicon dataset to a metagenome that was recently published  (Smith et al. , 2019)  from a biofilm formed on olivine in this same habitat. In our reassembly of this JdF olivine metagenome, we detected eight metagenome bins with 16S rRNA genes with matches to our biofilm OTUs (Supplementary Table  S4 ). Of these eight, two of them (OTUs 50 and 120) were also detected in the JdF crustal fluid metagenome, and one of them (OTU 122) was detected in a metagenome from NP crustal fluids. Based on the partitioning of the 23 MAGs from JdF crustal fluid metagenomes into biofilm or planktonic categories, we examined the relative abundance of functional genes in each metagenome set (see Supplementary File S2 for the full analysis). For major metabolic pathways, there are only minor differences in the relative abundance for annotations related to carbon fixation, nitrogen cycling and energy metabolism.
, 2011a) , twisted iron oxyhydroxide stalk morphotypes (previously attributed to iron oxidizing bacteria) were not observed. In the previous study, intrusion of oxygen-rich bottom seawater into the subsurface environment, due to leaky borehole conditions, was hypothesized to favor microaerophilic iron oxidation. Temporal records of dissolved ions do not indicate oxygen intrusion in these new experiments (Supplementary Figure  S2 ), explaining the absence of the twisted-stalk morphotype. The origin of the morphotypes in the current experiments cannot be explained by this dataset alone.
Assessing Possible Sequence Contamination in Low Biomass Subsurface Samples Low biomass in this environment is a common issue  (Salter et al. , 2014; Morono and Inagaki, 2016; Labonte et al. , 2017; Sheik et al. , 2018) ; thus, our 16S RNA gene sequence datasets needed to be rigorously evaluated for possible sequence contamination. Having sequenced multiple DNA extraction blanks, we were able to screen our libraries for spurious sequences following the philosophy espoused in a recent study of other low biomass subsurface samples  (Sheik et al. , 2018). This led to the development of a new analysis pipeline -TaxonSluice -to enable automated and reproducible screening of amplicon datasets with corresponding sequence blanks. Applying the TaxonSluice algorithm to our dataset culled 30. 4% percent of highquality sequences from incubation samples as potential contaminants (Supplementary Table  S3 ) which are excluded in the ecological analysis below.
Overall, we address a major gap in deep biosphere ecology by reporting the community drivers and genetic potential for geomicrobiological activity localized to biofilms attached to subseafloor crust, the largest contiguous habitat on Earth. As estimates of global biomass in ocean crust are beginning to emerge  (Heberling et al. , 2010; Bar-On et al. , 2018) , we emphasize that biomass partitioning into plankton and biofilm in this habitat, each community type existing at a different cellular density, is necessary for overall estimate robustness and proper ecological interpretation. (C-DEBI, funded by NSF award OCE-0939564). This work was supported by grants from the NSF  (OCE-1030061 and OCE-1260548 to CW and OCE-1536539, OCE-1737017, and OCE-1233226 to BO) , the National Aeronautics and Space Administration (NASA) Astrobiology Institute (NNA13AA92A subaward to BO), C-DEBI, and the International Ocean Discovery Program.
ACKNOWLEDGMENTS This manuscript is dedicated to the memory of our friend, colleague, and mentor  Dr. Katrina J. Edwards , who inspired these experiments. We thank the science parties and crews of IODP Expedition 327 and cruises  AT26-03  and  AT26-18  on the  R/V Atlantis  for their support in the deployment and recovery of the FLOCS experiments, in particular,  Andrew Fisher  as chief scientist of IODP Expedition 327 and  AT26-03. We also thank  Peter Countway  for providing a 16S rRNA gene qPCR standard,  Steven D'Hondt ,  Sean McAllister ,  Michael D. Lee ,  Jean-Paul Baquiran , and  Steffen L. Jørgensen  for providing support for this project, and  Josh Wood  of the  Deep Carbon Observatory  for assistance with figure preparation.
Explaining the evolution of animals requires ecological, developmental, paleontological, and phylogenetic considerations because organismal traits are affected by complex evolutionary processes. Modeling a plurality of processes, operating at distinct time-scales on potentially interdependent traits, can benefit from approaches that are complementary treatments to phylogenetics. Here, we developed an inclusive network approach, implemented in the command line software ComponentGrapher, and analyzed trait cooccurrence of rhinocerotoid mammals. We identified stable, unstable, and pivotal traits, as well as traits contributing to complexes, that may follow to a common developmental regulation, that point to an early implementation of the postcranial Bauplan among rhinocerotoids. Strikingly, most identified traits are highly dissociable, used repeatedly in distinct combinations and in different taxa, which usually do not form clades.
Constitution of the Data Set We used a matrix derived from  (Antoine 2002; Antoine et al. 2003 Antoine et al. , 2010;; Boada-Saña et al. 2008; Becker et al. 2013) , including 120 morpho-anatomical characters scored in 15 extinct and six living ceratomorph mammal species (tapirs, rhinoceroses, and their kin), ranging from the last 50 Myr (supplementary data sets S1 and S2, Supplementary Material online, deposited on http://datadryad. org/review? doi=doi:10. 5061/dryad. f8886). There was only one missing character state for one taxa in that matrix, otherwise fully documented for a taxonomic sample gathering all suprageneric clades usually recognized within Rhinocerotidae  (Becker et al. 2013).
Construction of the Trait Network We used the above matrix to construct and analyze the trait network (see main text) with our command line program available at: https://github. com/etiennelord/Component Grapher/releases Unlike us, some users might prefer restricting traits network analyses to traits present in more than one host, since traits found in a single hosts are expected to generate trivial complexes, and would correspond to autapomorphies in phylogenetic analyses, and are usually considered as noninformative in that context.
New Approach We introduce here a new approach and software ComponentGrapher, for the construction and analysis of trait networks. We applied this program to a well-established palaeontological-neontological data set, focusing on Cenozoic rhinoceroses  (Antoine 2002; Antoine et al. 2003). We observed a substantial general dissociability of traits during evolution for these organisms, and identified pivotal and relatively stable traits forming the structural backbone of the rhinocerotoid morphological organization. The general observation that many traits are used repeatedly in distinct combinations in different taxa, which usually do not form a clade provides a novel incentive to further couple developmental and palaeontological studies.
2019). Conversely, no complex characterizes the early diverging sister group to Rhinocerotinae, that is, Elasmotheriinae. At first sight, all complexes located at internal nodes involve closely related taxa: that is, complexes 2 (twohorned rhinos), 5 (grazers among two-horned rhinos), and 7 (Aceratheriini). In other words, they may be good indicators of strongly supported morphological clusters. Moreover, one complex concerns the nonrhinocerotid taxa of the rhino data set, that is, the outgroups (the extant Brazilian tapir Tapirus terrestris and the early diverging hyrachyid Hyrachyus eximius) gathering tooth and hind limb characters. All of these complexes are small, associating at most four traits. Collectively, complexes encompass a total of 22 traits, that is, <18% of all traits. Thus, they represent only limited portions of these organisms.
Then, in a single analysis, ComponentGrapher computes all relevant indices on all types of networks. It handles type I, type II, type III, and type IV networks, separately, as well as the multiplex network, even though some of these graphs (type I, III, and IV) are undirected networks, while the others (the multiplex and type II networks) are directed. Moreover, ComponentGrapher searches for all relevant motifs in these diverse networks, in particular type D triplets, which are not implemented elsewhere. Furthermore, ComponentGrapher implements two kinds of statistical tests of the significance values of these various network measures, including a phylogenetically informed test, which no other software/network tools produces. iv) Finally, ComponentGrapher organizes these topological indices into structured outfiles, so that any biologist owning a nexus or phylip format file can run a full trait network analysis even without being a skilled programmer, whereas a skilled programmer can even go one step further and exploit ComponentGrapher outfiles, for example, to compare the taxa distribution associated with traits associations with a reference phylogeny, when such a phylogeny is known.
Likewise, in trait network analyses, behavioral traits could be included together with morphological traits to capture relationships spanning over the whole organismal phenotype. Such an approach does not diminish the importance of phylogenetic reconstruction, but rather stresses the need for further integration of network-thinking into evolutionary analyses  (Wilkins 2007) , because it has the potential to enhance the retrodictive dimension of evolutionary biology. Moreover, phylogenetic inferences could enhance the construction of trait networks. For example, the distribution of inferred ancestral character states along a species tree (using BEAST,  Bouckaert et al. 2014; or MrBAYES, Ronquist and Huelsenbeck 2003 , for example) could provide valuable input data for a trait network analysis.
Acknowledgments We thank  P. Janvier ,  A de Ricql  es, and  J. O. McInerney  for critical reading of the MS. We also thank our beta tester G. Bernard. E. L. was supported by a  Natural Sciences and Engineering Research Council (NSERC)  scholarship. V. M. and F. J. L. , respectively, hold  NSERC  discovery grants  OGP0155251  and  OGP249644. J. S. P. , E. C. and E. B. were funded by the  European Research Council  under the European Community's  Seventh Framework Program  (FP7/ 2007-2013 Grant Agreement #  615274 ).
Such implementations are, however, expensive. When such high accuracy is not needed, we can save significant resources by replacing elementary function calls by coarser approximations. Unfortunately, existing automated approaches  [34, 1]  do not provide sound accuracy guarantees. On the other hand, tools like Metalibm  [3]  provide a procedure for approximating individual elementary functions by polynomials with rigorous accuracy guarantees. They, however, do not consider entire programs and leave the selection of its parameters to the user, limiting its usability mostly to experts. We present an approach and a tool which leverages an existing whole-program error analysis and Metalibm's elementary function approximator to provide both sound whole-program guarantees as well as efficient implementations for programs with elementary function calls.
These performance improvements incur overall whole-program errors which are only 2-3 magnitudes larger than double-precision implementations using libm functions and are well below the errors of single-precision implementations. Contributions In summary, in this paper we present the first approximation technique for elementary functions with sound wholeprogram error guarantees, Although this equation is relatively simple, it still presents an opportunity for performance savings, especially when it is called often, e. g. during the motion of a robotics arm. Based on a rough estimate (see Table  1 ), the two elementary functions take approximately 34% of the overall running time. Assuming library implementations for sine, our static analysis determines the worst-case absolute roundoff error of the result to be 3.
Standard libm and its Limitations An inherent part of scientific and financial computations are mathematical functions. The standard mathematical library containing elementary (exp, log, sin, cos and their inverses, etc) and special (power x y , erf, Γ , etc) functions is libm. This library is fully specified in the C language standard (ISO/IEC 9899:2011) though the recent 2008 revision of the IEEE 754 floating-point standard has also attempted standardization. There are various different implementations of libm that depend on the operating system and programming language. Here when referring to libm we mean the GNU libc 3  implementation. GNU libm provides a reference implementation of basic mathematical functions targeting double and single precision inputs. In scientific computing the performance of libm is of crucial importance.
Elementary Function Approximation in Metalibm Adapting elementary function codes for different domains, accuracy, performance metrics (e. g. throughput vs. latency) is highly non-trivial and error prone. The state of the art solution for the automation of libm development is the Metalibm tool 4   [3]. It is able to quickly generate code for elementary functions and guarantee that the final accuracy is bounded by a user-given value. The produced code obviously cannot compete with handwritten manually-optimized codes of standard libm (for target errors close to correct rounding). However, the approximations are available quickly and automatically. Metalibm is a pushbutton tool that tries to generate code, on a given domain and for a given accuracy, for evaluation of an arbitrary univariate function with continuous derivatives up to some order.
There is no dictionary with a fixed set of functions, the target function is specified as a mathematical expression instead. Metalibm currently handles exponential, logarithm, cosine, sine and tangent and their inverses, and hyperbolic cosine, sine and tangents, as well as their inverses. There has been some work towards support of special functions, such as Bessel  [24]. Unfortunately, the bivariate functions are out of reach at the moment. As backend, Metalibm uses the Sollya scripting language/tool  [4]. Among others, Sollya provides state-of-the-art polynomial approximations  [2]. To guarantee the bounds on evaluation errors, Metalibm uses the Gappa proof assistant 5   [12]  which uses a very similar error analysis as Daisy. Parameter space The goal of Metalibm is to provide more choices in implementations of metamathematical functions.
High-level Algorithm Metalibm generates approximations in the following steps: argument reduction: First, Metalibm tries to detect algebraic properties of functions, such as parity or periodicity, in order to exploit them for an argument reduction. domain splitting: It may happen that even on possibly reduced argument approximation with one polynomial of maximum degree d max is impossible. Then, Metalibm splits the domains and performs a piece-wise polynomial approximation. polynomial approximation: Finally, Metalibm computes the polynomial approximation(s) for the reduced domain (or subdomains for splitting) and generates Gappa proofs to account for the approximation and evaluation errors due to floating-point arithmetic. Polynomials are evaluated using Horner's scheme. At the end, Metalibm produces efficient C code implementing the target function.
Reconstruction The goal of reconstruction is to provide mapping between the value of function f on the reduced argument or a subdomain to its value on the initial larger domain. When an argument was reduced using algebraic properties, the reconstruction is just an application of the inverse transformation. In case of domain splitting, reconstruction is more complicated. The common way for arbitrary splitting is just a series of if-else statements. However, this approach prevents automatic vectorization of generated code and Metalibm proposes a more versatile solution. It computes a special polynomial which, when evaluated on the function's argument, gives the index of the subdomain to be used. While being elegant, for scalar implementations this approach yields additional polynomial evaluation.
Overall Structure We implement our approach inside the Daisy framework  [8]. Daisy is built up in phases which provide different functionalities. We re-use the phases related to frontend and backend handling and roundoff error analysis and add two new ones to support automated elementary function approximation. Figure  1  shows an overview of the overall structure. After parsing the input file, Daisy decomposes the abstract syntax tree (AST) of the program we want to approximate such that each elementary function call is assigned to a fresh local variable. This transformation eases the later replacement of the elementary functions with an approximation. As the next step, Daisy runs a roundoff error analysis on the entire program, assuming a libm implementation of elementary functions. This analysis computes a real-valued range, and a worst-case absolute roundoff error bound for each subexpression in the AST.
In particular, it computes the ranges and errors of the arguments of elementary function calls, which we will use for approximation in the step. Now we can perform approximation of elementary functions. For this, Daisy calls Metalibm for each elementary function which was assigned to a local variable. If Metalibm successfully computes an approximation, it generates a C implementation. Daisy extracts relevant information about the generated approximation (name of file, name of function, etc. ) and stores it in the AST. We discuss the details of calling Metalibm in the following section. Next, Daisy performs another roundoff error analysis, this time taking into account the new approximation's precise roundoff error bound reported by Metalibm. Finally, Daisy generates C code for the program itself, as well as all necessary headers to link with the approximation generated by Metalibm.
Furthermore, Daisy (and all other similar tools) measures roundoff in terms of absolute errors, whereas Metalibm takes as input specification relative errors, hence a translation is needed. Thus, Daisy needs to distribute a total absolute error specified by the user among the potentially several elementary function calls, and the remaining arithmetic operations. Let us denote the total absolute error by τ = |f (x) -f (x)|, where f denotes the real-valued specification of the program, and f the final finite-precision implementation with elementary function approximations. We will denote the real-valued implementation of the program but with elementary function calls replaced by polynomial approximations by f. Daisy conceptually decomposes the total error budget into an approximation and a roundoff error part: |f (x) -f (x)| ≤ |f (x) -f (x)| + | f (x) -f (x)| (2) The first part (τ approx = |f (x) -f (x)|) captures the error due to the elementary function approximations, assuming the arithmetic part of the program is still real-valued, i.
We estimate the error propagation by symbolically computing the derivative w. r. (x) -f (x)| = |f (x) -f1 (x)| + | f1 (x) -f2 (x)| + | f2 (x) -f (x)| where f1 denotes the program with one elementary call replaced by an approximation and f2 with both calls replaced. The error distribution assigns error budgets τ 1 and τ 2 to the first and second term, i. e. to the first and second elementary function call, respectively. These error budgets represent the total error due to the elementary function call at the end of the program. For calling Metalibm, however, we need the local error at the function call site. Again, due to error propagation, these two errors can differ significantly, and may lead to overall errors which exceed the error bound specified by the user. We solve this issue by computing an approximation of the local error from the global error budget τ i.
In addition to that, the Metalibm-generated code often wins in accuracy, over standard consecutive calls to the libm, thus provides a larger buffer to be traded for performance. Finally, Metalibm can overcome undesired effects, e. g. cancellation at zero for the cos(x) -1 above. This is a highly application specific parameter, and we thus leave it under user control. Daisy provides automation in the sense that the user only needs to specify the desired depth as a number, where depth means height of the abstract syntax tree. Other Parameters Metalibm provides several other parameters, such as width of the table index for table-driven methods, the minimum width of the subdomains for splitting, etc. Our current set of benchmarks uses the standard set of elementary functions (exp, log, sqrt, sin, cos, tan), which are relatively "well-behaved".
Experimental Setup All experiments have been performed on a Debian Linux 9 Desktop machine with a 3. 3 GHz Intel i5 processor with 16 GB of RAM. We use the GNU g++ compiler version 6. 3. 0. All code for benchmarking is compiled with the -02 flag. Benchmarks The benchmarks forwardk2j* are part of the Axbench approximate computing benchmark suite  [38]. Inspired by this benchmark, we have included axisRotation*, which rotates the x-y axis in carthesian coordinates counterclockwise by theta degrees. RodriguesRotation is a more involved formula for rotating a vector in space  6. The pendulum benchmarks have been previously used in the context of roundoff error verification  [9]. The benchmarks sinxx10, xu1, xu2, integrate18257, integrateStoutemyer are from the benchmark set of the COPRIN project 7.