dataesr/scientific-paragraphs-categorization huggingface dataset:
). In this pipeline, we systematically combine structural and analytical data by using a semantic definition of the content (scientific data) and the context (immersive environments and interfaces). Such a high-level definition can be translated into an ontology from which instances or individuals of ontological concepts can then be created from real data to build a database of linked data for a defined phenomenon. On top of the data collection, an extensive list of possible interactions and actions defined in the ontology and based on the provided data can be computed and presented to the user. The creation of a semantic definition describing the content and the context of a molecular scene in immersion leads to the creation of an intelligent system where data and 3D molecular representations are (1) combined through pre-existing or inferred links present in our hierarchical definition of the concepts, (2) enriched with suitable and adaptive analyses proposed to the user with respect to the current task and (3) manipulated by direct interaction allowing to both perform 3D visualization and exploration as well as analysis in a unique immersive environment.
Each layer of the Semantic Webs (ontology, experimental data, querying process, etc. ) have been associated to a language or a format. The following four standards create the core of the semantic web and act as the layers evoked previously: the Resource Description Framework (RDF)  [14] , the Resource Description Framework Schema (RDFS)  [15] , the Web Ontology Language (OWL)  [16]  and SPARQL  [17]. Whereas the first three standards enable semantic descriptions of data in the form of ontologies and knowledge bases, the last standard enables queries to ontologies and knowledge bases (see Figure  2 ). RDF is a data model, which allows the creation of statements to describe resources. Each statement is a triple comprised of: a subject (resource described by the statement), a predicate (property of the subject) and an object (literal value or resource identified by an URI, which describes the subject).
An example of a triple is: <#Molecule, #has-charge, -1>. RDFS and OWL are semantic web standards that extend the expressiveness of RDF by providing additional concepts. RDFS provides hierarchies of classes and properties as well as property domains and ranges. OWL, built upon RDF and RDFS, provides symmetry, transitivity, equivalence and restrictions of properties as well as operations on sets of resources. In turn, SPARQL is a query language for ontologies and knowledge bases built using RDF, RDFS and OWL. Conceptually, in terms of possible operations on data, SPARQL is similar to SQL, as it enables data selection, insertion, update and removal. In the semantic web, two types of statements are distinguished. Terminological statements (T-Box) specify conceptualization, classes and properties of resources  [18] , without describing any particular resources.
Ontologies in Bioinformatics On the application side, the use of ontologies in order to standardize knowledge in scientific fields has undergone an important and spontaneous growth at the end of the 90s  [19]. Bioinformatics, tightly anchored in structural biology, has used ontologies for a long time. The most significant example is the fast-growing genomic field, in which it became impossible to handle data flow without a proper and standardized organization of the data  [20]. Gene Ontology  [21]  regroups genomic data into a uniform format and a knowledge base. Currently, it is one of the most referred to ontologies in the literature. In  [22] , an approach to spatio-temporal reasoning on semantic descriptions of evolving human embryo has been proposed. Several biological databases or organizations such as UniProtKB 1 or the Open Biomedical Ontologies  [23] , provide ways to access data or ontologies under RDF or OWL format to allow their use in expert tools or specific pipelines.
One can also note the open-source project Bio2RDF  [24]  that aims to build and provide the largest network of Linked Data for the Life Sciences using Semantic Web approaches. Only few expert software packages based on ontologies have been developed for structural biology. Avogadro  [25]  and DIVE  [26]  appear as exceptions, implementing, in different ways, a semantic description of data that can be manipulated in these environments. Avogadro uses the Chemical Markup Language (CML)  [27]  as the format for describing data semantics, and adds a semantic description layer on top of the data being described. However, the tool leverages neither ontologies nor other knowledge representation formalisms, thus it does not permit reasoning on the described data. DIVE partially creates ontologies and datasets derived from the input data upon loading.
Pre-formatted input in a row/column representation are converted into SQL-like structure where rows are individuals and columns properties. This data representation conforms to a common data model that the software libraries use. Therefore, creation of links between data values and concepts are possible, and different DIVE components for data presentation (analyses, 3D visualization, etc. ) as well as links and relationships between dataset elements can be queried. In addition, DIVE includes a powerful and generic ontology creator directly depending on the type of the input data. However, reasoning on ontologies in DIVE is limited to inheritance between classes. Consequently, only a few ontological relationships are available: is-a, contains, is-part-of and bound-by. There is no notion of cardinality or logical operators to define the concept classes.
Using a Semantic Representation to Efficiently Store, Query, and Link Heterogeneous Structural Biology Data Several important choices have been made to integrate the different technologies required for the establishment of a platform that would allow a proper 3D immersion of users together with an accurate and intelligent way to interact with their data. Our platform heavily relies on the ontology/knowledge base couple. The way to represent and access the data present in the databases is of a crucial importance and this point led us to ask ourselves the question of the most appropriate formalism for the data representation.
Knowledge Formalism Choice The formalism of knowledge representation used in our approach must address the following three rules to properly fit our platform needs: 1. Hierarchical data representation via concepts and properties 2. Advanced reasoning possibility in order to extend the ontology or the dataset ruled by the ontology 3. Efficient query time on the data to stay within interaction time We have mentionned previously that several formalisms exist to create ontologies and define databases. A quick comparison of these formalisms, complementary to their introduction in the previous section, can be found in the Table  1. Table  1 : Comparison of different knowledge representation formalisms with respect to key criteria.
Conceptual graphs X X - X - Semantic networks X - X X - Classical logics X X X X - Description logics X X X X - Our first implementation of a semantic representation of knowledge in molecular biology was applied through conceptual graphs (CG) within Cogitant's software  [30]. The use of CGs through the Cogitant API quickly proved to be incompatible with the constraints of the interactive context. This limitation had already been highlighted by the work of Yannick Dennemont  [28]  with the Prolog CG API, limitations confirmed by our own experience with the Cogitant library in C++. The need for high performance imposed by the interactive context has led us to the path of description logic and semantic web for the representation of knowledge and the efficient extraction of information within a massive fact base to support Visual Analytics functionalities in molecular biology.
Storing Molecular Data Linked by a Structural Biology Ontology Once we set up our ontology, it was possible to feed the database by adding biological information gathered by the expert. The new information has to fit the vocabulary and classification defined by the rules present in the ontology in order to be adequately stored in the database. This combination of ontology and knowledge base will form the RDF database as illustrated in 6. The description of a molecular system is constructed from the analysis of any biological information that can be described by a character chain or a value and that corresponds to a concept or property identified in the ontology. Each information will be exhaustively gathered in the RDF database as triples. Within the scope of our study, we focused on numerical molecular simulations.
As a result, a Residue that belongs to a specific Chain will be automatically associated to the corresponding Model where the Chain appears. Similarly, group of Atoms, the smallest entities of a molecular structure at our scale, constitute Residues and are then directly linked to Chains and Models. Every geometrical property (position, angle, distance, etc. ), physicochemical property (solvent accessibility, partial charge, bond, etc. ) or analytical property (interaction energy, RMSD, temperature, etc. ) is then integrated in the database and associated to individuals created from 3D structures (Model/Chain/Residue/Atom) for each step of the simulation. As a reminder, any individual is an instance of concepts defined in the ontology. Individuals and their properties form the population of the molecular database.
From Vocal Keywords to Application Command The richness and flexibility of SPARQL queries allowed us to design a keyword to command interpretation engine that aims to transform a list of keywords into a comprehensive application command triggering an action in the working space. One of the most-widely used interactive techniques in immersive environments is the vocal command. Based on a vocal recognition process, it consists in translating a sentence or a group of words said by the user into an application command. Vocal commands have the strong advantage that they can be associated with gestures to express complex multimodal commands. Most of the actions identified in our platform involve a structural group designated by the expert. These structural groups can be characterized by: identifiers having a biological meaning (for example residue ids are, by convention, numbered from one extremity of the chain to the other), unique identifiers in the RDF database, or via their properties.
Without component, any identifier is withdrawn from the list. If the identifier and the associated component exist in the database, the couple is validated. SPARQL commands use the ASK operator to define whether a keyword belongs to a category or not. This operator takes one or several triples and returns a boolean that reflects whether the ensemble of triples is true or not with respect to the database. Some examples of queries can be found below: Reasoning and inference rules are automatically used in SPARQL queries. For instance, the following query: will output true despite the absence of an explicit direct link between the two concepts (Alanine and Biolog-ical_component) since AminoAcid, Residue and Molecule are located between the two concepts (see Figure  4 ).
Command Creation Once each keyword is validated and associated to a category, e. g. identified as a concept of the database (or as an individual for identifiers) and eventually grouped with another keyword, it forms a syntactic group. Each syntactic group carries an information corresponding to a specific part of the application command. In our platform, a vocal command is composed by a succession of syntactic groups linked between them to create an action query to the immersive platform. It is possible to describe the type of command that was defined in the following manner:.
Performances The performance of our interpretation engine has been tested on several simple and complex voice commands, and execution times have been calculated (see Table  2 ). In order to clarify the results table, we performed the tests on an RDF database containing information from a molecular simulation of a 19 amino acids peptide whose primary sequence is KETAAAKFERQHMDSSTSA. This structure was artificially created with PyMol  [9]  and a short MD using GROMACS  [30]  was used to simulate the newly created system and get a short trajectory. The ontology used here is the one created for our platform. We place ourselves in a context where the hierarchic structural level of the environment is amino acid, mainly to take advantage of the many properties associated with this hierarchical level in the ontology and thus be able to avoid complex commands.
The syntax of the commands is adapted to be interpreted by the PyMol software. Finally, these tests were carried out independently of the Sphinx software in order to be able to compare them among themselves without any sideeffects of the vocal interpreter's performance. The set of input keywords was then provided manually for each test. As we can see in Table  2 , the overall precision of the interpretation engine is rather good and only the last generated command significantly differs from the expected command reported in the table (5th line, 2nd column). One could argue that the 3rd command shows only a partial match between the expected and generated commands. However, we can observe that the engine successfully identified the concepts of "Secondary structure" and "Cartoon" as equivalent (as illustrated in 3) but chose to keep only the former, only based on its position in the keyword list, to create the query.
Limits and Perspectives Our interpretation engine is able to convert a wide range of keyword lists, ordered and unordered, into a functional and understandable software command for a specific molecular viewer. It does, however, have some limitations that provide interesting opportunities for future work. We have seen that the integration of the concept of logical connectors is essential in order to be able to handle multiple filter situations on individuals. These logical connectors can hardly fit in with our actual ontology, not really belonging to any of the 5 definition sets around which it was built. But logical operations are possible in SPARQL, that implements logical operators such as AND, OR, UNION, etc. Then the missing part lies at the interpretation engine that needs to incorporate those keywords and properly handle them to form the SPARQL command that will query the database.
g. plots, graphs, etc. ). Any selection made by the user triggers an event transmitted to a management module, resulting in an adaptation of the visualization to highlight the individual(s) selected. 2. Beyond its highlighting impact, a selection also reduces the user focus to a subset of individuals, both in the analysis space and the visualization one. It is possible to adapt this focus according to the user's needs by modifying the context level at which they want their selection to appear. Three levels of contextualization are possible: • No context -The selection of individual(s) leads to the unique visualization of these individuals in the visualization and analysis space and therefore hides any unselected individuals. • Weak context -The selection of individual(s) highlights these individuals in the workspaces and reduces the perception of other individuals of the dataset (grey color, transparency, simplified visual rendering, etc.
Semi-automated Analyses Triggered by Direct Interactions Although the majority of the data is present in the database created by the user, a regular work session often requires additional data, for example resulting from post-simulation calculations and therefore missing from the original database. These calculations are usually managed within scripts, sometimes linked to simulation tools, and executed outside the visualization loop as a result of the observation of a particular phenomenon during the exploration or following other analyses already performed beforehand. In order not to overload the database and leave the user in control of the analyses he wants to perform, we have set up the possibility of launching some semi-automated analyses during the working session. SPARQL query language allows, in addition to querying a database, to modify, delete or add data to the database.
This possibility allows to feed the database with the results of analyses launched during the working session of a user. A list of analyses has been compiled and an ontological definition has been defined for each of them. This definition provides the type of data used as input and the type of data output. Thus, with respect to the desired analysis, our platform will propose a filtered choice of individuals to be selected whose type match the data type expected. In the same way, the values generated as output of the analysis are automatically entered into the database with respect to their ontological definition. A Distance tool requires, for example, two individuals of the same hierarchical level, or a selection of individuals of higher hierarchical level, between which these distances will be calculated.
Platform Architecture The different components highlighted in the previous sections must efficiently communicate with each other to provide a realistic feedback to the users. Our platform architecture, both from a hardware and a software perspective, had to be thought carefully to ensure that all tasks performed by the users are treated within an interactive time-frame (on the order of magnitude of a second for the analyses). Our platform design is based on a complex software architecture. In the diagram shown in Figure  6 , we deliberately placed it in the middle of a double-sided communication loop connecting the visualization space to the analysis space. Our database is hosted on a local server accessible from the network to guarantee privileged and optimized access to our data. All communications are optimized to reduce the latency between a request triggered by the front-end sensors, its translation into a query in the database together with the treatment and transformation of the query results in the back-end and finally the response presented to the user, once again at the front-end level.
In the first step of our scenario, the analytical space (web server) triggers a SPARQL query to retrieve every numerical value from our database. A list containing all the value will then be created and presented to the user for each structural component level (Model/Chain/Residue/Atom) as illustrated in Figure  7. Once the data values are gathered, the expert will choose which structural component hierarchy he is interested in and which combination of properties he wants to plot in its analytical space. Several queries will retrieve the property values that will be plotted thanks to the graphs library D3. js 5. Here the RMSD of each model with respect to the starting conformation has been plotted. On the X-axis we see the time step corresponding to each model of the MD trajectory and on the Y-axis their associated RMSD value.
The second setup involves our platform where the visualization software is now connected to a web page where interactive graphs can be displayed. The expert can interact with both spaces through two different devices connecting locally and where network latency is negligible. Tests have been made with a laptop where an instance of PyMol was running and a tablet where 2D plots were displayed within a web browser. The task can be divided into three distinct steps. It requires a first step in the processing of analytical data where the lowest energy model will be sought among models more than 10 Å of RMSD distant from the reference model, this distance reflecting significant conformational changes. When the model concerned is identified, it should be visualized in order to see the pore and be able to select its ends.
One strength of the platform is its independence regarding the visualization technology used for both spaces. Combinations are numerous, from a CAVE system coupled to a tablet to a VR headset showcasing a room where each wall would display either a 3D structure or some analysis. Our semantic layer lies beneath the visualization technology used and only provides bridges between heterogeneous tools aiming at exploring molecular structures on one side and complex analyses on the other. The knowledge provided by the ontology can also significantly improve the interactive capability of the platform by proposing contextualized analysis choices to the user, adapted to the types of elements in his current focus. All along the study process, a set of specific analyses, non redundant with the ones already performed, can be interactively chosen to populate the database.
A simple definition of analyses in the ontology, adding input and output types, is sufficient to decide whether an analysis is pertinent or not for a precise selection, and whether the resulting values are already present in the database or not. The reasoning capability of the ontology allowed us to develop an efficient interpretation engine that can transform a vocal command composed of keywords into an application command. This framework paves the way for a multimodal supervision tool that would use the high-level description of the manipulated elements, as well as the heterogeneous interaction natures, to merge inputs and create intelligent and complex commands in line with the work of M. E. Latoschik  [37] ,  [38]. The RDF/RDFS/OWL model coupled to the SPARQL language allows to enunciate rules of inference, which is particularly important for the decision taking process in collaborative contexts.
In these contexts, two users may trigger a multimodal command, in a conjoint way, that can be difficult to interpret without proper rules. An effort would then have to be made to integrate these rules in a future supervisor of the input modality, based on the semantic model, considering users as elements of modality in a multimodal interaction. Our approach is a proof of concept application and is available as a github repository 6 , but it opens the way to a new generation of scientific tools. We illustrated our developments through the field of structural biology but it is worth to note that the generic nature of the semantic web allows to extend our developments to most scientific fields where a tight coupling between visualization and analyses is important. We especially target to integrate all the concepts described in this paper in new molecular visualization tools such as UnityMol  [39]  that allows a more comfortable code integration compared to classical molecular visualization application.
Acknowledgement The authors wish to thank  Xavier Martinez  for UnityMol pictures courtesy. This work was supported in part by the  French national agency research  project  Exaviz  ( ANR-11-MONU-0003 ) and by the " Initiative d'Excellence" program  from the  French State  (grant " DYNAMO ",  ANR-11-LABX-0011-01 ; equipment grants  Digiscope ,  ANR-10-EQPX-0026  and  Cacsice ,  ANR-11-EQPX-0008 ).
Regarding polyester polyurethane oligomers, their separation using gas chromatography (GC) appears interesting to highlight volatile or non-polar NIAS such as those resulting from solvents or nitrogenous interactions. Liquid chromatography (LC), however. has proven its complementarity for compounds exhibiting molecular weights up to 1000 g. mol -1  [28] [29] [30]. For detection purposes at trace levels, mass spectrometry (MS) is considered as state of the art and has been implemented with low  [28]  (quadrupole) to high  [29, 30]  (time of flight, Orbitrap) resolution MS instruments. Besides the analytical challenge, NIAS identification is also an issue since neither corresponding databases nor pure analytical standards are available. To overcome such a challenge, high resolution MS strategies may be a good option for an increased confidence in peak assignments  [31].