dataesr/scientific-paragraphs-categorization huggingface dataset:
Post module Post module contains some classical post-processing tools, such as the computation of classical variables (pressure, vorticity, gradients. ), the extraction of isosurfaces or slices, or the computation of field integrations. An example of an isosurface of the Q-criterion in a CFD solution using Marching Cubes  [23]  is displayed in figure  15-(a). In the case where the pyTree is defined by overset grids, the nature of points (namely computed, interpolated, blanked) is automatically taken into account by all post-processing functions. Similarly, the connectivity between abutting grids, stored in the pyTree, is used if relevant: for instance, when computing a gradient, ghost cells are added temporarily within the function P. computeGrad such that gradients are correctly estimated near the borders of the grids.
Post module can also perform interpolation from a set of volume grids to another surface or volume mesh, as displayed in figure  15-(b)  and (c ). In this example, the CFD solution on a structured overset mesh is interpolated onto a given surface mesh used to propagate the acoustic field in a following process. If the surface mesh intersects overlapping CFD grids, then the cell with the smallest volume is chosen as donor for the interpolation onto the surface mesh, provided it is not a blanked cell.
-The wall points and the symmetric point of the ghost cells can be easily determined then, since the distance to the cylinder and the normals are defined for the ghost points. -The interpolation of the flow field outside the cylinder at symmetric points is achieved. The coordinates of the wall points and the symmetric points, but also the interpolation data (coefficients, indices of donor points, interpolation method,. ) are stored in the pyTree t using Connector. setIBCData. -Finally, the values of velocity and pressure are determined for ghost cells using Connector. setIBCTransfers, which can be sent to the CFD solver at each iteration.
Adaptation of the wake past a helicopter fuselage The first example concerns the application of the Cartesian mesh adaptation to a helicopter fuselage configuration. The configuration and results are discussed in  [25]. The mesh is defined by near-body structured grids around the fuselage. An off-body Cartesian mesh is generated using Generator functions. The resulting mesh after blanking using Connector module is represented on the left-hand side of figure  20-(a). A first computation using elsA CFD solver  [26]  is achieved and the mesh is adapted according to the Q-criterion, using Generator and Post functions. The adapted Cartesian mesh is represented on the right-hand side of figure  20-(a). Figure  20-(b ) highlights the better capture of the wake aft the helicopter fuselage due to the Cartesian mesh refinement in this region.
Embedded post-processing within the CFD simulation This example demonstrates that it is possible to use Cassiopee functions during an unsteady CFD simulation to extract some flow features. The CFD simulation considered here is a ZDES simulation in poststall condition  [27]  using ONERA elsA solver. Here, the number of points is roughly equal to 50 millions, thus the storage of the whole volumic data resulting from the computation at each time step would be prohibitive and the storage of data on a specific region is up to now the only realistic way. Here, Post. isoSurface function is used to extract the isosurface of the Q-criterion every 500 iterations in parallel mode. The pyTree is the common data structure used by both elsA solver and Cassiopee modules during the following steps: first, the velocity gradients required for the computation of the Q criterion are computed in parallel by elsA solver for each block on its processor.
The Qcriterion field is then computed by Post. computeExtraVariable function also locally. The isosurface of the Q criterion at a given value is then extracted onto the processor by using Post. isoSurface. On each processor is defined a part of the final surface mesh defining the isosurface, which part corresponds to the local blocks to the processors. Then the different surface grids are gathered on the same processor, and can be saved into a file. (CGNS/Python representation, independent modules. ). We are also extremely grateful to all the people that contribute to Cassiopee by making suggestions, bringing new ideas and reporting bugs.
Given the existence of E[|A n |] active relays, the probability p l that exactly l stations are involved in a collision can be expressed as: p l = E[|An|] l τ l (1 -τ ) E[|An|]-l pc (45) and, therefore: E[L] = E[|An|] l=2 l • p l = E[|An|] l=2 l • E[|An|] l τ l (1 -τ ) E[|An|]-l pc. ( 46 ) V. Model Validation and Performance Evaluation We have developed a MATLAB simulator that incorporates both the NCCARQ rules and the PHY layer design, in order to validate our analytical model and study the impact of exponentially correlated shadowing on the performance of NC-based MAC protocols. In this section, we present the simulation setup along with the results of our experiments.
This cannot be done using TETRA since the victims will not have a TETRA terminal. The same crew member would like to communicate with an ambulance in order to indicate the location of trapped victims, so the MANET terminal should be able to communicate with the wireless transceivers incorporated in the vehicles (VANET). Eventually the crew member can come across a WSN deployed in a building, which is partially destroyed but it has monitored certain data on the building before and during the disaster. This information can be very important to determine tactical movements in the subsequent rescue operations. Consequently, the MANET terminal should be able to communicate with WSN technologies. Although this is a simple example, the importance of the interoperability of different networks in order to achieve an integral and complete communication system for disaster response situations has been highlighted.
However, the mobility of nodes is still synthetically generated. A step forward on modelling mobility in disaster scenario is to use trace-based mobility models. In this case, the mobility of nodes is based on real movements of people. These movements are obtained from wireless devices such as sensor motes and/or smartphones. In this line of work, the Community Resource for Archiving Wireless Data at Dartmouth (CRAWDAD)  [103]  is an open project aimed at archiving data collected from real-life experimentation so many traces are available. As for specific mobility models based on traces for disaster response scenarios, in  [83] , the authors model the mobility of ambulances based on real traces. 5  summarizes the reviewed work on the application of multihop ad hoc networks in disaster scenarios.
Workflow The overall workflow consists of two main steps: environmental object database creation and scene construction. Environmental object database creation is performed by extending an input geometric object B with procedural effects A(e) that define the behavior of the object i. e. , its change of appearance, and fields F which specify the impact of the object on the environment. Fields are inspired by  [KL05]  and they define scalar fields that are combined together to modify the characteristics of the environment around the objects. The effects implement the parameterized details that are added to objects, such as leaves, grass, snow, icicles, or trash. The particular effects can be defined either manually by attaching them to the objects, or generated automatically by augmenting an existing generation process.
For example environmental buildings can be generated with the CGA Shape Grammars  [MWHG06]  by adding the definition of environment scalar fields such as temperature emitters and parameterized effects in the grammar. Once defined, these objects can either be immediately used in the second step or stored for later reuse. Scene creation can be performed either by interactive editing or procedural generation. Authoring is achieved by selecting the environmental objects from the database, and arranging them in a scene graph. Environmental objects can be added, removed, and modified, and the scene can be enriched at any time. Moreover, objects can be grouped to create hierarchies and a group may have a behavior that overrides or combines behavior of the objects in the group. During the scene authoring, objects and groups can be instanced for further reuse.
Background: In silico predictive models have proved to be valuable for the optimisation of compound potency, selectivity and safety profiles in the drug discovery process. Results: camb is an R package that provides an environment for the rapid generation of quantitative Structure-Property and Structure-Activity models for small molecules (including QSAR, QSPR, QSAM, PCM) and is aimed at both advanced and beginner R users. camb' s capabilities include the standardisation of chemical structure representation, computation of 905 one-dimensional and 14 fingerprint type descriptors for small molecules, 8 types of amino acid descriptors, 13 whole protein sequence descriptors, filtering methods for feature selection, generation of predictive models (using an interface to the R package caret), as well as techniques to create model ensembles using techniques from the R package caretEnsemble).
Results can be visualised through high-quality, customisable plots (R package ggplot2). Conclusions: Overall, camb constitutes an open-source framework to perform the following steps: (1) compound standardisation, (2) molecular and protein descriptor calculation, (3) descriptor pre-processing and model training, visualisation and validation, and (4) bioactivity/property prediction for new molecules. camb aims to speed model generation, in order to provide reproducibility and tests of robustness. QSPR and proteochemometric case studies are included which demonstrate camb' s application.
Background The advent of high-throughput technologies over the last two decades has led to a vast increase in the number of compound and bioactivity databases  [1] [2] [3]. This increase in the amount of chemical and biological information has been exploited by developing fields in drug discovery such as quantitative structure activity relationships (QSAR), quantitative structure property relationships (QSPR), quantitative sequence-activity modelling (QSAM), or proteochemometric modelling (PCM)  [4, 5]. The R programming environment provides a flexible and open platform for statistical analyses  [6]. R is extensively used in genomics  [7] , and the availability of R packages for cheminformatics and medicinal chemistry is small in comparison. Nonetheless, R currently constitutes the most frequent choice in the medicinal chemistry literature for compound bioactivity and property modelling  [8].
In general, these studies share a common algorithmic structure, which can be summarised in four model generation steps: (1) compound standardisation, (2) descriptor calculation, (3) pre-processing, feature selection, model training and validation, and (4) bioactivity/property prediction for new molecules. Fig. 1  illustrates these steps. Currently available R packages provide the capability for only subsets of the above mentioned steps. For instance, the R packages chemmineR  [9]  and rcdk  [10]  enable the manipulation of SDF and SMILES files, the calculation of physicochemical descriptors, the clustering of molecules, and the retrieval of compounds from PubChem  [3]. On the machine learning side, the caret package provides a unified platform for the training of machine learning models  [11].
While it is possible to use a combination of these packages to set up a desired workflow, going from start to finish requires a reasonable understanding of model building in caret. Here, we present the R package camb: Chemically Aware Model Builder, which aims to address the current lack of an R framework comprising the four steps mentioned above. Specifically, the camb package makes it extremely easy to enter new molecules (that have no previous standardisation) through a single function, to acquire new predictions once model building has been done. The package has been conceived such that users with minimal programming skills can generate competitive predictive models and high-quality plots showing the performance of the models under default operation. It must be noted that camb does limit practitioners to a limited but easily used workflow to begin with.
Experienced users, or those that intend to practice machine learning in R extensively are encouraged to neglect this basic wrapper completely on their second training attempt and learn how to use the caret package from the caret related vignettes directly. Overall, camb enables the generation of predictive models, such as Quantitative Structure-Activity Relationships (QSAR), Quantitative Structure-Property Relationships (QSPR), Quantitative Sequence-Activity Modelling (QSAM), or Proteochemometric Modelling (PCM), starting with: chemical structure files, protein sequences (if required), and the associated properties or bioactivities. Moreover, camb is the first R package that enables the manipulation of chemical structures utilising Indigo's C API  [12] , and the calculation of: (1) molecular fingerprints and 1-D  [13]  topological descriptors calculated using the PaDEL-Descriptor Java library  [14] , (2) hashed and unhashed Morgan fingerprints  [15] , and (3) eight types of amino acid descriptors.
Compound standardization Chemical structure representations are highly ambiguous if SMILES are used for representation-for example, when one considers aromaticity of ring systems, protonation states, and tautomers present in a particular environment. Hence, standardisation is a step of crucial importance when either storing structures or before descriptor calculation. Many molecular properties are dependent on a consistent assignment of the above criteria in the first place. If one examines large chemical databases one can see how important this step is-a rather good explanation for standardisation is found in PubChem, one of the largest public databases, can be found on the PubChem Blog  [16]. Hence, we are of the opinion that standardising chemical structures is crucial in order to provide consistent data for later modelling steps, in line with perceptions by others (such as the PubChem curators).
For standardisation, camb provides the function StandardiseMolecules which utilises Indigo's C API  [12]. SDF and SMILES formats are provided as molecule input options. Any molecules that Indigo fails to parse are removed during the standardisation step. As a filter, the user can stipulate the maximum number of each halogen atom that a compound can possess in order to pass the standardisation process. This allows datasets with a bias towards many molecules that contain one type of halogen to be easily normalised before training. Additional arguments of this function include the removal of inorganic molecules or those compounds with a molecular mass above or below a defined threshold. Most importantly, camb makes use of Indigo's InChI  [17]  plugin to represent all tautomers by the same canonical SMILES by converting molecules to InChI, discarding tautomeric information, and converting back to SMILES.
Descriptor calculation Currently, camb supports the calculation of compound descriptors and fingerprints via PaDEL-Descriptor  [14] , and Morgan circular fingerprints  [15]  as implemented in RDkit  [18]. The function GeneratePadelDescriptors permits the calculation of 905 1-and 2-D descriptors and 10 PaDEL-Descriptor fingerprints, namely: CDK fingerprints  [19] , CDK extended fingerprints  [19] , Kier-Hall E-state fragments  [20] , CDK graph only fingerprints  [19] , MACCS fingerprints  [21] , Pubchem fingerprints  [3] , Substructure fingerprints  [22] , and Klekota-Roth fingerprints  [23]. In addition to the PaDEL-Descriptor fingerprints, Morgan fingerprints can be computed with the function MorganFPs through the python library RDkit  [18]. Hashed fingerprints can be generated as binary, recording the presence or absence of each substructure, or count based, recording the number of occurrences of each substructure.
Additionally, the MorganFPs function also computes unhashed (keyed) fingerprints, where each substructure in the dataset is assigned a unique position in a binary fingerprint of length equal to the number of substructures existing in the dataset. Since the positions of substructures in the unhashed fingerprint depend on the dataset, the function MorganFPs allows calculation of unhashed fingerprints for new compounds using a basis defined by the substructures present in the training dataset. This ensures that substructures in new compounds map to the same locations on the fingerprint and allows enhanced model interpretation by noting which exact substructures are deemed important by the learning algorithm. The function SeqDescs enables the calculation of 13 types of whole protein sequence descriptors from Uni-Prot identifiers or from amino acid sequences  [24] , namely: amino acid composition (AAC), dipeptide composition (DC), tripeptide composition (TC), normalized Moreau-Broto autocorrelation (MoreauBroto), Moran autocorrelation (Moran), Geary autocorrelation (Geary), CTD (composition/transition/distribution) (CTD), Conjoint Traid (CTriad), sequence order coupling number (SOCN), quasi-sequence order descriptors (QSO), pseudo amino acid composition (PACC), amphiphilic pseudo amino acid composition (APAAC)  [25, 26].
Model training and validation Prior to model training, descriptors often need to be preprocessed  [29]  so that they are equally weighted as inputs into the learning algorithms and to remove any that contain little relevant information content. To this end, several functions (see package documentation and tutorials) are provided. These functions include the removal of non-informative descriptors (function RemoveNearZero-VarianceFeatures) or highly correlated descriptors (function RemoveHighlyCorrelatedFeatures), the imputation of missing descriptor values (function ImputeFeatures), and descriptor centering and scaling to unit variance (function PreProcess) among others  [30]. The R package caret provides a common interface to the most popular machine learning packages that exist in R, and, as such, camb invokes caret to set up crossvalidation frameworks and train machine learning models.
These include learning methods in Bagging, Bayesian Methods, Boosting, Boosted Trees, Elastic Net, MARS, Gaussian Processes, K Nearest Neighbour, Principal Component Regression, Radial Basis Function Networks, Random Forests, Relevance Vector Machines, and Support Vector Machines among others. Additionally, two ensemble modelling approaches, namely greedy and stacking optimisation, have been integrated from the R package caretEnsemble  [31] , which allows the combination of models to form ensemble models, which have proven to be less error prone  [28]. In greedy optimization  [32] , the cross-validated RMSE is optimized using a linear combination of input model predictions. The input models are all trained using an identical fold composition. Each model is assigned a weight in the following manner.
These model ensembles can be applied to a test set (which was not used when building the ensembles), and the error metric (e. g. RMSE) compared to that of the single models on the test set. In the general case, prior to model training, the dataset is divided into a training set, comprising e. g. 70% of the data, and a test set, which comprises the remaining data. The test set is used to assess the predictive power of the models on new data points not considered in the training phase. In the training phase, the values of the model parameters (hyper-parameters) are optimized by grid search and k-fold cross-validation (CV)  [35]. A grid of plausible hyper-parameter values covering an exponential range is defined (function expGrid). Next, the training set is split into k folds by, e. g. stratified or random sampling of the bioactivity/property values.
For each combination of hyper-parameters, a model is trained on k -1 folds, and the values for the remaining fold are then predicted. This procedure is repeated k times, each time holding out a different fold. The values of the hyper-parameters exhibiting the lowest average RMSE (or another metric such as e. g. R 2 ) value across the k folds are considered optimal. A model is then trained on the whole training set using the optimal hyper-parameter values, and the predictive power of this model is assessed on the test set. The final model, trained on the whole dataset after having optimized the hyper-parameter values by CV, can be used to make predictions on an external chemical library. Statistical metrics for model validation have also been included: During cross-validation where N tr , y i , y i and ȳ tr represent the size of the training set, observation i, prediction i, and the average value of observations in the training set, respectively.
The reader is referred to Ref. [36]  for a detailed discussion of both the evaluation of model predictive ability through the test set and about the three different formulations for Q 2 test , namely Q 2 1 test , Q 2 2 test , and Q 2 3 test. The value of these metrics permits the assessment of model performance according to the criteria proposed by Tropsha and Golbraikh  [37, 38] , namely: q 2 CV > 0. 5, R 2 test > 0. 6, (R 2 test -R 2 0 test ) R 2 test < 0. 1, and 0. 85 ≤ k ≤ 1. 15. These values might change depending on the dataset modelled, as well as on the application context, e. g. higher errors might be tolerated in hit identification in comparison to lead optimization, nevertheless, these criteria can serve as general guidelines to assess model predictive ability. The function Validation permits the calculation of all these metrics.
Visualization Visualization functionality for model performance and for exploratory analyses of the data is provided. All plots are generated using the R package ggplot2  [40]. Default options of the plotting functions were chosen to allow the generation of high-quality plots, and in addition, the layer-based structure of ggplot objects allows for further optimisation by the addition of customisation layers. The visualization tools include correlation plots (Correlation-Plot), bar plots with error bars (ErrorBarplot), and Principal Component Analysis (PCA) (PCA and PCAPlot), histograms (DensityResponse), and pairwise distance distribution plots (PairwiseDistPlot). For instance, the camb function PCA performs a Principal Component Analysis (PCA) on compound and/or protein descriptors. The output can be directly sent to the function PCAPlot, which will depict the two fist principal components, with the shape and color of a user-defined class e.
e. COX-1 and COX-2. Given that small molecules tend to display similar binding profiles within orthologues  [43] , we hypothesised that merging bioactivity data from paralogues and orthologues will lead to more predictive PCM models  [28]. ones used on the training set, e. g. standardisation of molecules and centering and scaling of descriptors. The camb function PredictExternal allows the user to read an external set of molecules together with a trained model, and outputs predictions on this external set. This camb functionality ensures that the same standardization options and descriptor types are used when a model is applied to make predictions for new molecules. An example of this is shown in the QSPR tutorial.