dataesr/scientific-paragraphs-categorization huggingface dataset:
Observe that CCL, which was obtained under a platform different from the five others, has excellent correlations with them (between 0. 74 and 0. 92). • WBS, PLE, HPS, HAV. All four correspond to blood RNA samples from healthy patients. • MIL, AML, MDS. All three correspond to leukemias. • GSC, MBI. These two matrices correspond to similar tissues (blood samples), and similar conditions (critical injuries and burn injuries). Moreover, they were produced on the same platform, by the same organization. Their excellent correlation (0. 94) is not a surprise. Three datasets, BEC, DLB, MMD have relatively good correlations with those of the above four groups (around 0. 5), but no particular links with those groups, nor between themselves. The relative surprise comes from the weak correlations of PRS, and the negative correlations of PVA.
For each matrix, we also computed all possible pairwise row correlations: 20 vectors of more than 121 millions of pair-correlations were obtained: this is the technique used to evaluate genes for cross-platform consistency of expression patterns in  [42]. As expected, the correlation matrix had smaller values than that of Table  2. For instance, the correlation of CCL with XMD was 0. 53 instead of 0. 92, but still highly significant because of the large number of values. Correlations between column medians or pair-correlations, is too crude a criterion to judge the homo- geneity of two datasets. As an example, GSC and MBI have an excellent median correlation of 0. 94, and several good reasons to be similar. Yet, when each feature is tested for significant differences by the Kruskal-Wallis test, 14 800 significant features out of 18 260 are detected (see methods section for details).
The same occurred for any pair of datasets: the distributions of rows had significantly different location parameters, for a majority of features. This means that, for a majority of genes, the ranks of their expressions in the first dataset are significantly smaller or larger than in the second. Since discrepancies appear to be observed between any two datasets, it must be decided whether they are due to actual biological information, or to a statistical artifact, induced by the experimental setting or the platform. For this, we focused on the dataset MIL (GSE13159  [26] ), that has 2 096 samples. The samples were sorted into six submatrices, according to six keywords: Healthy (74 samples), ALL (acute lymphoblastic leukemia, 750 samples), AML (acute myeloid leukemia, 542 samples), CLL (chronic lymphocytic leukemia, 448 samples), CML (chronic myelogenous leukemia, 750 samples), MDS (myelodysplastic syndrome, 202 samples).
Then the same treatments as before were applied. Firstly the six median columns were computed, and their correlation matrix was obtained (Table  3 ). The values are between 0. 85 and 0. 99, which is in the range of the best correlations of Table  2. As a control, we made a partition of the same matrix into 6 random subsets, with the same numbers of samples as above, and computed the correlation matrix in the same way. On the control random partition, all correlations were above 0. 997. This proves that the partition into keywords does contain meaningful differences. Indeed, the samples projected as points onto the first principal plane, differentiating submatrices by colors (Figure  3 ). The two submatrices ALL (blue points) and CLL (brown points) are clearly separated from the rest. -3 -2 -1 0 1 2 3 -3 -2 - Healthy Differences inside a given dataset can be induced by several factors.
Two factors may not induce differences of the same order of magnitude. However, there is no statistical reason why a dataset like MIL should not be used as a whole, and many ways to verify that the observed differences correspond to actual biological information. Here is an example. Stirewalt et al. [43]  list a group of 7 genes displaying increased expression in acute myeloid leukemia samples: BIK, CCNA1, FUT4, IL3RA, HOMER3, JAG1, WT1. When a one-sided Wilcoxon test is applied to the submatrix AML versus the rest of MIL, those 7 genes are among the most significant: their p-values range between 6. 7 × 10 -130 and 4. 3 × 10 -42. The most significant, HOMER3, ranks 54-th among the 20 184 features of MIL. If observed differences between two datasets (like GSC and MBI) are of the same order of magnitude as differences inside a given dataset, such as caused by a significant factor (see figure  3 ), it can be admitted as statistically legitimate to merge the two datasets.
The results are displayed on Figure  4. Significant symbols when the 6 matrices are separated (left panel) are different from significant symbols separating Breast and Lung (right panel). On the left panel, it is clear that the information on the dataset (CCL, EPO, or XMD) dominates the separation Breast vs. Lung: samples coming from CCL are on the left, from EPO on the right, from CCL in the middle. But on the right panel, - the two types of tumors are also clearly separated. Separators include GATA3 on the right side (Breast), IGF2BP3 on the left side (Lung). Two articles, among others, show the importance of GATA3 for breast cancer  [44, 45]. In  [46] , the link of IGF2BP3 to lung cancer is explicitly stated. Further information was obtained by running a one-sided Wilcoxon test to detect symbols separating both types of tumor.
Then the Molecular Signature database C2  [47]  was searched for symbols matching them. Among the 20 genes found most significantly overexpressed in breast tumors by our test, 11 were inside genesets of C2 relative to breast cancers, and outside all genesets relative to lung tumors: EFHD1, IRX5, MUCL1, PRLR, PTGER3, RGL2, TRIL, TRPS1, VAV3, WWP1, ZG16B. Seven of these genes can be found in the G2SBC database  [48]  and for 10 out of 11, we have found at least one reference relating it to breast cancer. Conversely, among the most significant genes for lung tumor, the following were found in C2 genesets related to lung and not in those related to breast: ALDH3B1, DARS, PRPSAP2, FAM96B, MBIP, LRRC20. The overexpression of ALDH3B1 in lung tumors has been reported in  [49]. Santarius et al. [50]  gives lists of genes, the overexpression of which is associated to different types of human cancers.
The genes detected as significantly overexpressed in Breast by our test, that were also among class III genes related to breast cancer in Table  1  of  [50] , were FGFR1, BAG4, MDM2, YWHAB, ZNF217. For Lung, they were EGFR, MET, YWHAZ, MYC, NKX2-1, DCUN1D1. These findings would require further confirmation over larger datasets. Yet they provide evidence that meaningful biological information can be extracted by merging generalist matrices such as CCL, EPO and XMD. Our next experiment consisted in merging the two groups of blood RNA datasets, found to be homogeneous on the correlation analysis (Figure  1 ): HAV, HPS, PLE, WBS for healthy individuals, AML, MDS, for leukemias. The samples of MIL were separated into MILh (Healthy), and MILl (leukemias). The left panel of Figure  3  shows the first plane of the PCA for the same 22 features as in Figure  2 , the 8 matrices being represented by different colors.
Discussion A new set of R functions has been developed. Like other packages  [15, 16] , it performs the usual formatting operations. It also offers new functionalities for sorting lists of datasets according to information keywords. Various robust statistics techniques are encoded. The script and a user manual have been made available online. Using these R functions, a large scale study of 20 GEO datasets, totalling 17 745 samples, has been conducted. Our first conclusion is that Haibe-Kains et al. [4]  were right in observing that inconsistencies between datasets make it dangerous to merge them without precautions. The risk is to declare as biologically significant, observations which are actually statistical artifacts. The first precaution is to transform the data into distribution-free values, i.
e. to use robust statistics. This implies replacing the data of each sample by their empirical distribution function, or some other distribution-free score  [7, 8]. Even after data have been homogenized, important discrepancies remain. For this reason, checking comparability between studies before merging them is imperative. One possible measure of similarity (among others, see for instance  [42] ) for two datasets is the correlation between medians, which has been used here. Two sets of samples corresponding to different conditions inside one given homogeneous dataset usually have correlations of medians above 0. 8 (see Table  3 ). Arguably, it can be considered that two different datasets can safely be merged, if all pairedcorrelations between medians are above 0. 8. This is not always the case, even between datasets coming from the same tissues, obtained under the same platform (see Table  2 ).
Further ways of investigating possible discrepancies involve multivariate statistics. Graphical methods include Factor Analysis, Principal Component Analysis, Discriminant Analysis  [52]. Inference can be done using the robust equivalents of usual normal-sample methods, i. e. Wilcoxon test instead of Student's t-test, Kruskal-Wallis instead of one-way anova, etc. When repeatedly applying such a test to a set of symbols, a False Detection Rate (FDR) correction must be applied to the p-values. We have chosen the Benjamini-Yekutieli method  [21]. Our observation was that, even after FDR correction, the tests usually detect a sizeable proportion of all symbols as significant for discrimination, either between several different datasets, or between different types of samples within the same dataset.
We believe that relevant biological information can be obtained from applying a discriminating test, then ranking features according to their degree of significance, i. e. ordering the values obtained over each feature by the test statistic. In the cases considered here (breast tumors against lung tumors, healthy blood samples against leukemias, acute myeloid leukemia against other blood RNA samples), it was observed that among the most significant symbols, a large proportion of them were already known as being related to the corresponding cancers. This can be viewed as evidence that meaningful biological information can be extracted by merging different datasets. We believe that important new findings could be obtained by the same method, being aware that a statistical listing of significant symbols does not necessarily imply that all listed symbols correspond to true biological information.
These types of links are complex and represent a large quantity of data to address. Moreover, as we cannot observe two different horizontally transferred sequences at the same locus in the species A, we filter the resulting pairs of sequences to only retain the best match for each position of the genome of A. For the task at hand, we only need the best local alignments of sequences for each position along the genomes because the other alignments would have a lower identity and thus a lower probability to correspond to an HT event. To parse the Blast output and obtain a one-to-one cardinality from a many-to-many cardinality, we developed in python the program htdetect. py (available from the online resources). This program uses the fact that when working on two different genomes, there is always a genome of better quality (genome A) than the other genome (genome B).
We considered a logistic regression to account for covariates X 1 ,. , X N characterizing the sequences, such that: P S n ¼ 0jz 1 ,. , z N ð Þ ( P S 1 ¼ jjX 1 ¼ x ð Þ ¼ exp j + n j Â x P 1 k¼0 exp k + n k Â x À Á P S n ¼ jjS nÀ1 ¼ i, X n ¼ x ð Þ ¼ exp ij + n j Â x P 1 k¼0 exp ik + n k Â x À Á with i, j ¼ 0, 1 f g(Kuan and Chiang 2012). The model param- eters É ¼ ð, f 1 , i , ij , j Þ, with k being the proportion of P-values equal to 1, can be estimated using the EM algorithm. We developed a zero-inflated Gaussian distribution to handle unilateral tests with the appropriate z-values transformed. This model is implemented in the R package fdrDEP available on the CRAN for multiple unilateral hypothesis testing. The LIS statistics are computed for each chromosome arm of the species A and concatenated to control for the FDR at a level of 10% for the whole genome of A with the Benjamini, Hochberg, and Yekutieli procedure  (Wei et al.
2013). This is why we used the D. simulans genome that was resequenced in 2012 and assembled from the w501 strain of the original Sanger data, in addition to a high-coverage Illumina sequencing of iso-females of this same strain  (Hu et al. 2013). However, to be able to compare our approach with previous studies, we also conducted a second analysis with the genome of D. simulans (version 1. 3) available from flybase (http://flybase. org). The genome pairwise alignments were retrieved from the UCSC website (http://hgdownload. cse. ucsc. edu). The sequence annotation tracks used to obtain the full length of the corresponding TEs and CDSs and annotate the noncoding DNA were downloaded from flybase (http://fly base. org) in. gff format  (Marygold et al. 2013). Instead of computing the d S of the detected CDSs, we used the d S data of the 11,000 orthologs from the 12 Drosophila genomes, available from the study of  Heger and Ponting (2007).
Quality of the TE Content in the Genome of D. simulans We used the software SeqGrapheR  (Nova ˜k et al. 2010 ) to analyze the TE content of the D. simulans genome directly from a uniform random sample of 900 k reads obtained from the 2012 genome project (SRA:SRX159034)  (Hu et al. 2013). The assembled repetitions were annotated using RepeatMasker (version 3. 3. 0) (Smit AF, Hubley R, Green P, unpublished data).
For the study of HTs, we can add to this list the effect of different evolutionary rates for the sequence under consideration or the effect of stochastic losses in the phylogeny of the candidate sequence(s)  (Loreto et al. 2008). Moreover, we have to rely on orthologs and sequence identification, which is nontrivial and can lead to numerous false positives  (Gronau et al. 2013). The possibility of misplaced DNA sequences in the genomic database, polymerase chain reaction mispriming, contamination, incomplete sequence data, and poorly rooted trees can also be technical sources of errors for HT detection  (Lisch 2008). Therefore, to differentiate between putative HT events and the possibility of vertical transmission, we need to investigate other lines of evidence  (Loreto et al. 2008; Gilbert et al.
The C programming language does not prevent out-ofbounds memory accesses. There exist several techniques to secure C programs; however, these methods tend to slow down these programs substantially, because they populate the binary code with runtime checks. To deal with this problem, we have designed and tested two static analyses -symbolic region and range analysis -which we combine to remove the majority of these guards. In addition to the analyses themselves, we bring two other contributions. First, we describe live range splitting strategies that improve the efficiency and the precision of our analyses. Secondly, we show how to deal with integer overflows, a phenomenon that can compromise the correctness of static algorithms that validate memory accesses. We validate our claims by incorporating our findings into AddressSanitizer.
Introduction C is one of the most popular languages among programmers. It has been used in the development of operating systems, browsers, servers, and a plethora of other essential applications. In spite of its popularity, the development of robust software in C is difficult, due to the weak type system present in this language. The language's semantics does not prevent, [Copyright notice will appear here once 'preprint' option is removed. ] for instance, out-of-bounds memory accesses. Much work has been done to mitigate this problem. Today we have tools like SAFECode  [13]  and AddressSanitizer  [29]  that extend the C compiler to generate memory safe assembly code. The main drawback of these tools is the overhead that they impose on compiled programs. In this paper, we present a suite of static analyses that removes part of this overhead.
Examples of relational analyses include the polyhedra of Cousot and Halbwachs  [10] , and the octagons of Miné  [20]  where we can infer properties such that s -t ≤ 1. If S is just the set of program variables, but I can contain relations between program variables, then the analysis is called semi-relational. Examples of semi-relational analyses include the "less-than" inference rules used by Logozzo and Fändrich  [19]  or by Bodik et al. [6]. Pentagons are a semi-relational lattice, that associates each program variable v to a pair (L, I). I is v's range on the interval lattice. L is a set of variables proven to be less than v. Finally, if S is the set of variables, but I does not refer to other program variables, then the analysis is called non-relational. The vast majority of the static analyses used in compilers, from constant propagation to classic range analysis  [9] , are non-relational.
Example 1 Figure  1  shows examples of these three types of analyses, including the Symbolic Range Analysis that we describe in Section 4. 3. The information associated with a variable depends on which part of the program we are; hence, the figure shows the results of each analysis at three different regions of the code. In this example, classic range analysis can only infer positiveness of variables. Pentagons can infer also that j is always strictly less than N inside the loop. Octagons are more precise since they are able to find that m = i at control points b and c, for instance 2. Relational analyses tend to be more precise than their semi-relational and non-relational counterparts. In our context, precision is measured by the amount of the information that the function F can encode. In a relational analysis, this function operates on a much larger set S than in a semi-relational approach; thus, the difference in precision.
Range analysis Symbolic range analysis Pentagons Usually, in a dense analysis, the set S contains relations between variables and program regions. In other words, the facts associated with a variable depend on which part of the program we consider. All the analyses in Figure  1  are dense. For instance, the range of variable i is [0, 0] at program point (a) and [0, ∞] at (b). F(N) = [0, +∞] F(i) = [0, 0] F(j) = [-1, +∞] F(m) = [0, 0] F(i) = [0, +∞] F(j) = [1, +∞] F(m) = [0, +∞] F(i) = [0, +∞] F(j) = [-1, +∞] F(m) = [0, +∞] F(N) = {}, [0, +∞] F(i) = {}, [0, 0] F(j) = {N}, [-1, +∞] F(m) = {}, [0, 0] F(i) = {N}, [0, +∞] F(j) = {N}, [-1, +∞] F(m) = {}, [0, +∞] F(N) = [N, N] F(i) = [0, 0] F(j) = [N-1, N-1] F(m) = [0, 0] F(i) = {j, N}, [0, +∞] F(j) = {N}, [1, +∞] F(m) = {}, [0, +∞] (a) (b) (c) Octagons F(i, i, +) = i ≥ 0 F(i, i, -) = -i ≥ 0 F(N, j, +) = N -j ≥ 1 F(N, j, -) = j -N ≥ -1 F(m, i, +) = i -m ≥ 0 F(m, i, -) = m -i ≥ 0 F(i, i, +) = i ≥ 0 F(j, i, -) = j -i ≥ 0 F(j, i, +) = j + i ≥ 1 F(i, i, +) = i ≥ 0 F(m, i, -) = m -i ≥ 0 F(m, i, +) = m + i ≥ 0 F(i) = [0, N-2] F(j) = [1, N-1] F(m) = [0, +∞] F(i) = [0, max(0, N-1)] F(j) = [-1, max(0, N-2)] F(m) = [0, +∞] (a) (b) (c) In the early nineties, Choi et al.
As shown in the preceeding paragraphs, we have to evaluate symbolic expressions (simplification of expressions like max(e 1 , e 2 ), equality tests,. ). We rely on GiNaC  [4] , a library for symbolic manipulation, to perform these operations 6. For the equality test, if GiNaC is not able to prove a given equality between symbolic expressions, we conservatively assume that the two expressions are not comparable. As a consequence, we may widen an expression to +∞ even if it was stable. Correctness of the Symbolic Range Analysis. Abstract values of the SymBoxes domain are functions R that associate to each variable v of the program a symbolic interval. The concretisation of a given symbolic range is the set of valuations (variables and symbols) that satisfy the induced constraints: γ SymBoxes (R) = {(σ, M ), σ valuation of variables and M valuation of symbols s.
Experiments In this section we report experiments that we have performed using our GreenArrays framework. The goals of this section are i) to show that our approach is practical -all our analyses run in acceptable time; ii) to show that it is effective -we can eliminate a reasonable number of bound-checks, hence speeding up safe code and reducing its energy consumption; and iii) to show that our technique is competitive with stateof-the-art approaches to bound-check elimination. Unless stated otherwise, we run our experiments in a twelve-core Intel(R) Xeon(R) CPU E5-2620 at 2. 00GHz, with 15,360KB of cache, and 16GB of RAM. Neither our compiler, nor our benchmarks, run in parallel. Benchmarks. We chose to report numbers for the integer programs available in the SPEC CPU 2006 benchmark suite.
The compulsory cost of a guard consists of two loads, two comparisons, and two branches. By eliminating these guards, we improve also the quality of the code produced by the register allocator, as we increase the average size of basic blocks. We are still 15. 2% slower than unsafe programs, i. e. , programs without runtime bound-checks. Energy consumption. The elimination of bound-checks has the beneficial effect of reducing the energy footprint of safe C programs. This energy saving is a natural consequence of run time reduction. To estimate it, we have ported some of our benchmarks to one of our system-on-a-chip devices, which is based on an Intel Cedar Trail processor, at 1. 86 GHz, with 1M Cache, running Linux Fedora 14. We run LLVM, AddressSanitizer, plus all our analyses, in the device itself.
Concerning the first item, the original implementation of Pentagons seems to be limited due to the assumptions that integer overflows might happen. The original description of the method does not provide much details on the transfer functions associated with multiplication, for instance  [19] ; hence, part of this discussion is based on our understanding of that domain. In our implementation of pentagons, we can prove that i ⊆ 4 × i if, but only if, the interval range of i is known at compilation time. For example, if we know that R(i) = [0, 4], then we know that R(4 × i) = [0, 16], and we include i in the less-than set of 4 × i. If the range of i is symbolic, then we cannot assume any less-than relation, because an integer overflow can cause 4 × i to be less than i. In our approach, on the other hand, we know that overflows will not happen, for we have guarded the program against them.
In this scenario, Oh et al. 's framework creates four dependence links between {l 1 , l 2 } and {l 3 , l 4 }. Our method, on the other hand, converts the program to SSA form; hence, creating two names for variable a. The inspiration for our symbolic region analysis came from a work by Rugina and Rinard  [27]. They have used region analysis to attack problems such as race detection automatic parallelization. Our work is substantially different. Most fundamentally, Rugina computes the size of arrays backwardly, i. e. , he draws information from array accesses, we do it forwardly, i. e. , we draw information from allocation sites. In other words, from an array access such as * a = e, Rugina assigns to a a minimum index given by e ↓ , and a maximum index given by e ↑. In our case, an instruction such as a = alloc(e) leads us to assign to a the offsets [e ↓ , e ↑ ].
Simulation Software The Roborobo code was written in C++. The code used for the experiments described here, together with settings files and scripts for the analysis of the results is available at http://www. few. vu. nl/ ,ehaasdi/papers/MONEE-PLOS/. We ran our experiments on the Lisa cluster at the Surf Sara facility, which consists mainly of 2. 26 GHz nodes with Intel L5520 processors. Running on a single core, a typical single run would complete in just under 8 minutes.