dataesr/scientific-paragraphs-categorization huggingface dataset:
RESULTS AND DISCUSSION Taxoblast was used to screen the published genome of Saccharina japonica for potential traces of foreign DNA. This genome had already been treated post-assembly to remove bacterial contamination using blastx searches of entire scaffolds against the NCBI nr protein database in combination with analyses of ORF density and GC contents  (Ye et al. , 2015). Only scaffolds >2kb were considered for our analyses, and blastn searches were carried out against the NCBI nucleotide (nt) database  (version July 19th, 2016)  with an e-value cutoff of 0. 01. Please note that decreasing this cutoff to 1e-5 had virtually no impact on the results obtained. The total calculation time for the blast analyses on the cluster of the "Analysis Bioinformatics for Marine Science" (ABIMS) platform (http://abims.
sb-roscoff. fr) was five days. The other steps of the analysis took less than 10 min on a 2. 8 GHz Intel Xenon desktop computer. This reasonable total runtime was achieved although the megablast algorithm used in our pipeline is 909 times slower than Kraken and 83 times slower than MetaPhlAn  (Wood & Salzberg, 2014) , mainly because our pipeline analyzes only the assembled genome data rather than running on raw reads. Taxonomic summaries were calculated first with the aim of distinguishing eukaryote (taxon 2759) from bacterial (taxon 2) sequences, and in a second round to distinguish diatom (taxon 2836) from brown algal (taxon 2870) sequences. Both bacteria and diatoms are known to form algal biofilms  (Lage & Graca, 2016)  and are thus common contaminants in cultures of marine algae. Despite previous cleaning efforts undertaken prior to the publication of the S.
Data Availability The following information was supplied regarding data availability: TaxoBlast (including the source code) is freely available at http://sdittami. altervista. org/ taxoblast and via SourceForge (https://sourceforge. net/projects/taxoblast/). The S. japonica genome analyzed is available in Genbank under accession number JXRI00000000. 1  (Ye et al. , 2015).
Genome-wide somatic mutation profiles of tumours can now be assessed efficiently and promise to move precision medicine forward. Statistical analysis of mutation profiles is however challenging due to the low frequency of most mutations, the varying mutation rates across tumours, and the presence of a majority of passenger events that hide the contribution of driver events. Here we propose a method, NetNorM, to represent whole-exome somatic mutation data in a form that enhances cancer-relevant information using a gene network as background knowledge. We evaluate its relevance for two tasks: survival prediction and unsupervised patient stratification. Using data from 8 cancer types from The Cancer Genome Atlas (TCGA), we show that it improves over the raw binary mutation data and network diffusion for these two tasks.
As a result, the mutation profiles of two tumours often only share a few if any genes in common. Third, even if originating from the same tissue, tumours may exhibit widely varying mutation rates. The overall mutational burden of a tumour constitute a strong and informative signal  [16] [17] [18]  but can however complicate the retrieval of more subtle signals. Combined with the inherent high dimensionality of somatic mutation datasets, this makes any statistical analysis of cohorts of whole-exome somatic mutation profiles extremely challenging. In order to make somatic mutation profiles more amenable to statistical analysis, several studies have used gene networks as prior knowledge  [19, 20]. Considering genes in the context of networks instead of analysing them independently allows sharing mutation information among neighbouring genes and identifying disruptions at the level of pathways or protein complexes instead of single genes.
NetNorM provides state-of-the-art prognosis for patient survival based on mutation profiles To assess the relevance of NetNorM, we first explore the capacity of somatic mutations to predict patient survival. We collected a total of 3,278 full-exome mutation profiles of 8 cancer types from the TCGA portal (Table  1 ), censored survival information and clinical data. In parallel we retrieved a gene network to be used as background information for NSQN and Net-NorM: Pathway Commons, which integrates a number of pathway and molecular interaction databases  [34]. For each cancer type, we use these data to assess how well survival can be predicted from somatic mutations. For that purpose, we perform survival prediction with a sparse survival SVM (see Methods) using either the raw mutation profiles or the profiles processed with NSQN or NetNorM, respectively, and assess their performance by cross-validation using the concordance index (CI) on the test sets as performance metric.
55. For the two remaining cancers, LUAD and SKCM, the best performances are those obtained with NetNorM using Pathway Commons, with median CI of 0. 62 and 0. 61 respectively. Across all cancers, methods, and networks combinations, these two cases are the only ones where the median CI obtained exceeds 0. 60. Finally, as mutations in some genes are known to be associated with survival, such as TP53 in BRCA and HNSC which is associated with worsened survival  [39] , we evaluate the prediction ability of individual genes' mutation status. For each cross-validation fold, the gene giving the best concordance index on the training set is selected and its performance evaluated on the test set. We find that for 5 cancers, the performances of individual genes are similar to those of the survival SMV applied to the whole raw mutations datasets (S3 Fig).
However for BRCA and HNSC, better survival predictions are obtained using a single gene than the whole raw mutational profiles. Yet these predictions are not better than those obtained with NetNorM. For these two cases, TP53 is the gene selected in the majority of folds (17/20 for HNSC and 19/ 20 for BRCA), which is in accordance with existing literature (S1 Table ). Lastly, the survival SVM applied to the whole dataset yields significantly better performances than the single gene approach for LUAD. This means that contrary to the BRCA and HNSC cases, the linear combinations of genes which are found for LUAD have a predictive power that generalises well to unseen data. In summary, these results show that for at least 6 out of 8 cancers investigated, somatic mutation profiles have a prognostic value, and that for two of them (SKCM and LUAD) it is possible to improve the prognostic power of mutations by using gene networks and to reach a CI above 0.
More importantly, most GCs exhibit high weights in one metapatient and low weights in others, suggesting that they are mainly enriched in mutations in one single patient subtype (Fig  9b ). χ 2 contingency tests (see methods) for each GC confirms that for most of them (17/20), the distribution of the mutations across patient subtypes is not that expected according to subtypes' overall mutational burdens (P < 5 × 10 -2 ) (S4 Table ). The contribution of each subtype to the test statistic for each GC also confirms that GCs are often enriched in mutations in mainly one patient subtype (Fig  9d ). Subtypes could thus easily be associated with one or several GCs, and therefore pathways through pathway enrichment analysis using the KEGG database  [54]  (see Methods). Consequently, subtype 3 is characterised by an enrichment in mutations in genes associated with ribosomes and spliceosomes (GCs 2, 3, 4, 5, 6, 7, 8, 17, 18, 19) (S4 Table ).
Increasing the relevance of mutation data to various tasks is a broad project and NetNorM could be extended in many ways. First, although NetNorM was successful for LUAD and SKCM, we note that the method brings few improvements compared to the raw data for the remaining cancer types. Therefore extensive efforts are needed to determine whether it is possible to design representations of mutations that would increase the statistical power of models learned on these datasets. Second, NetNorM does not integrate further information about mutations such as their predicted functional impact. A possible extension could therefore include this type of information. Finally, the distribution of values for the normalised profiles is defined as the mean distribution of the original profiles in the case of NSQN, and simply a binary vector with a fixed number of 1's in the case of NetNorM, however these choices are empirical.
Gene-gene interaction network Pathway Commons (http://www. pathwaycommons. org/pc2/downloads) was used throughout this work (Pathway Commons v6, SIF format). It integrates gene networks from several public databases and aggregates both genetic and protein-protein interactions (PPIs). PPIs refer to physical contacts established between proteins while genetic interactions refer to interactions through regulatory and signalling pathways. To remove interactions involving small molecules in Pathway Commons, the following interaction types were filtered out: "consumptioncontrolled-by", "controls-production-of", "controls-transport-of-chemical", "chemicalaffects", "reacts-with", "used-to-produce", "SmallMoleculeReference", "ProteinReference; SmallMoleculeReference", "ProteinReference". We obtained a network with 16,674 nodes (genes) and 2,117,955 edges (interactions).
Sparse survival SVM To estimate a survival model from high-dimensional mutation profiles, we use a survival SVM model  [59] 8 > > > < > > > : Finally, let x i 2 {0, 1} p be the mutation profile of patient i. The survival time of patient i is modelled as s i = w T x i where w 2 R p is the model parameter learned using ranking Support Vector Machines (rSVM) as in  [59]. However to get a sparse w we introduce an ℓ 1 regularisation instead of the ℓ 2 regularisation in  [59]  and thus solve the following optimisation problem: minimise w 1 2 jjwjj 1 þ C X i;j Z ij ' hinge ðw T ðx j À x i ÞÞ ; where ℓ hinge (u) = max(1 -u, 0) is the hinge loss and C 2 R is the regularisation parameter. To solve this problem we used the support vector classification algorithm svm. LinearSVC from the Python package scikit learn  [60].
This optimisation problem maximises a convex relaxation of the Concordance Index (CI) which measures how well the predicted survival times s are in accordance with the observed survival times y for the comparable pairs of patients. Formally, CI ¼ 1 jZj X y i y j Z ij Iðs j À s i Þ where IðxÞ ¼ 1 if x > 0 ; 1 2 if x ¼ 0 ; 0 otherwise ; 8 > > > > < > > > > : and jZj ¼ X y i y j Z ij. To evaluate the CI obtained on a given dataset, samples were split in 80% train and 20% test sets 20 times using 4 five-fold cross-validation. Each time, a model was learned on the training set and tested on the test set. The CI was computed according to a python implementation of the function estC from the R package compareC. Hyperparameters were learned thanks to an inner 5-fold cross-validation on the training set.
Patient stratification Let X 2 R nÂp be the matrix with patient mutations profiles as rows. To cluster the patients we perform a non-negative matrix factorisation (NMF) on X, i. e. , solve the following optimisation problem: minimise W;H>0 jjX À WHjj 2 2 ; where H 2 R NÂp defines N basis vectors or "metapatients" and W 2 R nÂN defines basis vectors loadings. Patient i was then assigned to the group j 2 {1‥N} that represents him best i. e. argmax j W ij. To promote robust cluster assignments, NMF was applied 1000 times to subsamples of the dataset composed of 80% of the samples and 80% of the features chosen at random without replacement. A consensus matrix C 2 R nÂn was then derived from the 1000 cluster assignments obtained where each entry C ij corresponds to the frequency at which two patients where clustered in the same group over all samplings where both patients were retained.
The obtained set of genes is the one tested for enrichment in mutations across subtype. In the second case, the gene cluster is directly tested for enrichment. Enrichment is assessed with a χ 2 contingency test, where the contingency table is defined by the following marginals: the total number of raw mutations in each subtype, and the total number of raw mutations in and outside the gene cluster (generalised to the embedding of a dense subgraph if it is relevant). Gene clusters are searched for pathway enrichment using DAVID online tool  [62]  (https:// david. ncifcrf. gov/summary. jsp) with the KEGG database  [54]. They are also tested for enrichment in late replicating genes thanks to a permutation test using data downloaded from http:// www. broadinstitute. org/cancer/cga/mutsig_run. For each gene cluster c of length l c , l c genes are chosen uniformly at random without replacement from the list of genes with replication time information.
Methods Simulations. MTs of persistence length lp are described as bendable filaments of rigidity κ = k B Tlp, in which k B T is the thermal energy. The associated bending energy is 1  2 κ L 0 (d 2 r/ds 2 ) 2 ds, where r(s) is the position as a function of the arclength s along the filament. The dynamics of such a system was simulated in Cytosim, an Open Source simulation software  (29). In Cytosim, a filament is represented by model points distributed regularly defining segments of length s. Fibers are confined inside a convex region of space Ω by adding a force to every model point that is outside Ω. The force is f = k(pr), where p is the projection of the model point r on the edge of Ω, and k is a stiffness constant. For this work, we implemented a deformable elliptical surface confining the MTs, parametrized by six parameters.
Introduction SAT solvers feature prominently in many fields of Computer Science, such as Formal Methods  [2] , Security  [11]  and Artificial Intelligence  [8]. It is no surprise that in addition to improving SAT solver performance, the correctness and trustability of their results is also an area of focus. One of the main venues that drive and compare the different solvers are the annual SAT competitions  1. The results of these competitions show a steady increase in performance of SAT solvers. This improvement is achieved by designing more sophisticated solvers. However, improvements in design come at a price. The more sophisticated the prover is, the harder it is to understand, prove its code as correct, and trust its result. An example of this tradeoff is Lingeling  [3] , a leading SAT solver used extensively in the industry, which was found to have a bug after years of use  [13].
The simplicity of the code means that many programmers are capable of writing such certifiers. While writing these certifiers in other programming languages will require the implementation of the mechanisms mentioned above, the kernels will still be relative simple. In addition, there already exist many implementations of Prolog which can execute the above certifiers. If a bug exists in one implementation, we just need to certify the proof evidences using different implementations. Second, our certifier is using as a reference the propositional sequent calculus, which is one of the most foundational calculi. Compared to the resolution and other calculi mentioned in this paper, its meta-theory depends on just a few notions such as substitutions and regularity. ProofCert certifiers also enjoy a high level of universality.
The easiest approach would be to preprocess the certificates using a (untrusted) theorem prover. The key ideas in this paper are using a simple and readable trusted kernel based on the propositional sequent calculus  [5]  and defining the certifier so as to guide proof search in an "almost" deterministic way, which will preserve a tight bound on the complexity of the certification process. The prototype certifier presented in this paper targets certificates in the Trace format and can currently certify only small examples due to an inefficient implementation based on lists, instead of on Prolog's own predicate database. The implementation is used in order to show that by supplying specific instances of Trace certificates, we can eliminate most search when looking for a proof over the sequent calculus.
Relaxing the restriction on the certificates, our current certifier's performance declines sharply. We plan on improving its performance by using more efficient data structures. The approach most similar to ours is the one taken by the first-order resolution certifier "Checkers"  [4]. The main differences lie in the emphasis on deterministic search in our case as well as in the underlining programming language. The next section introduces the main technicalities used in the paper, the focused sequent calculus, the ProofCert approach and the Trace format. We then describe in detail the certifier and its implementation. The third section will be dedicated to the experiments we have conducted to determine potential relevance for very large proofs. We finish with a conclusion and future work section.
Such a universal proof certifier, which will be mainly implemented in the programming language Prolog, contains the following main components. • Kernel. The kernels are the implementations in Prolog of several trusted proof calculi. Currently, there is a kernel over the propositional classical focused sequent calculus (PLKF). Section 2. 1 presents the calculus PLKF that will be used in the paper. • Proof evidence. The first component of an FPC, a proof evidence is a description of the proof output by a theorem prover. Given the high-level declarative form of Prolog, the structure and INVERTIBLE RULES Ξ Ξ Ξ Θ ⇑ A, Γ Ξ Ξ Ξ Θ ⇑ B, Γ andNeg c ( ( (Ξ Ξ Ξ, , , Ξ Ξ Ξ , , , Ξ Ξ Ξ ) ) ) Ξ Ξ Ξ Θ ⇑ A ∧ -B, Γ Ξ Ξ Ξ Θ ⇑ A, B, Γ orNeg c ( ( (Ξ Ξ Ξ, , , Ξ Ξ Ξ ) ) ) Ξ Ξ Ξ Θ ⇑ A ∨ -B, Γ FOCUSED RULES Ξ Ξ Ξ Θ ⇓ B 1 Ξ Ξ Ξ Θ ⇓ B 2 andPos e ( ( (Ξ Ξ Ξ, , , Ξ Ξ Ξ , , , Ξ Ξ Ξ ) ) ) Ξ Ξ Ξ Θ ⇓ B 1 ∧ + B 2 Ξ Ξ Ξ Θ ⇓ B i orPos e ( ( (Ξ Ξ Ξ, , , Ξ Ξ Ξ , , , i i i) ) ) Ξ Ξ Ξ Θ ⇓ B 1 ∨ + B 2 IDENTITY RULES Ξ Ξ Ξ Θ ⇑ B Ξ Ξ Ξ Θ ⇑ ¬B cut e ( ( (Ξ Ξ Ξ, , , Ξ Ξ Ξ , , , Ξ Ξ Ξ , , , B B B) ) ) Ξ Ξ Ξ Θ ⇑ • cut l l l, , ,¬P a ∈ Θ initial e ( ( (Ξ Ξ Ξ, , , l l l) ) ) Ξ Ξ Ξ Θ ⇓ P a init STRUCTURAL RULES Ξ Ξ Ξ Θ ⇑ N release e ( ( (Ξ Ξ Ξ, , , Ξ Ξ Ξ ) ) ) Ξ Ξ Ξ Θ ⇓ N release Ξ Ξ Ξ Θ, l l l, , ,C ⇑ Γ store c ( ( (Ξ Ξ Ξ, , ,C C C, , , l l l, , , Ξ Ξ Ξ ) ) ) Ξ Ξ Ξ Θ ⇑C, Γ store Ξ Ξ Ξ Θ ⇓ P l l l, , ,P ∈ Θ decide e ( ( (Ξ Ξ Ξ, , , l l l, , , Ξ Ξ Ξ ) ) ) Ξ Ξ Ξ Θ ⇑ • decide Figure 1: The PLKF proof system.
Prolog and Proof Search For our certifier, the first step was to implement a highly trusted kernel following the PLKF rules. For this purpose, we chose the Prolog language. Prolog's unification-based computational model lends itself naturally to proof search: given some appropriately formatted proof evidence, Prolog attempts to patternmatch and see if there are any applicable rules. If there is, the rule is applied, and the branch is continued until either success (application of the "init" rule, in this case) or failure (there are no more rules to apply). If the branch fails, Prolog will automatically backtrack to the last fork (when there was either more than one applicable rule, or more than one variable the rules could apply to) and test another option. This process creates a proof search very similar to what a human would manually write using a sequent calculus, except that one would expect the human to more intuitively identify whether a branch will advance the proof or end in failure.
The purpose of our checker, however, lies in its incorporation of the Trace's derived clauses, each of which can be translated to an instance of the "cut" rule. In this section, we discuss how we translate a Trace's proof evidence into code interpretable by Prolog. Proof evidence: format for original clauses -A simple Python program integrates the Trace proof into the Prolog kernel syntax. It is a text-to-text translator, taking the Trace format input and returning output readable by Prolog. The only nontrivial part is translating from Trace's implicit infix notation to the prefix notation accepted by our Prolog kernel, which is done recursively. In this section we explain the syntax used in Prolog that corresponds to the different elements in a Trace. The Trace's list of original clauses corresponds to a single formula in disjunctive normal form (because we have negated the initial formula in order to use resolution refutation), using the predicates and(F, F1) and or(F, F1).
) predicate. Here, Index is an integer, DecideList is a Prolog list of integers (the indices of antecedents), and Formula is a single formula. Whereas the Python Trace-Prolog translation program automatically negates the original theorem in preparation for resolution refutation, the derived clauses are not negated when translated to Prolog. If we add some antecedents to our previous Trace clause example, the clause becomes: 7 -1 2 -4 0 5 6 8 0. This would be classified as a derived clause thanks to its nonempty antecedent list, and would be written in Prolog as: chain(7,  [5, 6, 8] , or(not(x(1)), or(x(2), not(x(4))))). An entire list of derived clauses would have the following form: chains([chain  (7, [5, 6, 8] , or(not(x(1)), or(x(2), not(x(4))))), chain(I, D, F),. ]). Proof evidence: combining elements to convey an entire Trace in Prolog -To summarize, a derived clause in the Trace is negated then directly translated into Prolog.
Incorporation of the Trace: FPC File As mentioned above, information that is obtained exclusively from the Trace is only manipulated in the Prolog checker code through the variable Cert. Any operations updating or using information within the Cert variable are managed not by the PLKF kernel, but by additional predicates within the FPC file. The reader may note that while the predicates in FPC can guide or restrict the proof search, they cannot create new branches or add elements to the search. They therefore have no impact on the soundness of the PLKF system. Setting up the FPC code in this way allows us to include the Trace's guidance without impacting soundness. After an application of the cut rule, the proof search must succeed on both resulting branches. The left cut branch corresponds to a sub-proof, one that states that the cut formula follows from the clauses whose indices are given in the cut's DecideList variable.
On such problems, we would expect that an increase complexity translates into only a small (hopefully linear) increase in runtime. Our method is fairly simple: we implemented some additional methods in the Python program that translates the Trace format to Prolog. One method finds the derived clause with the longest list of antecedents, and another allows us to replace the antecedent list with another list. The test identifies the longest antecedent list, sorts the list in ascending order, and creates a lexicographic permutation generator. For each permutation of the list, the translator replaces the original antecedent list with the new permutation of itself (all other chains are left as they were), recreates the Prolog file, and records the runtime of the file (as well as the output of Prolog, true or false).
Experiment 3: Checker that succeeds only when no proof search is necessary In this experiment, we adjusted the Prolog checker code so that it could not conduct any proof search along an antecedent list. That is to say, if in any chain the checker decides on an antecedent index that leads the proof to a failed branch, the checker cannot simply backtrack and try deciding on a different index. In this way, if the proof does succeed, it means that there was no proof search necessary across local antedecent lists, and that the antecedents of all chains were in the correct order. It should be noted that at this point, we do not know what the correct order for all the clauses may be in any given example; we only know that in most cases, a resolution proof is unlikely to provide the ideal order for a nearly deterministic PLKF search, because resolution proofs do not have negative and positive phases.