dataesr/scientific-paragraphs-categorization huggingface dataset:
g. , where converging edges are detected but are not expected) and correcting them, re-situating incorrectly placed attributes (e. g. , recasting Downloaded from https://academic. oup. com/gigascience/article/10/9/giab060/6371038 by guest on 16 September 2021 Figure  3 : Example of a Python script using the ISA API's class model objects to programmatically construct metadata about a study and serialize it to ISA-Tab. This script first creates the Investigation and Study structures that store general metadata about the experiment being described. Next, a source material object is created, and 3 sample materials. These are connected as inputs and outputs, respectively, to a sample collection process, forming a workflow from source to samples. This is then added to the study's "process sequence": a container for experimental process event descriptions.
Finally, the composition of the model objects is serialized as ISA-Tab to the standard output. Scripts such as these can form part of a larger Python software program, or be executed directly from the command-line, to automate the construction of ISA metadata descriptors. incorrectly labelled Factors as Parameters or Characteristics), and batch fixing such issues. This work has resulted in the creation of curation functions, which have been applied to the content of the MetaboLights database as a means to improve the quality and consistency of ISA archives. These validators also form the basis of the current MetaboLights extensive online validations coupled to their submission infrastructure to validate the metadata for missing values, consistency, and sufficiency.
Documentation Extensive documentation is available as a Jupyter Book that includes examples presenting the various capabilities afforded by the ISA API  [55]. The Jupyter Book includes information about how to install and use the isatools Python package, details about the ISA data model, and source code examples of using ISA API as Python scripts and Jupyter notebooks. For more information about the features listed here, interested readers are invited to view the ISA tools API documentation for detailed and up-to-date information. [52] , and Amazon's SageMaker  [53]. A set of Jupyter notebooks detailing how to use ISA-API key functionalities is available on GitHub and the isa-cookbook  [54, 55].
Early adopters The ISA API has a number of early adopters that demonstrate its value as an open platform to the ISA framework. The following section details how these groups rely on our Python library in their data management tasks. The MetaboLights metabolomics database  [48]  is using the ISA API to load, edit, and save ISA-Tab as part of its nextgeneration data curation interface. MetaboLights has redeveloped its user and data curator interface building on the latest Web technologies and using the ISA API to convert from ISA-Tab to ISA-JSON for further processing. The developers take a service-oriented approach, exposing various features for editing and updating ISA content through a RESTful API  [32]. The PhenoMeNal (Phenome and Metabolome aNalysis) einfrastructure for molecular phenotype data analysis has developed a set of containerized microservices (using Docker) that use ISA API's converters, validators, and study creation features  [67].
The PhenoMenal Virtual Research Environment is based on the Galaxy workflow platform  [45]  through its integration with Kubernetes  [68]. Through PhenoMeNal, a suite of tools has been developed to integrate the ISA API with Galaxy  [69]. The tools have been published as a Galaxy workflow since the Dalcotidine release of PhenoMeNal to demonstrate a study metadata prepara-tion and pre-submission pipeline to the MetaboLights database (see Fig. 5 ). The Galaxy workflow platform includes native support for ISA formats by using the ISA API in its datatype implementations of ISA-Tab and ISA-JSON, paving the way for Galaxy tools to consume and produce ISA content as first-class Galaxy datasets. The Collaborative Open Omics (COPO) platform  [70]  supports ISA-JSON as one of its metadata formats and uses ISA API's SRA exporter to allow COPO users to publish studies directly to the European Nucleotide Archive.
COPO configures its back end and front end for brokering various data types, including omics data, through consuming ISA configurations. The ISA configurations inform how COPO should present the data preparation wizard to the user, and how it stores it in its database in a variation of ISA-JSON. COPO stores study metadata as JSON where it conforms to the ISA-JSON schemas and adds extra metadata relating to its operation within the COPO database. By supporting ISA-JSON, COPO lends itself to easily leveraging the ISA API to export data to formats supported by the API. Still within the plant science community, a conversion from BrAPI  [71]  to ISA has been developed along with MIAPPEcompliant ISA configurations  [72, 73]. The functionality will be integrated along with other community conversion components in future releases of the ISA API.
A stable and growing user community Since its first release, ISA API has grown its user base steadily with active contributions from the community as an open source project as evidenced by bug reports, feature requests, and code contributions. While it is difficult to measure the uptake of free software, ISA API has been available since 2016 via PyPI, which collects download statistics for all packages it hosts  [74]. There are documented drawbacks to using these PyPI download statistics, such as historical data issues and systemic irregularities such as caching of downloads that can cause undercounting, so we view these statistics as indicative of how the ISA API project has progressed rather than as an accurate measure. These statistics also do not include installations directly from the source code repository on GitHub or from Bioconda.
After its initial release year, we observed a maintained and slight year-on-year growth from 2017 to 2019 of ∼27,000 annual downloads via PyPI (Fig. 6 ), which we believe demonstrates that the ISA API has built up a stable and active user base. When looking at a more granular picture of the download statistics for the isatools package, on a month-by-month basis, we observe spikes in downloads on PyPI after each major release. We believe that this indicates that the ISA API user community continues to be active and is using the platform in production systems by migrating to its newest updates soon after they are made available.
Conclusions The development of the ISA API represents a major step forward in making the ISA framework open and interoperable, enabling better handling of experimental metadata, and supporting a diverse user community. By providing a programming interface, rather than a graphical user interface, the ISA API provides a platform for simplified and consistent integration of the ISA framework in new and existing software, promoting the production of structured metadata by agents and the development of data management solutions that can be FAIR by design. The availability of an ISA implementation that is easily used by other software also reduces the likelihood of independent implementations that may not strictly adhere to the ISA format specifications. The object-oriented class model provides a format-agnostic interface for client software, allowing software that uses the ISA API to automatically support all ISA file formats, while also providing a common basis on which to build data format parsers and serializers more easily.
Should external implementations of the ISA formats be required, by providing reference implementations of ISA-Tab and ISA-JSON parsers, serializers, and validators, software developers have the infrastructure in which to extend the API or build interoperation of ISA with other software systems. As Python code, it can also easily integrate into existing bioinformatics and data science platforms such as Galaxy and Jupyter. Importantly, the objectoriented DAG model presented by the ISA API offers a more intuitive way to reason about and process study metadata than as ISA-Tab tables, simplifying the work of developers and enabling the development of richer metadata processing applications. The ISA API is available as free and open source software, which will improve the dissemination and application of the ISA metadata framework.
Community-led requirements The ISA metadata framework and its supporting tools were developed to support requirements of the life science research community, and its requirements are elicited in collaboration with a wide range of stakeholders, such as those represented in the ISA Commons  [17]. This approach continues with the development of the ISA API, where, through direct research funding, the project was initially driven by requirements of metabolomics research (via the H2020 PhenoMeNal project  [67] ) and the plant sciences community (via the UK BBSRC COPO project  [70] ). Development has also been guided by collaboration workshops (e. g. ,  [75]  and  [76] ). As an open source project from its outset in 2015, the ISA API openly encourages grassroots contributions via its GitHub project, where we receive continuous feedback, feature requests, and source code contributions from third parties.
Model-driven engineering The ISA API was developed using a model-driven engineering approach  [77]  that initially focused heavily on formalizing the concepts that define the ISA metadata framework. This required close analysis of the only specification of ISA concepts available documented in the ISA-Tab 1. 0 specification  [2]  and the de facto reference implementation of ISA-Tab in the Java source code of the ISA software suite  [12] , as well as critical discussions within the ISA Working Group. One of the early goals of the ISA API project was to implement support for a JSON serialization format, ISA-JSON  [4]. A model specification was drafted as a set of JSON schemas, the JSON community's response to implementing features reminiscent of XML schemas. This was then formalized as the first data-agnostic specification of ISA.
From the ISA-JSON schemas, we then used the warlock Python package [78] to draft an object-oriented (OO) Python class model (via Python's dynamic object creation facility) that was highly synchronized with the JSON schemas. This OO class model was then implemented concretely (to provide object reflection/introspection that dynamic objects lack) to use as the primary representation of ISA metadata in Python. Data format parsers and serializers were then developed to load data into these Python objects at run-time. The ISA API implements support interoperation between formats such as ISA-Tab, ISA-JSON, SampleTab, MAGE-TAB, and SRA-XML by using these ISA Python objects. It is important to note that the ISA data model is not a model of ISA-Tab; rather, ISA-Tab is an implementation of the data model.
Test-driven development When developing new features and fixing bugs, the ISA API development team predominantly follows a test-driven development approach  [79]. This means that when new features are requested an automated unit test is implemented first to capture the feature specification, then work is done to develop the new feature to satisfy the test. Similarly, when a bug is reported via the project's GitHub issue tracker, an automated regression test is implemented first to capture the problem specification before developing the bugfix. Automated unit tests are implemented using the unittest package and run with the nose and tox testing frameworks. Source code contributions to the GitHub project are automatically tested on multiple Python versions using the continuous integration service Travis CI.
Download statistics The download statistics for the isatools package hosted on PyPI shown in Fig. 6  are collected by the Linehaul statistics daemon  [80]  that logs downloads of all Python packages on PyPI and pushes the data to a public dataset  [74]  on Google BigQuery  [81]. The all-time statistics about the isatools package were retrieved from this public dataset on 24 October 2020 at 14:20 UTC+2 with the following SQL query via the BigQuery interface: SELECT TIMESTAMP TRUNC(timestamp, WEEK) week , COUNT( * ) downloads FROM `the-psf. pypi. downloads * Ẁ HERE file. project = ''isatools'' GROUP BY week, file. version ORDER BY week The result of this query was downloaded as a CSV file containing a timestamp of the week-ending each weekly period of downloads, the isatools version number, and the total number of downloads for each period and version.
Acknowledgements We thank members of the  ISA Working Group, ISA Commons ,  H2020   PhenoMeNal  project,  UK BBSRC COPO  project, attendees of the 2016 " Hack-the-Spec-ISA  as a FAIR research object" workshop hosted by the  Oxford e-Research Centre, UK , attendees of the 2016 " China-UK Data Dissemination in Metabolomics (CUD-DEL )" workshop hosted by  GigaScience ,  Hong Kong , and the  EMBL-EBI MetaboLights team  for guidance and feedback on the development of the ISA API.
Data Availability The all-time weekly download statistics data for the isatools package on PyPI up to 24 October 2020 14:20 UTC+2 and the code used to plot the charts used in Fig. 6  in this article are available in a Code Ocean capsule  [83]. The data and code are available under CC BY 4. 0 and MIT License, respectively. Snapshots of the code are available in the GigaDB repository  [84].
For small population sizes where stochastic fluctuations must be accounted for, the framework developed by Duso and Zechner  [11]  is more appropriate. With the goal of open and collaborative progress, we make our code publicly available  [16]  in the hope that this modeling tool can be of broader use for the community. The code is generic and has been written for arbitrary reaction networks, growth-3/24 fragmentation and similar models. The interface is intended to be straightforward for the first-time user, while also allowing more advanced control of the numerical scheme, including discretisation and time-stepping details. The rest of the paper is structured as follows. First, we introduce the encompassing framework by defining the class of problems under consideration. We then outline the numerical software developed to solve problems cast in this framework.
8/24 First, the practitioner principally interested in simulation results with less focus on the numerical implementation details. With this in mind, the code is distributed as a package in the open-source and widely distributed Python programming language. The interface allows for a direct encoding of the reaction network structure without reference to the underling mathematical abstraction, as depicted in Fig 2. Second, for the user interested in more control of the numerical implementation, the interface provides options to calibrate the state discretisation and tweak the flux limiter, as well as adjust the time stepping method and its order. Furthermore, the code has been written in a modular way that allows the more advanced user to retain the framework structure and implement a completely custom discretisation with minimal effort.
(9) Each discrete state k represents the number of mRNA molecules present. In practice, we truncate the discrete mRNA state at some finite maximum 0 ≤ k ≤ K. System (7) may be written as ∂ ∂t p(x, t) = ∂ ∂x [γ 0 xp(x, t)] -H(x)p(x) + x 0 H(x -z)p(x -z, t) e -z/b b dz, (10) for the mean continuum-scaled burst size b = B/Ω. The exponential burst kernel is a standard form for the burst-production jump density  [13] , and may be derived as the continuum scaling limit of the (discrete) geometrically distributed burst sizes  [40]. Both reaction networks (  6 ) and (  7 ) fall within the ACME framework  (5) , and may then be solved numerically by application to the forms (  8 ) and  (10) , respectively. To demonstrate the simplicity of using the Flips software, in Section 2 in S1 Appendix we present the code required to set up and simulate both reaction networks.
Most of the code is simply a one-to-one translation of the discrete reaction network (each reaction is described by its reactants, products and rate). Intuitive instructions tell the solver to ignore diffusion, fix uniform initial conditions, solve over a specified time interval, and plot the distribution. This makes the software accessible to the end-user without the need to deal with the technicalities of the continuum approximation or its analysis. At the same time, the software allows fine-grained control of the discretisation of the state space and the differential operators, as well as the time stepping method and associated properties. For the sake of comparing to results in Lin and Doering  [40] , we adopt the same parameter values, namely r 0 = 2, r 1 = 10, n = 4, B = 40, γ 0 = 1, Ω = 200.
In Fig  3A  we plot the stationary distributions of (8) as given by the Flips solver (solid curves) and the full CME (dotted curves) for finite, increasing values of the mRNA production/degradation rate γ. The limiting case of γ = ∞ is plotted by simulation of (10) and compared to the exact continuum solution (dashed curve) given in  (12). We see good agreement even though the Flips solver has lumped every ten protein molecules into a single discrete volume. Importantly, results in Lin and Doering  [40]  were obtained only in the limiting case of γ/γ 0 → ∞, and thus intermediate values of γ/γ 0 were beyond reach (see  [40, Appendix F] ). By retaining the finite lifetime of the mRNA molecules in formulation  (8) , the Flips software is able to match the CME over the entire range of relevant γ/γ 0 values, and we observe the convergence of the finite mRNA lifetime scheme towards the infinitely fast-lived scheme.
Thus, despite not being a chemical reaction network, the growth-fragmentation process is solvable with the Flips software. We now seek a benchmark case with which we can compare numerical solutions. In Section 5 in S1 Appendix we combine results from Rooney et al. [44]  and Cáceres et al. [45]  to derive two closed-form solutions for two growth-fragmentation equations. In the first case, we use the time-invariant fragmentation kernel b(y, x, t) = 2ay k-1 for positive constants a and k, with no growth, that is, g ≡ 0. We may thus derive the form B(x, t) = ax k (see Section 4 in S1 Appendix), whereupon the equation takes the form ∂ ∂t ρ(x, t) = -ax k ρ(x, t) + ∞ x 2ay k-1 ρ(y, t) dy, (25) and admits the self-similar solution ρ(x, t) = c(at) 2/k e -atx k , (26) for an arbitrary constant c. A change of variables (see Section 5 in S1 Appendix) allows 17/24 us to transform  (26)  to a solution of the equation ∂ ∂t ρ(x, t) = - ∂ ∂x [xρ(x, t)] -(akx k + 1)ρ(x, t) + ∞ x 2aky k-1 ρ(y, t) dy, (27) which is given by ρ(x, t) = c e -2t [a(e kt -1)] 2/k e -a(e kt -1)(e -t x) k.
Nonetheless, the model is of the same general form, and thus the solver is no less applicable. This is a powerful observation as it allows us to couple these two classes of models. As an example application, cell division has been reported to depend on gene expression pathways  [46] [47] [48]. The ACME framework in tandem with the Flips software provides a generic framework in which such coupled models can be studied, alongside population-level effects and with view to transient dynamics (such as first-passage time problems).
Background: Breast cancer is amongst the 10 first causes of death in women worldwide. Around 20% of patients are misdiagnosed leading to early metastasis, resistance to treatment and relapse. Many clinical and gene expression profiles have been successfully used to classify breast tumours into 5 major types with different prognosis and sensitivity to specific treatments. Unfortunately, these profiles have failed to subclassify breast tumours into more subtypes to improve diagnostics and survival rate. Alternative splicing is emerging as a new source of highly specific biomarkers to classify tumours in different grades. Taking advantage of extensive public transcriptomics datasets in breast cancer cell lines (CCLE) and breast cancer tumours (TCGA), we have addressed the capacity of alternative splice variants to subclassify highly aggressive breast cancers.
A distinctive basal B-like breast cancer splicing signature Data mining of large-scale genomics and transcriptomics datasets in breast cancer cell lines are a promising source of novel biomarker and therapeutic targets  [23, 38, 39]. We sought to leverage the wealth of transcriptomics and functional data available in cancer cell lines to better understand different profiles of breast cancer. Hierarchical clustering of changes in alternative splicing of cassette exons and gene expression profile of 80 breast cancer cell lines from two extensive and complementary projects (Additional file 2: Table  S1 ) revealed basal B cell lines as a distinctive group of cells with an expression and splicing profile significantly different from basal A and luminal cancer cells (Additional file 1: Fig. S1 ).
Through integrative analysis of clinical breast cancer gene expression datasets, cell line models and mutation data from cancer genome resequencing studies, RBM47 was identified as a suppressor of breast cancer progression and metastasis. It was found mutated in patients with brain metastasis and its expression was necessary to inhibit brain and lung metastatic progression in vivo  [56]. Interestingly, despite regulating just 9/25 splicing events of the basal B-specific splicing signature, low expression of RBM47, and not ESRP1, correlated with a poor prognosis and lower survival rate in basal-like breast cancer patients, which increases the interest to design new therapies targeting this splicing regulator. In fact, this basal B-specific splicing signature has highlighted a subpopulation of basal-like triple negative breast cancer patients differentially expressing several hallmarks of invasive, EMT-like aggressive cancer, such as the newly identified biomarker of metastasis CD36  [20].
Methods RNA-seq transcriptomics analysis: gene expression and alternative splicing RNA-seq reads were aligned to the human genome (GRCh38, primary assembly) using STAR  [100]  version 2. 5. 2b with standard parameters. Gencode v25 (derivated from Ensembl v85) was used for all analysis requiring annotation. TPMCalculator  [101]  (v0. 0. 1) was used to compute transcripts per million (TPM) values and obtain read counts. Q parameter was set to 255 to keep only unique mapped reads and ExonTPM value was used to consider only reads mapped to exons. Whippet-quant from Whippet software (v10. 4) was used to compute Percentage Spliced-In (PSI) values for splicing analysis. Conjointly to Kruskal-Wallis testing, the output from Whippet-quant was further filtered to include only events for which the sum of inclusion counts (IC) and skipping counts (SC) was greater or equal to 10 for both sets of samples.
Gene Set Enrichment Analysis (GSEA v20. 0. 5) was carried out on the GenePattern  [104]  web platform using phenotype for permutation type and 1000 for the number of permutations to execute. FDR cutoff of 25% for potential true positive finding was used as documented in the GSEA user guide. Read counts were previously normalised using DESeq2  [105]  (v 1. 10. 1) on the same Platform. R version 3. 6. 2 was used all along this study excepted for GSEA. All heatmaps were done online using Morpheus https://software. broadinstitute. org/morpheus/. Values were adjusted by Z-score. (subtract mean and divide by standard deviation). Hierarchical clustering was done in Morpheus. We selected "Metric One minus Pearson correlation" as a measure of distance between pairs of observation and "Average" as the linkage method.