dataesr/scientific-paragraphs-categorization huggingface dataset:
Algorithm Description Major steps of the algorithm are presented in Figure  1. Source code is freely available for download under CeCILL 2. 1 license at https://services. pfem. clermont. inra. fr/gitlab/grandpa/tool-acf and implement in Perl. bioinformatics developers and metabolomics users and allows user-friendly functionalities for workflow management. In this context, we proposed a new stand-alone tool dedicated to data reduction based on the removal of analytical redundancies of MS-based metabolomics datasets. As a key element within the metabolomics data analysis workflow, as well as to ensure reproducible computational analyses, we made it available via Galaxy and provided it for W4M, with generic input files and different output files for visualisation and further data analysis steps within workflows.
Input Files The ACorF tool takes 3 files related to collected data as input, in tabular format (see Supplemental Figure  S1 ). The first file, referred to as data matrix, consists in a table containing intensities of each variable (each ion detected on the mass spectrum) per sample; the second file, referred to as variable metadata, consists in descriptive additional metadata of variables (e. g. , m/z, retention time). The tool also takes, as input, a third file, the similarity matrix: a table representing pair-wise similarity within the dataset, in CSV or tabular format. This table generation is not included in the tool to allow more flexibility: there is a large variety of similarity measures (Pearson/Spearman correlation, Clustering, Partial correlation, et al. ), whose relevance can vary depending on the filtering goal.
Examples of Use To illustrate the ACorF functionalities and the results obtainable on typical experimental data, datasets publicly available on W4M were used as examples. The first dataset, named 'Sacurine' (W4M00002_Sacurine-comprehensive), was obtained from LC-HRMS analyses (negative ionisation mode) of human urine samples in Guitton et al. [13]  (DOI:10. 15454/1. 481114233733302E12). The present test was performed on a subset of the initial 7456 ion dataset after noise elimination. This subset contains a total of 184 samples and 3120 ions after various steps of pre-processing using XCMS and noise filtration. The ACorF tool was applied using parameters as close as possible to the ones of CAMERA to allow a better comparison: (i) a Pearson correlation as similarity measurement with a threshold of 0.
75 (as it is used as default setting in CAMERA); (ii) a RT threshold of 0. 1 min; (iii) the default list of known adducts and isotopes, with (iv) a mass threshold of 0. 002 Da, and (v) the representative ion selected as the one with the highest intensity. The second dataset, named 'Algae' (W4M00004_GCMS-Algae), was obtained from GC-MS analyses of algae samples (DOI:10. 15454/1. 4811272313071519E12) in Guitton et al. [13]. This dataset contains a total of 12 samples and 2908 ions after various steps of pre-processing using XCMS. The ACorF tool was applied using GC-MS recommendations: (i) a Pearson correlation as a similarity measurement with a threshold of 0. 90; (ii) a RT threshold of 0. 1 min; (iii) a list of known adducts and isotopes, with (iv) a mass threshold of 0. 2 Da due to low resolution of the quadrupole mass spectrometer, and (v) the representative ion selected as the one with the mass among those with highest intensity.
Functionalities We chose to compare the present tool to one of the most commonly used free packages proposing a grouping method and available as a W4M module: 'CAMERA. annotate'. Before comparing the results, the functionalities of both tools were listed in Table  1. The first important difference concerns the input format. The CAMERA R package requires the use of XCMS to pre-process raw data. Therefore, the CAMERA. annotate module takes an. RData as the input file resulting from the xcmsfill. peaks function. The advantage of the ACorF tool is to propose more universal inputs with three files that can easily be generated from any type of metabolomics data, whatever the software used to obtain the data. Another difference concerns the algorithm itself and in particular, the grouping step. To group ions, CAMERA defines an RT window for each peak, based on the highest intensity ion chromatogram, using 2 different parameters ([sigma] and [perfwhm]) related to the chromatographic peak characteristics.
Even if the user can optimise those parameters, CAMERA does not give the possibility to have an overview of their impact on each defined peak. The present tool is based on a different algorithm that proposes to the user to determine an RT window. In addition, in CAMERA, a list of mass differences for known adduct/isotopes is not used for the pc-group formation but only for annotation purposes. In ACorF, the user can choose a default list or his own list to group ions together with similarity and RT criteria to validate the fact that the redundancy observed most likely has an analytical origin. Finally, the major attractive feature of the present tool compared to CAMERA is its selection of a representative ion for each formed group, based on 4 alternative methods. This representative ion proposition allows dataset filtration by removing analytic correlations.
Example of Use: The Sacurine Dataset To illustrate the ACorF functionalities and the results obtainable on typical experimental data, the ACorF tool was applied to the Sacurine dataset, using parameters as close as possible to the ones of CAMERA to allow a better comparison. Within the 3120 ions, ACorF allowed the creation of 2697 groups, meaning that 14% of ions are proposed to be filtered from the dataset because of analytical redundancies. Using the generated *. sif file, a quick network visualisation was performed with Cytoscape (Figure  2 ). It represents the existing correlations >0. 75 between features for groups containing more than 10 ions. An overview of all the correlations >0. 75 existing in the analysed subset is available in Supplemental Figure  S2.
Result Comparisons To illustrate the performance of the developed tool, we compared its results obtained using the Sacurine dataset to those obtained using CAMERA. annotate in the published workflow. While CAMERA proposed 2238 pc-groups, ACorF proposed 2697 groups. With CAMERA, 89% of the pc-groups contained only one ion (1995) versus 77% for ACorF (2397). The numbers of ions in the other groups for both tools are presented in Figure  3. These histograms showed that the groups formed using the ACorF tool are smaller than the ones obtained from CAMERA. While CAMERA generated more than 20 groups of more than 10 ions, the proposed tool subdivided them into smaller ones corresponding to individual annotated metabolites.
Result Comparisons To illustrate the performance of the developed tool, we compared its results obtained using the Sacurine dataset to those obtained using CAMERA. annotate in the published workflow. While CAMERA proposed 2238 pc-groups, ACorF proposed 2697 groups. With CAMERA, 89% of the pc-groups contained only one ion (1995) versus 77% for ACorF (2397). The numbers of ions in the other groups for both tools are presented in Figure  3. These histograms showed that the groups formed using the ACorF tool are smaller than the ones obtained from CAMERA. While CAMERA generated more than 20 groups of more than 10 ions, the proposed tool subdivided them into smaller ones corresponding to individual annotated metabolites. To explore these results, we focused on the largest group formed by CAMERA, the pc-group#70, containing 50 ions, all eluting at the beginning of the chromatogram (small values of RT).
ACorF divided the pc-group#93 into 8 groups using all parameters. In particular, the subgroup#41 contains 10 annotated ions: 8 within the pc-group#93 and 2 more that are included in the pc-group#2729 (M292. 0134T309 and M292. 0214T309). An example of the annotation of mass defect between features using ACorF (mass threshold 0. 002 Da) is presented for sub-group#41 in Figure  5  and compared to an expert annotated raw spectrum, illustrating the validity of the mass defect grouping. Moreover, on this particular example, ACorF allowed for the annotation of sulfate and phosphate moieties that are not identified by CAMERA. On a global point of view concerning the Sacurine dataset annotation, ACorF provided in-source annotation from the ions of the dataset for 100% of the grouped variables, as it is one parameter of the grouping process, whereas CAMERA proposed annotation using hypothetic observable ions for 70% of its grouped features.
Use and Configuration ACorF can be used to process either LC-or GC-MS data; recommendations for different parameter settings for a successful filtration are the following: For UPLC/HRMS data, default parameters can be the following: (i) if a Pearson correlation is used, the default threshold can be set at 0. 90; (ii) a delta RT of 0. 1 min or adjusted depending on chromatographic systems; (iii) the use of the list of known adduct/isotope mass differences with a mass delta of 0. 005 Da or adjusted depending on MS resolution; and (iv) the choice of the ion with the highest intensity as the representative ion. For GC/HRMS datasets, we recommend to first filter the dataset to remove unspecific fragments of derivative agents. Then, the same parameters as above can be used, but we recommend choosing the ion with the highest mass among the top highest intensity as representative.
As an example, ACorF was also applied to process a GC-MS dataset publicly available on W4M named 'Algae' (W4M00004_GCMS-Algae). For GC-MS use, ACorF also allowed for the subdivision of some pc-groups into smaller ones (see supplemental Figure  S4 ). However, the main added value compared to CAMERA is the ability to perform the grouping using annotation (versus 40% annotations in grouped features with CAMERA) and choosing an adequate quantifier ion, more specific than the highest intensity ion. Different output files are produced for further data analysis steps within workflows. To perform dataset filtration following the ACorF utilisation, we encourage users to work with tools available in the W4M instance. The "Generic Filter" can be used to exclude all lines with a "0" value in the ACorF_filter column of the variableMetadata and to provide the filtered DataMatrix for further statistical analysis in W4M.
Conclusions We introduced a new tool, ACorF, which allows identifying and filtering the analytical redundancy within metabolomics LC-and GC-MS datasets. The developed algorithm uses three independent key parameters (any similarity measurement, retention time, and mass difference between features) to group ions part of the same metabolites and the intensity information to propose a representative feature of the group. Finally, as a key element within metabolomics data analysis workflow, this tool is available via the web-based galaxy platform W4M with generic input tabular files and propose different output files for visualisation for further data analysis within workflows.
Supplementary Materials: The following are available online at http://www. mdpi. com/2218-1989/9/11/250/s1, Figure  S1 : Total overview of correlation > 0. 75 within the Sacurine dataset, Figure  S2 : Presentation of the 3 input files for the analytic correlation filtration tool. Figure  S3. Example of annotation of mass difference between features for early coeluting compounds using ACorF (mass threshold 0. 002 Da) in comparison to CAMERA. Figure  S4 : Bar diagram presenting the number of groups (x-axis) by the group size (y-axis: number of ions per group) obtained from the GC-MS dataset (W4M00004_GCMS-Algae).
C. Setting and Tools For the first experiment, the crowd had to be present in a computer room. The participants were fully concentrated and did no further activities in parallel. For this experiment, we used a Java-based GUI called c17 implemented by ourselves for ROI labeling and the commercial software Aperio ImageScope (Leica Microsystems, Wetzlar, Germany) for ROI delineation. Tool c17 displays the current image, a progress line, a score comparing labels to the ground truth (GT), and a radio button for each class (see Supp. Mat. , Fig. 1 ). For ImageScope, we prepared a template with class names to ensure a common terminology for the crowd. For application at large-scale and convenience for students, we decided to switch to web applications such that the tasks could be finished outside the classroom.
In extreme cases, the user might only reveal the entitlement to the service and no claims. By using verifiable credentials users get more control over their personal data and service providers get an assurance of the authenticity and accuracy of the data. It is well-known  [35]  that due to privacy concerns and unwanted marketing the users are often giving false information when registering online. Even if only a small percentage of database entries is corrupted, the accuracy of analyses can heavily decline. In this paper, we present a cryptographic library emmy that encapsulates primitives and protocols used in anonymous attribute-based credentials (AABCs) which are the underlying cryptographic primitives for the verifiable credentials. We present its implementation and an example of a complete cloud system that uses AABCs for a privacy-and trust-enhancing service.
Note that emmy is not the first implementation of an anonymous authentication scheme. It will soon be two decades since the first one has been designed and implemented, however, this emmy's predecessor never really made it to any real-world application as it is based on (too) heavy computational machinery and lacks functionalities. The goal of this paper is to show how our library can be easily integrated into cloud services to provide controlled privacy to finally support and facilitate the development of privacy-aware and trust-enhancing cloud services. The library presented in this paper was partially implemented in European H2020 research projects FENTEC  [20]  (grant number 780108) and mF2C  [36]  (grant number 730929). The code with guidelines is available online  [19]. Contributions.
g. , range proofs, proofs of partial knowledge). Besides Fabric, the Hyperledger consortium provides tools, libraries, and reusable software components for providing digital identities rooted on distributed ledgers so that they are interoperable across different administrative domains and applications. Hyperledger Indy is available as open-source [29] and also contains an implementation of the Camenisch-Lysyanskaya anonymous authentication scheme  [11]. However, yet again, no machinery for ZKPs is provided. Microsoft released their version of a AABC system called U-Prove [49]. This library is complex and hardly usable for non-expert developers. It lacks functionalities such as range proofs and has not been maintained since 2014. U-Prove and idemix have been part of the ABC4Trust project  [42]  which addressed the federation and interchangeability of technologies that support ABCs.
IRMA  [45]  is another platform for privacy-friendly authentication, also based on the famous Camenisch-Lysyanskaya scheme  [11]. IRMA provides attributebased credentials integrated into the Android application and is thus not offered as a library which could be easily reused. Recently, a group of researchers presented their implementation of an AABC system called CLARC  [32]. The library implements a series of ZKP schemes but lacks a communication layer. In 2003, the Trusted Computing Group [48] adopted and standardized the Direct Anonymous Attestation (DAA) scheme  [4]  as the method for remote authentication of a hardware module, called Trusted Platform Module (TPM), while preserving privacy of the user of the platform that contains the module. Over the years, DAA implementations improved  [8, 6] , but they are still tightly bound to the TPM chip, which makes these constructions often too prohibitive for the use with low-resource devices (e.
Emmy Building Blocks Emmy  [19]  is a cryptographic library written in the Go language. It offers various schemes enabling the development of privacy-aware and trust-enhancing authentication systems such as AABCs. It is a fully-fledged software library that contains low-level cryptographic primitives and protocols as well as high-level communication procedures to facilitate simple integration with existing cloud services. Emmy implements the following layers: -Utilities layer provides various randomness related functions, like concurrent generation of safe primes (primes of the form 2p + 1, where p is also a prime). It provides mathematical functions, for example, for the decomposition of positive integers into a sum of squares (Lipmaa decomposition  [33] ), which is needed for the implementation of range ZKPs (to prove, in zeroknowledge, that some secret value is an element of an interval).
It consists of a client, server, and communication layer supporting the execution of the client-server protocols. Communication between clients and the server is based on Google's Protocol Buffers  [41]  and gRPC  [23]. Protocol buffers are a language-and platform-neutral flexible, efficient, and automated mechanism for serializing structured data. The developer needs to define the preferred structure of the data once, and then special generated source code is used to easily write and read the structured data to and from a variety of data streams, using different programming languages. In a client-server model, Remote Procedure Call (RPC) is a protocol that one program (client) can use to request a service from another program (server) located in a remote computer without having to understand network details.
A gRPC is a high-performance, open-source communication system. Although emmy is written in Go, it comes with compatibility package providing client wrappers and types (based on gRPC) that can be used for quickly generating bindings for other languages. The key ingredient of the Camenisch-Lysyanskaya scheme  [11]  is a representation proof in QR special RSA group. Heavily simplified, the scheme outputs a credential in the form of a triplet of large integers (A, e, v). The user proves to the verifier that he knows the attribute values a 1 , a 2 ,. , a k such that A e = g a1 1 • g a2 2 • • • • • g a k k • S v. If a user does not want to reveal a 1 (for example name, address or some other attribute which might reveal the user identity), he proves the knowledge of values a 2 ,. , a k such that A e • g -a1 1 = g a2 2 • • • • • g a k k • S v When the credential is issued, for some attribute values only commitments can be revealed to the issuer.
Integration of emmy into the Cloud Service The user first needs to install the emmy app which is a smartphone app or browser extension (if emmy app is provided in a web browser, it has to be shipped as a browser extension which are installed in a secure way  [28] ). Emmy app offers a graphical user interface to the emmy client. The first time user uses emmy app a password needs to be set up. By using a password-based key derivation function PBKDF2 [39] emmy generates a key which is used to encrypt the secrets (credentials) that are stored internally in emmy app database. The process to obtain a credential from the CA is depicted in Figure  1. The user goes to the CA website and uploads the photographed documents. An authorized person verifies the documents and triggers registration key generation.
The registration key is sent to the user by e-mail. The registration key is then passed to the emmy app and the CA emmy server is contacted to obtain a credential. CA comprises three components: registration server (website), emmy server, and emmy server database. Obtaining a credential is a multi-step process. First, emmy app establishes gRPC connection and then executes a call to obtain a credential structure (regKey is the key returned from the Registration server): client, err := NewCLClient(grpcClientConn) rc, err := client. GetCredentialStructure(regKey) Emmy server returns the structure of credentials it can issue. The structure can contain known and committed attributes. Respectively, these represent attributes with values known to the issuer and the attributes for which only the committment of a value is known to the issuer.
For each attribute the type of the value (type: string / int / bool) is specified and whether the attribute value is known to the issuer or not (known: true / false). Note that in our case only known attributes are used and emmy server could fill the credential with values by itself as it has an access to the database where attributes corresponding to the registration key are stored. However, these values could be then changed by the user and have to be thus validated again when the credential is being issued. Emmy API offers UpdateValue function to set the attribute values of the credential: name, _ := rc. GetAttr("Name") err = name. UpdateValue("Jack") Before the client can call IssueCredential method, a user's master secret key needs to be generated and CredManager needs to be instantiated.
masterSecret := pubKey. GenerateUserMasterSecret() Public key pubKey needs to be provided by an issuer. Among other parameters it provides information about the QR special RSA group which is used for attributes and Schnorr group which is used for a master secret key. Secret key masterSecret is encoded into every user's credential as a sharing prevention mechanism. User can only share a credential if he shares a master secret key. Thus, if he shares one credential, all his credentials are shared. CredManager manages all ZKP interactions between the emmy client and emmy server. The IssueCredential method can now be triggered: cred, err := client. IssueCredential(cm, regKey) CA (emmy server) retrieves the attributes from the database and checks whether they are the same as attributes sent from the user which are to be encoded in the credential.
If everything is ok, the credential is returned to the emmy app. It stores it in the internal database which is encrypted by the key generated from the user's password. The credential comes in the form of a triplet of large numbers (A, e, v). Whenever the possession of a valid credential needs to be proved, properties of the triplet are being proved using ZKPs (see 4). To provide unlinkability, a triplet is randomized by CredManager before the possession of a credential is proved. Verifiable credentials can provide (partial) anonymity: user can reveal only partial information which do not reveal the identity. However, service provider could still observe the IP address and could thus identify the user. To provide a fully anonymity, credentials need to be used together with the privacy tools that reroute Internet traffic via public nodes such as VPN services or TOR [47] software.
Conclusions and Future Work Despite the internet reputation for anonymity, it is very difficult to perform any action online with true privacy. On the other hand, verifying identity is cumber-some and often relies on replicated versions of offline systems which are usually imperfect analogues to showing a physical credential to a human verifier. In this paper, we presented a cryptographic library which provides a complete analogue to reliable offline systems and at the same time provide many advantages due to its digital nature. Most notably, the user can reveal only selected claims to the service provider. In our future work, we plan to open source the emmy smartphone app and the registration server. Additionally, we plan to extend the registration server to support other verification processes, in particular, physical verification, QR code verification, and verification by using anonymous payment using cryptocurrencies.