dataesr/scientific-paragraphs-categorization huggingface dataset:
I. INTRODUCTION The IoT (Internet of Things) appeared with the new generation of internet that allows to mobiles and communicating devices to be connected via the web in the same way as computers. It is now possible to remotely control or monitor any object such as a robot, blood glucose meter, homes, cars, etc. Thus, an unlimited number of applications can be created to improve our daily life and especially that of people with reduced mobility. Deploying several IoT nodes is very difficult, costly, time consuming, and can be impossible when nodes have to be reprogrammed frequently or when nodes are deployed in distant locations, for example in different cities or countries. Thus, the use of software to generate, reconfigure, and monitor such networks is very practical and useful. A first platform called CupCarbon-Lab is developed for this purpose.
A. SenScript SenScript is the script used to program sensor nodes of the CupCarbon simulator. It is intuitive and close to the natural distributed programming language. The nodes can be programmed also with Python for more flexibility and options. The following script shows an example of a SenScript code. The command (atget id) of line 1 allows to assign to the variable cid the identifier of the current node. The command (loop) allows to start the loop section, where all the code situated after will be executed an infinite number of times. The command (wait) will allow to wait for a received message. This command is blocking and the next code will not be executed until a message is received. The command (read) of line 4 will assign the message received in the buffer to x. In line 5, we test if the received message (an identifier) is less than the value of the current identifier cid.
III. CUPCARBON-LAB CupCarbon-Lap represents an extension of the simulator CupCarbon. As shown by the architecture of Figure  3 , a server is added in order to generate a network by injecting the codes into real nodes (Raspberry Pi, Android, etc. ) and to manage the communications between these nodes. Also, a node can be virtual and can communicate with the real sensors, which allows then to run hybrid emulation. The platform integrates interpreters of the SenScript and the Python codes which are injected directly in real hardware platforms. The Python is integrated in order to be able to inject it in other kind of cards, like LoPy cards. As shown by Figure  4 , each instruction is executed locally except the communication instructions like the transmission and the reception which are executed by the server.
Proteomic and transcriptomic technologies resulted in massive biological datasets, their interpretation requiring sophisticated computational strategies. Efficient and intuitive real-time analysis remains challenging. We use proteomic data on 1417 proteins of the green microalga Chlamydomonas reinhardtii to investigate physicochemical parameters governing selectivity of three cysteine-based redox post translational modifications (PTM): glutathionylation (SSG), nitrosylation (SNO) and disulphide bonds (SS) reduced by thioredoxins. We aim to understand underlying molecular mechanisms and structural determinants through integration of redox proteome data from gene-to structural level. Our interactive visual analytics approach on an 8. 3 m 2 display wall of 25 MPixel resolution features stereoscopic three dimensions (3D) representation performed by Unity-Mol WebGL.
Virtual reality headsets complement the range of usage configurations for fully immersive tasks. Our experiments confirm that fast access to a rich cross-linked database is necessary for immersive analysis of structural data. We emphasize the possibility to display complex data structures and relationships in 3D, intrinsic to molecular structure visualization, but less common for omics-network analysis. Our setup is powered by MinOmics, an integrated analysis pipeline and visualization framework dedicated to multi-omics analysis. MinOmics integrates data from various sources into a materialized physical repository. We evaluate its performance, a design criterion for the framework.
Introduction The analysis of massive biological datasets available on public repositories is nowadays one of the key challenges biologists face due to the increasing size, variety and complexity of such data. Modern high-throughput and large-scale analytical technologies create an explosion of experimental datasets of quantitative and qualitative biological information, often simply called "omics"  [1]. Besides, well-annotated and well-curated biological databases store and provide generic information on genomes (Genbank, EMBL, UCSC…)  [2] ,  [3] ,  [4]  and proteomes (Swiss-Prot, TrEMBL, PIR…)  [5] ,  [6]  as well as extended information on protein 3D structure (PDB)  [7] , ontologies (GO)  [8] , classification (PANTHER, Pfam, SCOP)  [9] ,  [10] ,  [11] , cellular localization  [12]  and many more.
Nowadays dedicated bioinformatics infrastructures are essential to supervise the sheer amount and diversity of datasets. One of many related challenges is to provide integrated and meaningful information for the biologist, accessible even without programming expertise. Visual analytics is a key strategy for this task  [13]. Immersion and interactivity to delve into large biological datasets require the combination of ultra-fast access to databases, complex on-the-fly queries, analyses and efficient visualization tools. Sophisticated open-source object-relational database management systems (ORDBMS) such as for instance PostgreSQL, enable a very fast and flexible control of relational databases. Relational databases provide a wellsuited environment for omics datasets  [14] ,  [15] ,  [16] ,  [17]  as they store various data types and provide a structured query language that confers filtering, joining, grouping and sorting abilities on subsets of very large datasets.
The concept of subsets, or collections, in relational databases is highly relevant for biology, considering living organisms and omics datasets as collections of biological molecules with qualitative and quantitative parameters. To ensure performing tasks efficiently, ORDBMS require both an adapted indexing strategy and an optimized query-building system. Dedicated algorithms and software components are developed to assist structured language queries (Django ORM  [18] , Panda-SQL http://pandasql. free. fr/, SQL Search, …) but the amount and heterogeneity of omics-datasets and associated biological tasks call for a dedicated query-building system. The efficiency of ORDBMS in handling biological datasets ensures real-time processing of numerous biological tasks, thereby providing the foundations to build an immersive access plunging the user right in the middle of the data through visualization and interactivity.
The rise of efficient and interactive data visualization libraries, for instance Javascript-based ones such as D3. js (https://d3js. org/) or Three. js (https://threejs. org/), provides access to powerful display technologies when combined with efficient low-level rendering approaches such as WebGL  [19] , the equivalent of the OpenGL standard on the web (https://www. opengl. org/). High-level tools such as for instance the Unity3D game engine (https://unity3d. com/) recently gave access to such technologies with convenient abstraction for scientific purposes as we have previously argued  [20]. Modern game engines such as Unity3D or Unreal Engine (https://www. unrealengine. com/) provide an alternative to traditional development of visualization tools built from scratch that are usually platform dependent.
Moreover, the Unity3D game engine provides a set of compilation tools based on Emscripten  [22]  to generate a WebGL and Javascript rendering system. Several studies have investigated protein network visualization, focusing on improving the representation of these complex networks  [23] ,  [24]  but also including the complexity of the temporal dimension involved in the link between the genotype and the phenotype  [25]. In parallel, recent frameworks to cluster heterogeneous and voluminous biological data combined with text data mining approaches have been developed  [26] , especially to better understand the localization and the interactions of proteins in cells. Other solutions propose a fully webbased approach to combine molecular visualization with enriched analysis, linked to external databases  [27].
Clustering biological information into a self-updating database was also experimented  [28]  to provide an upto-date information based on a Java framework. In parallel, stereoscopic devices have been used to experiment how they can improve interaction and decision-making in an immersive visual analytic context  [29]. In this manuscript we present an integrated pipeline, called MinOmics, a powerful tool to manage biological data from various sources, from storage to analysis and visualization. It combines PostgreSQL 9. 6 ORDBMS as a data storage system, D3. js and UnityMol as visualization frameworks for two-dimensional (2D) and three dimensions (3D) data, respectively, and Django, a powerful high-level Python web framework that enables data analyses by linking all components together. The heterogeneity by nature of biological macromolecules (genes, transcripts, proteins) and their relations (transcription and translation) imposes the use of PostgreSQL ORDBMS that offers the storage and indexing of numerous data types such as strings, numerics, arrays, json and time.
MinOmics is developed in Python, an object-oriented language, which possesses module adapters to communicate with ORDBMS. Furthermore, Django allows the deployment of MinOmics as a portable and multi-platform web service. Javascript, in particular with the D3. js library, brings interactivity, animations and information visualization capabilities, while UnityMol allows displaying 3D molecular structures on a web page with a WebGL and WebVR implementation. MinOmics produces an interactive visualization environment as a basis for data mining with the possibility of 3D stereoscopic immersion when appropriate. Both query builder and Unity3D modules allow the development of MinOmics either as a full web-service or as a web-independent cross-platform GUI. This visual analytics approach allows scientists to interactively manipulate large datasets on an 8.
3 m 2 25 MPixel high-resolution display wall with stereoscopic 3D representations for a semi-immersive experience. Furthermore, it is possible to explore data inside a virtual environment in full-immersive VR, to better understand complex relationships, for instance related to protein networks or molecular structures. As a study case, we will investigate through MinOmics the chemical and physical parameters governing the selectivity of three cysteine-based redox post translational modifications (PTM). We focus on the unicellular green alga Chlamydomonas reinhardtii, a major model for the study of fundamental biological processes and for exploitation as an industrial biotechnology host  [30]. Although protein functions are encoded in genes, the actual regulation of protein structure and function is generally executed by specific PTMs that enable a gigantic heterogeneity and diversity of gene products  [31].
Materials and Methods In this section, we describe the different databases, datasets and software components used or integrated within the MinOmics framework. All the data used are publicly accessible and we provide cross-references to different databases. Firstly, we depict the structural data that served as the basis for illustrating the framework, then we explain the choice of software and technical details in implementation and parameters used to refine, model and analyse proteomic data. We also provide a hardware reference for benchmarking MinOmics and a description of the specific devices such as the wall-sized display and VR headsets.
Proteomic Datasets All proteins and redox PTM positions are extracted from published data: SSG  [40] , SNO (  [43] , ProteomeXchange accession: PXD000569), reduction by thioredoxins (  [42] ; ProteomeXchange accession: PXD006097 and PXD006116). In brief, these datasets comprise 41, 501 and 1188 protein descriptions respectively referenced in the Uniprot database (CHLRE accession). Among them, cysteine site's modification of 41, 302 and 602 proteins have been identified, respectively. Currently MinOmics stores 38 experiments (accessions and parameters such as p-values, fold changes, external file paths, peptide sequences, quantitative values…) performed on C. reinhardtii, Saccharomyces cerevisiae or Arabidopsis thaliana. In total it describes 12 organisms either from Uniprot, Refseq or phytozome, all the Gene Ontology identifiers and descriptions, all the Pfam annotations and available structural data from the PDB and primary sequences.
Protein Structural Modeling The structures of all 1417 proteins for which mass spectroscopy data in the proteomic datasets indicates a cysteine modification were built through homology modeling with the @tome2 web server  [44]. Based on their FASTA sequences the @tome2 protocol selects the supposedly best PDB template according to different alignment methods, in particular HHsearch  [45] , Fugue  [46] , psi-Blast  [47] , and Sp3  [48]. An initial homology model is then built with TITO  [49]  and scrwl  [50]  software components. Models are further refined with Modeler  [51]  and their quality evaluated using the Qmean criteria  [52]. In the whole set of models generated through this strategy, a subset of 731 protein models has been characterized to the point that we know which cysteine residue is modified.
This subset is thus particularly precious to attempt to infer rules about cysteine modifications. To identify an initial restricted set of models of high quality, we further restrained our 3D database by selecting models according to three main criteria. (1) cysteines of interest are modeled,  (2)  the percentage of identity between the sequence of interest and the PDB template is above 30 %, and (3) the protein structures are not aberrant (for instance not missing backbone atoms). At the end, we therefore generated a focused subset of 409 structural models that we considered of good enough quality, harboring 745 cysteines undergoing one or several PTMs, to derive initial hypotheses from.
The whole set of descriptors is then injected into MinOmics for further data analysis. Furthermore, the MinOmics framework itself can perform additional analyses of this structural data upon demand, for instance using R  [57]  scripts. After selecting a subset of cysteine residues based on different parameters (e. g. all nitrosylated cysteines), it is possible to plot the distribution of another parameter (e. g. the pKa of the selected subset). Other analyses are possible such as clustering of 2D data. As an example, on the already mentioned subset selection, MinOmics can generate a 2D matrix representation of pre-calculated RMSDs between all models. This similarity matrix can be used for further analysis and inference of sub-populations by applying clustering algorithms. The clustering is done by default using a Euclidean distance of the matrix and the hclust function with the "Ward.
D2" method, generating a dendrogram. At this stage, the user can already choose a number of groups to cut the tree, or use different criteria such as Davies-Bouldin or Dunn ones to define the optimal number of clusters. A Silhouette criterion is functionally implemented but not yet accessible in MinOmics. Once the number of groups is defined, MinOmics generates a 2D picture showing each element colored according to its group, along with information for each group (e. g. the average, the name of the element at the centroid, the number of elements in the group…). We can imagine extending clustering parameters to provide more flexibility to the user for exploration within the MinOmics framework, even if the less elegant solution to extract the raw matrix data to use another program for clustering calculations is already available.
Workstations The core MinOmics database and web applications are performed on an Intel(R) Xeon(R) CPU E5-2623 v3 @ 3. 00 GHz Debian 4. 9. 65-3 (2017-12-03) x86_64 GNU/Linux server system with 16 GB RAM. For data storage we currently use standard 7200 rpm hard disks, which were also the basis for the provided benchmark data. On the client side, we used a dual Intel(R) Xeon(R) CPU E5-2630 v4 @ 3. 10 GHz Windows 7 64 Pro system to power the display wall. It features three Quadro M4000 graphics cards. An Intel(R) Core i7-6700 @ 3. 4 GHz Windows 10 64 Pro system with 32 GB RAM and a GeForce 1080 GTX graphics card was used to drive a head-mounted VR display, either an Oculus Rift or an HTC Vive.
MinOmics User Studies and Feedback At the present stage of development and implementation, we have not yet carried out formal user studies of the MinOmics system. Members of the current development and design team comprising eight individuals informally assessed individual MinOmics components, such as the relational database system and the visualization components, in an ad hoc manner. We plan to carry out validation studies on the full MinOmics system, based on selected tasks from the use cases described in the manuscript. Alternatively, a more theoretically oriented than empirical evaluation method can be used: Hierarchical Task Analysis may be performed to quantify the execution times of given tasks in a controlled manner  [58]. The user feedback and experience we would particularly like to collect concerns the intuitiveness of the MinOmics user interface, potential fatigue after longer use, and the needs (as well as the opportunities) for efficient collaborative use.
Server-Side MinOmics Database The MinOmics framework allows (1) the integration and updating of seven public biological repositories into the MinOmics database (2) the management of multiple omics datasets and (3) the building of efficient SQL queries. Our chosen data integration paradigm is a materialized one, creating an integrated physical repository of selected data extracted from the aforementioned collection of information sources. The database is designed in four layers corresponding to different levels of biological datasets numbered from level 0 to 3 (Figure  2 ). A dedicated module stores and indexes the datasets provided by public biological repositories (Uniprot, Refseq, Phytozome, PDB, Pfam, Gene ontology, MapMan) and the datasets provided by high-throughput technologies (proteomics, RNASeq).
Currently, seven databases are integrated to MinOmics, but their number is easily extensible. The heterogeneity of omics datasets is contained in a jsonb data-type, a dictionary-like and indexable data-type managed by PostgreSQL. The structural models and their properties are similarly classified and accessed as level 1 datasets. Finally, both the presence of arrays and jsonb elements requires an efficient and adapted btree and gin indexing mechanism to maintain fast performances. Querying MinOmics is performed in two steps. First, one gets and sets the parameters required by the query building module: the data types stored in the level 1 (jsonb) Feature_1 key (e. g. Structural modeling and postprocessed parameters) and the identity and data types of the level 2 tables (db_table key) corresponding to the collections (Org_id or Exp_id) (Figure  2 ).
This task is performed once, specific to the collection, and stored for further queries. The second step executes the biological query. The relations between biological macromolecules and the data available on public repositories permit and orient the establishment of the ORBDMS linkage between level 1 and level 2, between level 2 tables (genes, transcripts and proteins) and between level 2 and level 3 tables (secondary biological databases). The querying module combines the various data types, indices and links in order to produce an adapted and efficient SQL query (see an example in Supplemental Material S1). The query efficiency through the different layers of MinOmics is reported in Figure  3. The SQL transaction time needed to identify all the proteins in the glutathionylome, nitrosylome or thioredoxome from the level 1 table ranges between 17 ms and 30 ms.
This performance measured without indexing can be brought down between 0. 9 ms and 1. 7 ms with a btree indexing method, an efficient index for text data types (Figure  3A ). Even if ultra-fast responses are achieved with an appropriate indexing method for relatively small datasets, the query efficiency decreases when the size of datasets increases. The largest soluble proteome of C. reinhardtii available nowadays (Multiconsensus, 2198 detected proteins, unpublished data) does not exceed 5 ms to collect, fast enough to allow interactivity with such 'large' biological datasets. Nevertheless, with one or several orders of magnitude larger datasets, such as for example, the human proteome (Human proteome, 161521 proteins in Uniprot), a lower reactivity can be observed, in this case roughly 100 times slower (Figure  3B ).
This gain is essential to maintain interactivity, again predominantly for larger datasets, regarding RNASeq data queries performed on C. reinhardtii. Finally, the filter and lateral join SQL operators allow to retrieve the embedded datasets in the level 3 containing the secondary biological repositories (Figure  4 ). Partial pattern matching on b-tree indexed text data in the level 2 (Figure  4A ) or level 3 (Figure  4B  and C ) confers good query efficiency although an important latency for large datasets in the level 3 is observed (Figure  4B ). Remarkably, embedded jsonb key:value data remains highly accessible to the selection with time of response of around 3 ms (Figure  4D ). Molecular modeling and structural parameters of redox-modified sites are stored in such json data types. The raw server file path is also recorded in this field in the case of structural studies, so that the molecular structural models can be sent to the molecular viewer upon request.
We use SQL clauses and operators for navigation and sub-selection of proteins by their numerous parameters, either from the public databases or by the omic experiments (Figure  5A ). They can be graphically and interactively manipulated by an intuitive and dynamic Javascript interface where each dataset is represented as a colored node (Figure  5B ). Filtering and grouping operations allow the user to refine the node content while merging and overlapping operations allow comparing different datasets. These tools will be used throughout different biological use cases as described below.
Integration of a WebGL UnityMol Instance with the Server Backend Thanks to the Unity3D features mentioned in the introduction, the UnityMol code base  [20] ,  [59] , a Unity3D based molecular visualization framework can now be used from within a web application such as MinOmics, retaining most functionalities from the standalone version. For example, the guided navigation feature  [60]  can be used to find the best point-of-view of an atom and determine the appropriate camera path to navigate around the molecule or a protein network. All standard molecular representations are available (CPK, liquorice, space-filling, HyperBalls, surface, cartoon). Proteomic networks are typically depicted through HyperBalls  [61]. We implemented this WebGL version by stabilizing and improving a previous beta release of UnityMol for WebGL, as the web context imposes some constraints, for instance related to memory handling and to the ability to couple with other web components.