dataesr/scientific-paragraphs-categorization huggingface dataset:
Interestingly, many pathways related to cholesterol and fatty acid metabolism were significantly depleted in the majority of breast cancer datasets in the GEC+ tumour fraction; however, the mitochondrial gene expression and mitochondrial RNA metabolic processes did not seem to be directly affected. Finally, the GEC + tumours were found significantly enriched in the gene sets of spermatogenesis, testis and embryonic stem cells in all datasets, indicating massive ectopic activations of these genes in aggressive forms of breast cancers.
Discussion Several cancer testis antigens present in the "official" list of CTAs were proposed in the literature as potential diagnostic or prognostic biomarkers in breast cancer. These signatures, however, were not sufficiently validated in independent studies, producing sometimes controversial results  [26] , and, therefore, cannot be applied in clinical practice. Nowadays, an important number of transcriptomic breast cancer datasets are available in public data repositories, making possible a thorough full machine learning approach for biomarker discovery with extensive validations and tests in various breast cancer cohorts. Using a large dataset of RNA-seq data in normal tissues from GTEX and NCBI repositories, as well as eight independent breast cancer cohorts, we applied a strict machine learning pipeline in order to accurately define all genes with predominant expression profiles in testis, placenta or ESC, and to identify among these genes the most robust biomarkers to predict disease-free survival prognosis.
These analyses revealed five genes, DNMT3B, EXO1, MCM10, CENPF and CENPE, that are normally not expressed in healthy breast tissue but become frequently activated in breast cancers. In addition, the aberrant activation of these genes was found systematically associated with a shorter disease-free survival in several cohorts. On the basis of these findings, we combined the five biomarkers to create a new prognosis tool Gene Expression Classifier (GEC) that stratifies patients according to the number of ectopically activated genes in the GEC panel. A higher number of aberrant activations of these genes significantly correlated with a shorter disease-free survival prognosis of patients in all eight datasets. In particular, we proposed to stratify patients to the group of favourable survival prognosis if the number of ectopically activated genes found in the tumours was equal to 0 or 1 (GEC 0-1) and to the group of unfavourable survival prognosis if the number of ectopically activated was higher (GEC 2-5).
A multivariate survival analysis in five independent datasets demonstrated that the GEC tool remained significantly predictive after the adjustment for other risk factors as molecular subtype, patient age and tumour stage, also related to prognosis. We also found that the GEC tool was particularly efficient to detect tumours with a high risk of relapse inside the molecular subtypes luminal-A and luminal-B. The five biomarkers identified in this work, DNMT3B, EXO1, MCM10, CENPF and CENPE, have predominant expression profiles in embryonic stem cells and are also expressed in testis. The literature may highlight potential mechanisms which could be involved in the oncogenic activities of five genes and explain the strong association between their expression and aggressive forms of breast cancer.
DNMT3B is a DNA methyltransferase that regulates the epigenome by de novo methylation of CpG sites. Aberrant activation of DNMT3B in breast cancer was reported in  [27]. Recently, it was also shown that DNMT3B is induced in metastatic cells and facilitates distant colonization  [28]  and that high DNMT3B levels are correlated with poor patient survival and more Fig. 4  Main results of the GSEA analysis for transcriptomic profiles of GEC + versus GEC-tumours in the dataset TCGA-BRCA. A: Kaplan-Meier disease-free survival curves between the group of tumours without GEC ectopic expressions (GEC-) and those with major GEC ectopic expressions of 4 or 5 genes (GEC +). The displayed p-value corresponds to the logrank test between GEC-and GEC + groups. B: Heatmap of the differential expression profiles of GEC + versus GEC-in TCGA-BRCA.
The differentially expressed genes used for the heatmap were selected with an adjusted p-value < 0. 05 of Mann-Whitney test and abs (ratio) > 1. 5. The hierarchical clustering was performed using Euclidian-based distance with Ward's linkage for samples and Pearson correlation for genes. C: GSEA plots illustrating main enrichment/depletion profiles in GEC + tumours compared to GEC-tumours in the dataset TCGA-BRCA. For all the gene sets, the enrichment or depletion was considered significant with a nominal p-value < 0. 05 and FDR < 0. 25. The gene sets were selected from the MSigDB database of the Broad Institute (collections C2, C5 or H of the MsigDB) aggressive subtypes of breast cancer  [29]. Preclinical studies demonstrated that overexpression of DNMT3B promotes primary tumour progression in melanoma and colon cancer  [30, 31].
High expression of both CENPE and CENPF was associated with low oestrogen and progesterone receptor expression levels Fig. 5  Gene Set Enrichment Analysis (GSEA) shows consistent molecular signatures of the aggressive GEC + tumours in several breast cancer datasets. The heatmap represents the normalized enrichment score (NES) obtained from the GSEA analysis in ten breast cancer datasets for different genes sets. Significantly enriched gene sets are shown in red colours; significantly depleted gene sets are displayed in blue colours. For all the gene sets, the enrichment or depletion was considered significant with a nominal p-value < 0. 05 and FDR < 0. 25. Grey cells correspond to non-significant results in breast cancer  [38]. The expression of these genes was also reported to be associated with progression and unfavourable prognosis in retinoblastoma, oesophageal adenocarcinoma, melanoma and hepatocellular carcinoma  [39] [40] [41] [42].
Although some of these genes have already been described in the literature as prognostic factors in breast cancer, our work provided a systematic and comprehensive exploration of known and unknown candidate prognosis biomarkers. An important input of this work is the evaluation of the prognosis values of these selected markers compared to many others reported in the literature, that were not validated following our rigorous systematic consideration. Indeed, as expected, within the list of our testis-specific genes there were many of the known "official" cancer-testis antigens from CTdatabase  [22]. However, none of them were found on our GEC. Interestingly, the GSEA analysis revealed a massive overexpression of testis-specific, ESC-like specific genes as well as the genes related to spermatogenesis in the GEC + aggressive forms of breast cancers, in total accordance with our hypotheses.
Transcriptomic data To obtain expression profiles in normal tissues, we used RNA sequencing (RNA-seq) data provided by the GTEX portal and NCBI Sequence Read Archive (datasets PRJNA280600, PRJEB4337, PRJEB2445, PRJNA270632, GSE70741, GSE53096). We also used 10 breast cancer datasets from public data repositories: GDC Data Portal, ArrayExpress, NCBI GEO and USCS Xena. The detailed description of the datasets is presented in Supp. Table  S4. The RNA-seq data of normal human tissues from GTEX repository and NCBI Sequence Read Archive contain 2955 samples of 48 different tissues: 2913 samples of 39 adult tissues, 37 samples of 8 foetal tissues and 5 samples of embryonic stem cells. Some tissues were pooled in more general tissue groups. In total, we obtained 26 tissue groups: 18 tissue groups for adult tissues, 7 tissue groups for foetal tissues and 1 tissue group for embryonic stem cells.
The list of available normal tissues, tissues groups and the corresponding sample sizes is provided in Supp. Table  S5. The transcriptomic data of microarray datasets E-MTAB-365, GSE25066, GSE21653, GSE42568, GSE2109, Miller-2005, Naderi-Caldas-2007 and Yau-2010 were obtained with Affymetrix Human Genome Arrays U133 Plus 2. 0, U133A and U133B. The data were normalized using Robust Multi-array Average (RMA) method  [45]  and then log-transformed. For the TCGA-BRCA and CPTAC-2 datasets, we used the RNA-seq values normalized by FPKM method directly provided by the GDC Data Portal. The FRKM values were log-transformed by taking log2(1 + FPKM). For the RNA-seq datasets of normal tissues, we downloaded pre-processed raw counts and normalized them in log-transformed RPKM units.
Identification of genes with predominant expression profiles To establish the expression profile of the genes in normal tissues, we used RNA-seq data from GTEX public repository and NCBI Sequence Read Archive (2955 samples, 48 tissues). We classified all the genes available in this dataset in two groups according to their expression profiles in normal tissues: predominant expression or ubiquitous expression. A predominant expression profile is defined as an expression pattern with one tissue determined as outlier in the distribution of expression values through tissues. These genes show no expression or lower expression levels in other tissues. To detect the predominant tissues, for each gene, we used an outlier detection technique based on the Z-score: where x corresponds to the average expression level in a given tissue.
Calculating the frequency of abnormal expression in breast cancer Considering the 1882 predominant genes, we calculated the frequency of aberrant expression of these genes in breast cancer in the TCGA-BRCA dataset, where sufficient numbers of non-tumour and tumour samples were available. We set a threshold of expression to the mean + 2 standard deviations of the expression signal detected in non-tumour breast samples and then calculated the percentage of tumour samples in which the expression level was above the threshold.
Survival analysis We performed a dedicated survival analysis to explore the association between aberrant gene expression and disease-free survival and to identify robust prognostic biomarkers in breast cancer. Our biomarker discovery method is based on the published works of  [3, 43]. In this study, we updated the original method by adding a machine learning framework in order to insure the reproducibility of the results in different breast cancer cohorts. The main steps of the pipeline are described below and also presented in Supp. Figure  S2. Eight cohorts with available survival data were separated in the training, validation and test datasets. The TCGA-BRCA cohort with the highest sample size and a Z score = xmean std Z score threshold = 0. 6 (N -1) √ N long-term follow-up was designed as the training dataset.
Three other cohorts GSE25066, GSE21653 and GSE42568 were used as the validation datasets. The objective of the validation step was to present to the algorithm the most heterogeneous cohorts in terms of sample composition, sample size and technology to retain the most stable biomarkers during the learning process. The additional four cohorts E-MTAB-365, Miller-2005, Naderi-Caldas-2007 and Yau-2010 were used as the test datasets to confirm our prognosis prediction tool in completely independent cohorts, never seen during the learning process. In the training step, we checked if it was possible to define thresholds that could stratify patients into two groups with significantly different prognosis. With this purpose, for each gene in the TCGA-BRCA cohort, we tested all possible thresholds in the range from the 15th to the 85th percentile of expression in tumour samples, with a step of a half of percentile.
All thresholds were analysed using logrank statistical test between the ON and OFF groups. We performed these tests in the total dataset as well as in the random subsets of samples generated within threefold cross-validations repeated five times. The obtained p-values were adjusted by Benjamini-Hochberg procedure. A threshold was considered as significant if the corresponding logrank p-value < 0. 05, FDR < 0. 2 and hazard ratio > 1. When several significant thresholds were present, we selected one reference threshold corresponding to the most stable threshold in all cross-validations. In the validation step, we selected the genes for which at least one significant threshold associated with patients' survival probability was found during the training step. For these significant thresholds, we determined their corresponding percentile ranking in the total distribution of tumour samples.
We then propagated the thresholds, expressed as percentile rankings, to all other datasets. Subsequently, we performed the logrank test for these genes in the validation cohorts using the same threshold. The genes were ordered according to the obtained p-values and hazard ratios in all validation cohorts. Genes that achieved simultaneous significance in at least two out of the three validation cohorts, for which the p-values obtained in the third cohort were also relatively low < 0. 1, were chosen as candidate biomarkers. In the last step, the candidate biomarkers were combined to create a prognosis tool, named Gene Expression Classifier or GEC, which stratifies patients according to the number of aberrantly activated genes among these biomarkers. Finally, the combined GEC tool was tested in the independent test cohorts using the logrank test and Cox proportional hazard model.
Funding This research was supported by the  Cancer ITMO [Multi-Organisation Thematic Institute of the French Alliance for Life Sciences and Health (AVIESAN) ]  MIC program. This work also received support from the  "Association Espoir Isere contre le cancer " and from " Groupement des Entreprises Françaises dans la Lutte contre le Cancer (Gefluc) " attributed to EJ. Additional funding was provided by  Plan Cancer Pitcher ,  MSD Avenir ERICAN programs  as well as by the  ANR  EpiSperm4 and 5 and the  INCa-IreSP programs. Data processing were performed using the CIMENT/GRICAD infrastructure (https:// gricad. univ-greno ble-alpes. fr), which is supported by  Grenoble research communities.
Availability of data and materials The datasets analysed during the current study are publicly available (the corresponding identifiers are given in Supp. Table  S4 ). The analysis pipelines and statistics are described in the Methods section. The Python code of "ectopy" tool implementing our approach for discovery of prognostic biomarkers from omics data is publicly available on Github repository https:// github. com/ epimed/ ectopy. The full data outputs supporting the conclusions of this article are included within the article and its additional files.
Research in high energy physics (HEP) requires huge amounts of computing and storage, putting strong constraints on the code speed and resource usage. To meet these requirements, a compiled high-performance language is typically used; while for physicists, who focus on the application when developing the code, better research productivity pleads for a high-level programming language. A popular approach consists of combining Python, used for the high-level interface, and C++, used for the computing intensive part of the code. A more convenient and efficient approach would be to use a language that provides both high-level programming and high-performance. The Julia programming language, developed at MIT especially to allow the use of a single language in research activities, has followed this path.
ATLAS Preliminary Fig. 1 : Estimated CPU required by the CMS (top) and ATLAS (bottom) experiments for LHC and HL-LHC  [6, 7]. The need to reconcile high performance with fast development has led to the development of a C ++ interpreter  [8]  that provides the convenience of a read-eval-print-loop (REPL) interactive experience, also known as programming shell, that supports just-in-time compilation, and allows the use of the same programming language for compiled and interpreted code. The same analysis framework ROOT  [9, 10]  can then be used with compiled code and interactively. In addition to the REPL, ROOT supports Jupyter notebooks, which are another convenient method for interactive use. The shortcoming of this approach is that the use of a complex programming language is not optimal for easy and fast coding.
For this reason, another approach that consists of using two languages, one optimal for fast development, typically Python, and one optimal for high performance, typically C ++ , is often adopted. Using two languages is not ideal: it expands the required area of expertise; it forces the reimplementation, in the high-performance language, of pieces of code originally written with the fastdevelopment language when they do not meet the required performance; and it reduces the reusability of code. In 2009, J. Bezanson, A. Edelman, S. Karpinski, and V. B. Shah imagined a new programming language to address this "two language problem" by providing high performance and ease of programming  [11] [12] [13]  simultaneously. It has been a successful approach. The new language, Julia, which has evolved year upon year, is now used by many users.
Julia is a dynamic language, similar to Python, yet with a performance similar to C/C ++. As of  October 11, 2022 , 8387 packages were registered in the Julia general registry  [14] , which are accessible to Julia's integrated package manager. Fig. 2  shows the rapid growth in the number of packages. As demonstrated by M. Stanitzki and J. Strube  [15] , the Julia language is a good alternative to the combination of C++ and Python for HEP data analysis and it fulfils its promise to be an easy, high performance language. This report extends that study. It explores the possible benefits of the adoption of Julia as the main programming language for HEP, in place of C++-Python, in a similar way as happened with the switch from Fortran to C ++ in the late 90's.
The programming language community • A single implementation, rather than an abstract language specification with multiple slightly incompatible implementations. The Julia computing platform is primarily implemented in Julia (most parts), C, and C ++ (LLVM), and it has a built-in REPL. • Every function, including those entered interactively, is compiled just-in-time (JIT) using LLVM as the back end. Julia has no virtual machine, and the JIT is eager (always compiles before execution), unlike the tracing/hot spot JIT seen in LuaJIT  [21]  or metatracing  [22]  like PyPy  [23]. • Partly thanks to dynamic typing, and also being a JIT language, Julia fully supports: type reflection, source code as a built-in data type, which enables Lisp-like (hygienic) macros 2. • Fast N-dimensional arrays that store elements in-place.
• Multiple dispatch (MD): a function-call invokes the most specific method that matches the type of all arguments. While many languages support (opt-in) multiple dispatch (C#, Common Lisp), Julia is the first language that uses MD as the central paradigm 3 while focusing on performance. MD allows for a surprising amount of code reuse and composition among packages that do not know about about each other (often a problem with OOP languages), this is further discussed in the "Polymorphism in C ++ , Python, and Julia" section. • Apart from the lack of classes, Julia has a fairly standard mix of imperative and functional programming styles. Immutability is encouraged by default, but mutable structs and arrays are allowed and are frequently used. • Built-in parallel processing support. Any piece of a program can be marked for execution in parallel.
HEP computing requirements Because the program codes used in HEP research are very large, with high interdependence, a code typically uses many open source libraries developed by other authors; thus the effort to change programming language is consequential. The adoption of a new language can happen only if it brings a substantial advantage over the already used paradigm. The key advantage of Julia that can make the language switch worthwhile is the simplification that will arise from using a single language in place of a combination of two, C ++ and Python. HEP computing is wide and includes many use cases: automation for the controls of the experiment, data acquisition, phenomenology and physics event generation, simulation of the physical experiment, reconstruction of physics events 4  from recorded data, analysis of the reconstructed events, and more.
# Python a = 0. for i in range  (1, 11) : a += i a /= 10. # Julia a = 0. for i in 1:10 a += i end a /= 10. // C++ auto a = 0. ; for(auto i = 0; i < 11. ; ++i){ a += i; } a /= 10. ; We will note in this example that Julia is free of type declaration, just like Python. In this example, we use the C ++ auto type declaration feature to achieve the same goal. It is worthy of mention that, as in C ++ , Julia code interpretation is not sensitive to changes in indentation: appending two spaces at the beginning of the last line, will change the behavior of the Python code only. Julia supports list comprehension, like Python, as illustrated in this example that creates a vector with the series 1, 1/2,. , 1/10:  (1, 11)  ] NumPy  [32]  function vectorization is provided natively in Julia for all functions and operators, including those defined by the user, through the broadcast operator: a dot prefix is used to specify that the function must be applied to each element of a vector or of an array.
The first is the evaluation of the function default parameter values, done at each call, instead of once for all in Python. Thanks to this choice, a function f(x, v=[]) that appends the element x to vector v and returns the latter will always return a one-element when called as f(x) in Julia, while it will return a vector growing in size at each new call in Python. The second is the copy performed by the updating operators (+=, *=,. ) instead of the in-place operation done by Python. In the Julia code, A = [0, 1]; B = A; B +=  [1, 1] , the operator += will not modify the content of the vector A, it is syntactically strictly equivalent to B = B +  [1, 1] ), while it will in the Python code A = np. array([0, 1]); B = A; B += np. array(  [1, 1] ). We judge these two Julia behaviors more natural and more likely to match to what a non-expert would expect when writing or reading the code.
The mathematical series u n+1 = f (u n ) maps directly to a recursive computing function call. We compute the 20th Fibonacci series elements, which results in 21,891 nested calls, a good example of recursive calls. The C/C ++ implementation is doing better because of a tail recursion optimization performed by the compiler, that removes one of the two nested calls, disabling this optimization leads to performance a little worse than with Julia. The gain from this optimization is far from the one obtained by using a for-loop implementation instead of the recursion. Such implementation runs ≈1000 times faster. The tail recursion optimization does not work for the recursive quicksort, leading to similar performance from C/C ++ and Julia (7% difference in favor of C/C ++ ). We can use LHC open data to test performance on HEP-oriented code.
The native ROOT library (version 6. 26/10) serves to read the files from C ++ and Python. The GNU gcc compiler (version Debian-10. 2. 1-6) is used with a level-three optimization (option -O3). When JIT compilation is involved (the cases of Julia and JIT RDataFrame) the event analysis function is first run on a tenevent data file to trigger compilations before performing the timing on 1 billion events. For the Julia implementations, subsequent compilations occur during the timing loop; they represent only 1. 1% of the time. In the case of JIT RDataframe an overhead (time independent of number of processed events) of 5. 0 ± 0. 2 ms (C ++ version) or 11. 2 ± 2 ms (Python version) is present in spite of the warm-up. The overheard is subtracted from the measurement. The obtained numbers are provided in Table  1.