dataesr/scientific-paragraphs-categorization huggingface dataset:
De Bruijn graphs can be readily computed through a scan of the datasets including the raw reads, genomes or multiple sequence files. In practice, such a scan often consists in -mer counting as this allows efficient denoising of the graph, e. g. , by k removing low-frequency -mers corresponding to sequencing errors in the reads. Algorithms for -mer counting k k have been extensively studied and many well-engineered software solutions are available  [28] [29] [30] [31] [32] [33] [34] [35] [36]. On the other hand, de Bruijn graph representations have received much less attention. The most commonly used representation are unitigs, which are strings resulting from compaction of -mers along maximal paths with k non-branching nodes  [37, 38]. Unitigs have many advantages: the representation is "textual", in the form of a set of sequences that contain each -mer exactly once while preserving graph topology.
1 , Methods). In an iterative fashion, the algorithm selects an arbitrary -mer as a k seed of a new simplitig and keeps extending it forwards and then backwards as long as possible, while removing the already used -mers from the set. This process is repeated until all -mers are covered. Loading -mers into k k k memory and simplitig computation are linear in the length of the input and the number of -mers, respectively, k 4 and the memory footprint is linear in the number of -mers. We implemented Alg. 1 in a program called k ProphAsm, available at https://github. com/prophyle/prophasm.
Performance assessment We then analyzed the computational resources that had been used to compute the simplitigs using ProphAsm and the unitigs using BCALM ( Fig. 3  ). Both representations were computed in the environment of a computational cluster, with individual experiments deployed as parallel jobs using SLURM (Methods). Even though we primarily focused on the total CPU time, we also tested BCALM using 4 threads to evaluate the effect of parallelization. We observe that throughout our experiments ProphAsm outcompeted BCALM, both in terms of the memory consumption and the CPU time, even if BCALM was run with 4 threads ( Fig. 3  ). The only exception was the memory consumption for H. sapiens , suggesting that BCALM may be more memory-efficient for large genomes. Importantly, ProphAsm used a consistent amount of resources: memory 38-51 bytes of RAM per -mer in the k dataset, a limited CPU time and no additional disk space.
4a  , left-hand column). However, when the number of -mers included is used instead, the NS and CL functions act as affine functions ( Fig. 4a  , k right-hand column). This suggests that a pan-genome -mer count and a species-specific slope may be used as the k predictors of simplitig performance in future applications. To analyze the relative benefit of simplitigs with growing de Bruijn graphs, we evaluated the NS and CL reduction ratio of simplitigs over unitigs in different configurations ( Fig. 4b  ). We used the same N. gonorrhoeae dataset and considered also another dataset of S. pneumoniae , consisting of 616 draft Illumina assemblies of isolates from a carriage study of children in Massachusetts, USA  [42, 43]. For both species and for , we constructed a 8, 1 k = 1 3 series of de Bruijn graphs as previously, but this time we visualized the NS and CL reduction ratios.
Multiple pan-genomes We evaluated the performance of the simplitig representation for simultaneous indexing of a large number bacterial pan-genomes ( Fig. 6  ). We downloaded all complete bacterial genomes from Genbank that had not been excluded from RefSeq (as of May 2020; 9,869 records out of which 9,032 had genomic sequences available; Methods). We restricted ourselves to complete genomes as draft genomes in Genbank are substantially impacted by false genetic variability  [48] [49] [50]  that is particularly common in bacterial studies, mainly due to the contaminant DNA  [51]. By grouping individual genomes per species, we obtained 3,179 bacterial pan-genomes which we call the "All" dataset. After computing simplitigs and unitigs per species, we merged the obtained representations and constructed indexes using BWA; all this was done for to evaluate the impact of the -mer length.
As the unitig 9, 3, 7, 1 k = 1 2 2 3 k index could not fit into RAM of our desktop computer for any , we also created the "Solid" dataset by omitting k pan-genomes with less than 11 genomes; this resulted in 112 pan-genomes with 3,958 genomes. We provide all the constructed pan-genomes in the form of simplitigs on Zenodo ( 10. 5281/zenodo. 3800713 ). First we analyzed the obtained simplitig and unitig representations of both datasets ( Fig. 6a  ). We observe that simplitigs provide substantial improvement in both test characteristics. In the Solid dataset, NS and CL were reduced by simplitigs by factors of 3. 1-4. 5 and 1. 4-1. 9, respectively; and in the All dataset, NS and CL were reduced by factors of 3. 0-4. 3 and 1. 2-1. 4, respectively; all consistent with the scaling observed previously ( Fig.
4  , Fig. 5  ). While the improvement in NS was almost identical in both datasets (consistent with the top-right graph in Fig 4b ), the improvement in CL was clearly better in the Solid dataset. Indeed, as the vast majority of pan-genomes in the All dataset contained only one genome, the de Bruijn graphs had a comparatively low number of branching nodes, therefore the difference between simplitigs and unitigs was less striking (consistent with the values for small pan-genome sizes in Fig  4b  ). We also observe that, in contrast to unitigs, -mer length had only little impact on k the CL of simplitigs within the tested range, which provides better guarantees on required computational resources in future applications. We then measured the performance of -mer lookup ( Fig. 6b  ). Both on a desktop and on a cluster, we evaluated k memory footprints, index loading time and time to match ten million random -mers from the index using BWA k 15 (Methods).
Discussion We introduced the concept of simplitigs, a generalization of unitigs, and demonstrated that simplitigs constitute a compact, efficient and scalable representation of de Bruijn graphs for various types of genomic datasets. The two representations share many similarities: they are text-based and individual strings correspond to spellings of vertex-disjoint paths. Both representations can be seen as irreversible transforms, taking a set of input strings and producing a new set of strings preserving the -mer sets. In both cases, the resulting files can easily be manipulated k using common Unix tools, compressed using standard compression techniques, and indexed using full-text indexes. The main difference consists in that simplitigs do not explicitly carry information about the topology of the de Bruijn graph.
Also simplitigs are not expected to have direct biological significance -neighboring segments of the same simplitig may correspond to distant parts of the same nucleic acid or even to different ones. Nevertheless, unitigs can always be recomputed from simplitigs, but this step is not required for many common applications. Furthermore, a concept analogous to simplitigs, called disjointigs, was recently introduced in the context of genome assembly using A-Bruijn graphs  [52, 53]  , suggesting that simplitigs may be useful beyond the context of topology-oblivious applications. We provided ProphAsm, a tool implementing a greedy heuristic to efficiently compute maximal simplitigs from a k -mer set. ProphAsm is a spin-off of the ProPhyle software ( https://prophyle. github. io ,  [22, 54]  ) for metagenomic classification, allowing efficient indexing of -mers propagated to individual nodes of a phylogenetic tree.
Nevertheless, characteristics other than speed could readily be prioritized instead. For instance, a more sophisticated heuristic may shift the CL and NS closer to the optimum. One could also aim at adding biological meaning to simplitigs, e. g. , by preferring those paths that are better supported by sequence data. On the other hand, streaming algorithms for operations such as merging or intersecting may require specific prescribed forms of unitigs. Finally, simplitigs may be optimized for entropy in order to maximize their compressibility. The data presented in this paper highlight the scaling of computational resources as more sequencing data become available. The studied N. gonorrhoeae dataset constitutes a relatively complete image of a bacterial population in a geographical region at a given time scale.
As such, it can be used to model the "state of completion" of -mer-based k pan-genome representations. On the other hand, the multiple pan-genomes experiment shows how simplitigs perform when a large number of such pan-genomes, although in different states of completion, are considered simultaneously and queried using a single BWT index. Overall, the presented experiments allow us to predict the resources for species for which only limited sequence data are available at present, but more are likely to be generated in the future. Importantly, with more data available, comparative benefits of simplitigs over unitigs grow as we have shown throughout the paper. As the growth of public databases negatively impacts the accuracy of those algorithms that operate on top of lossily represented de Bruijn graphs  [58]  , simplitigs provide a promising solution offering both exactness and scalability.
We anticipate better implementations and libraries for simplitigs that can be plugged into standard bioinformatics libraries for various programming languages. Another series of questions is related to low-memory transformations of computed simplitigs that would allow precomputing simplitigs on computer clusters, and tailoring to specific applications on standard computers; this includes decreasing , performing set operations on top of simplitig sets and computing maximal unitigs from k simplitigs. A substantial body of work can be anticipated in the direction of text indexing -we showed that simplitigs can be combined with full-text indexes; however, specialized simplitig indexes exploiting simplitig characteristics are yet to be developed. On the theoretical side, many perspectives are open in the direction of orthogonal algorithmic techniques, such as sketching  [74, 75]  , and in relation to other stringology concepts, such as 21 minimal absent words  [76]  and shortest superstrings  [77].
Finally, simplitigs can serve as components in design of various specialized data structures; these can involve membership queries of classes of de Bruijn graphs and colored de Bruijn graphs, where simplitigs may encode not only the -mers themselves, but also additional metadata such k as -mer frequencies or colors. Furthermore, simplitigs will facilitate new full-text-based data structures for k approximate matching, based on the inclusion of the proximity variation, that would be completely intractable with unitigs. Overall, we anticipate that the simplitig representation will become a generic compact representation of de Bruijn graphs, in particular, in the context of large-scale sequence data search engines  [69]  and sequence data repositories such as those of NCBI and EBI. 22.
Supplementary were downloaded from the SRA FTP server using the accession codes provided in Table  1  in  [43]. For each of these datasets, an increasing number of genomes was being taken and merged, and simplitigs and unitigs computed using ProphAsm and BCALM, respectively. This experiment was performed for and To avoid excessive 8 k = 1 1. k = 3 resource usage the functions were evaluated at selected points in an increasing distance: for intervals [10, 100] and [100,+∞] only multiples of 5 and 20 were evaluated, respectively.
Experimental evaluation -full-text k -mer queries In the single pan-genome experiment, the same 1,102 assemblies of N. gonorrhoeae were merged into a single file. ProphAsm and BCALM were then used to compute simplitigs and unitigs, respectively, from this file for. Each of the three obtained FASTA files (assemblies, simplitigs, and unitigs) was used to 9, 23, 27, 31 k = 1 construct a BWA index, which was then queried for -mers using 'bwa fastmap -l {kmer-length}'. We used a k modified version of BWA fastmap that reports both the time of index loading and the time of querying ( http://github. com/karel-brinda/bwa , commit e1f907c). Query -mers were generated from the same pan-genome k using WGsim (version 1. 10, with the parameters '-h 0 -S 42 -r 0. 0 -1 {kmer-length} -N 10000000 -e 0'). For the multiple pan-genome experiment, a list of available bacterial assemblies was downloaded from ftp://ftp.
ncbi. nlm. nih. gov/genomes/genbank/bacteria/assembly_summary. txt (2020/05/05). For all assemblies marked as complete (i. e. , the "assembly_level" column equal to "Complete genome") and present in RefSeq (i. e. , an empty value in the column "excluded_from_refseq"), directory urls and species names were extracted (n=9,869). These were then used to download the genomes of the isolates using RSync, restricting to genomic sequences only (i. e. , files matching '*v?_genomic. fna. gz', n=9,032). The downloaded assemblies were then merged per species in order to collect -mers of individual pan-genomes and used for computing simplitigs and unitigs using ProphAsm k and BCALM, respectively. The obtained simplitig and unitig files were then merged per categories (e. g. , simplitigs for k=19) and used to construct a BWA index.
A : The ATLAS collaboration defines methods, establishes procedures, and organises advisory groups to manage the publication processes of scientific papers, conference papers, and public notes. All stages are managed through web systems, computing programs, and tools that are designed and developed by the collaboration. A framework called FENCE is integrated into the CERN GitLab software repository, to automatically configure workspaces where each analysis can be documented by the analysis team and managed by the relevant coordinators. Continuous integration is used to guide the writers in applying consistent and correct formatting when preparing papers to be submitted to scientific journals. Additional software assures the correctness of other aspects of each paper, such as the lists of collaboration authors, funding agencies, and foundations.
ATLAS publication process strategy The ATLAS experiment supports a wide physics program to explore the fundamental nature of matter and the associated forces. To do so, it makes use of the Large Hadron Collider (LHC), which collides protons at almost the speed of light and a center-of-mass energy of 13 TeV. To carry out such a physics program, physicists need software and graphical tools to analyze the data and compare them to theoretical models. Once a data analysis is finished, the group of researchers start developing one or more documents that will be published to report their results. ATLAS is organized into several Physics and Combined Performance working groups and subgroups, as well as several Projects (e. g. sub-detector projects) and Activities (e. g. the Trigger or Computing activity).
g. for erratum submission and acceptance) are finally incorporated into the record. This is the last step of the workflow, which closes the procedure and makes available the references to the publication on the arXiv, public web pages, and the INSPIRE-HEP database  [7]. ATLAS members interact with this workflow through web-based systems developed using the FENCE framework, which is described in Section 3. The technical implementations for each phase, with a focus on Phase 0, as well as the integration with GitLab are described in Section 4. The metadata filled in any of the Phases are exported to web sites to display the necessary information, including the Public Results pages. Some of the metadata are also used internally by the collaboration to monitor the journal submission process or related activities.
The FENCE framework FENCE is an object-oriented PHP  [9]  framework designed for the development of web applications. It encompasses the concepts of encapsulation, data abstraction, polymorphism, and inheritance. FENCE uses an Oracle  [10]  database (DB) to store the data fetched and displayed in its interfaces. Oracle is the default DB management system used, although with some development effort, other relational database services such as MySQL  [11]  and Microsoft SQL Server can be used.
The main concepts of FENCE The FENCE framework is composed of a library of helper classes that are extensible program-code templates for creating objects. Any new class can be coded and added to the framework, extending its capabilities, and can then be reused in different systems. One example is the Search class that provides methods to create search interfaces to filter the data through predefined search attributes. Likewise, the SuperSearch class offers an advanced search interface where the user can build queries using logical operators. The inputs that are entered into a form can easily be added using classes such as DateInput and MemberInput, which provide a calendar-based input and a selection box with the list of all members of the collaboration, respectively. The FENCE Workflow class represents a state machine.
Security in FENCE Alongside the features FENCE offers, securing the information stored in the applications' databases is also a responsibility of the framework. For that, authentication and authorization layers are built-in to ensure, respectively, the authenticity of users' credentials and the availability of proper resources based on the users' permissions. CERN provides an official Single-Sign On (SSO) authentication solution, which is used by all applications available within the CERN network. The authentication service provides a list of E-groups that a member owns or is part of in the collaboration. FENCE implements a BaseUser class which makes use of the information given by the SSO to control access to the application resources. Additionally, an internal validation is done to verify the registration of the authenticated user in the application database.
This extra check is needed to map the authenticated user identifier to the one used internally by the FENCE applications to define relationships with other entities. Once the authentication is done, the set of functionalities available for the user is restricted or expanded according to the roles to which they are associated. These roles can be defined either by the users' E-groups, obtained from the authentication service, or user groups defined in the application database. A User class encapsulates the access to the users' roles and is ultimately used to check them when building interfaces.
The main functionalities of the Phase 0 system The Phase 0 system incorporates three main interfaces. The first is presented in Figure  4  and allows the submission of a new analysis. At this stage, ATLAS users must provide the initial description of the article or public note in order to start writing. The interface presents a web form that contains several fields, some of which are mandatory. If all fields are filled correctly, the form information is stored in the database, gathering the information that defines an analysis such as its title and reference code. The second interface presents advanced search functionality and allows a user to define complex logical expressions as search criteria. Users can also configure the search results by grouping them by attributes, selecting the visible attributes, or saving those configurations locally for use in a future search.
Search results can also be exported in comma-separated value (CSV) file format. Finally, the publication details interface, the main interface of the system, shown in Figure  5 , presents metadata and allows their editing. The interface also controls the workflow of Phase 0 activities, providing an overview of all its stages and highlighting the previous, current, and upcoming ones. A transition between Phase 0 steps triggers actions. The most common action is storing data in the database. If allowed, a user has the option of saving the data and staying at the same step by pressing the "Save" button, or saving the data and moving to the next step by pressing the "Proceed" button. When one moves forward in the workflow, the system triggers automatic alert messages that provide instructions to the person(s) responsible for the next step.
FENCE-GitLab integration The first interaction between FENCE and GitLab happens when a Phase 0 entry is created. A GitLab group and a first internal note repository are automatically created using a boilerplate set of standard files and configurations. The first commit to this repository is obtained from a source repository, a package containing file templates. FENCE is responsible for substituting all the necessary variables into all the file templates (e. g. automatically naming some files using the analysis reference code). Another FENCE and GitLab integration process is executed when Phase 0 is finished or is skipped, thus proceeding to Phase 1. FENCE automatically creates a publication repository, setting all the configuration elements that are needed. That means that the creation and the configuration of the repositories holding the documentation is done without any input or intervention from the editors, allowing for a streamlined process.
Continuous checks with GitLab CI GitLab CI tools are designed to automatically execute a set of tasks every time a new modification is introduced into the document, which happens on every new commit pushed to the document repository. A command line tool called PO-GitLab was developed to perform a variety of checks on a given document. Those checks verify distinct aspects of an ATLAS publication, from style guidelines to internal conventions, and is implemented in Python. The application architecture is based on the isolation of each component that performs the verifications in abstractions that represent a job from the pipeline. Each job is represented as a single code path which can be executed without affecting the others, which allows for new and more complex tasks to be added continuously, and facilitates the reuse of each component for creating new pipelines.
This section points out differences between original and target references authors' first name punctuation, which can follow the rules X. or X. Y. or X. -Y. or X-Y. with or without spaces; • institutes that seem to be missing from the pdf file. Here false positives are often due to the difficulties extracting and correctly encoding/decoding special glyphs in the pdf file format, which make the comparison fail; • institutes with close matches. All the entries that look like the original but have some inconsistencies land in this group. Some publishers replace, for example, "USA" with "United States of America" (or vice versa). Sometimes there is a new character that doesn't corrupt the institute entry, but makes the match imperfect, for example, "Università" and "Universit'a"; this is one of the problems that often occurs due to the difficulties of extracting data automatically from a pdf file.
In early 2019, due to changes in CERN systems, the component written in Prolog which ran the comparison went out of service. This implied an urgent need for a new tool for this task. Python was chosen as the programming language for the new comparison engine. A way to obtain the best match among all the items of an array of institutes and authors was sought, because one cannot rely on finding an author or institute in the same position of the sequences in the xml and pdf files. For this purpose the concept of Levenshtein distance  [13]  was applied, so that a weighted index of similarity can be obtained to decide what is matched with what, and to then effectively check for anomalies. The Levenshtein distance between two words is the minimum number of single-character edits, such as insertions, substitutions or deletions, required to change one word into the other.