dataesr/scientific-paragraphs-categorization huggingface dataset:
, 2015). Despite that the origin of ANN and specifically CNN  (Lecun, et al. , 1990 ) goes back to Frank Rosenblatt work in the 1950s, neural network models were not broadly used until recently, after researchers overcame certain limits. The most notable advances are the generalization of perceptrons to many layers  (Minsky & Papert, 1969) , the emergence of backpropagation algorithm as an appropriate training method  (Rumelhart, et al. , 1986)  and the availability of large training datasets and computational resources to learn millions of parameters. The CNN particularity lies in the selective connection of each hidden layer neuron to a subset of neurons in the previous layer allowing hierarchical features extraction. In classification tasks, this means that the first hidden layer can visualize edges, the second a specific shape and so on until the final layer that will identify the object.
GoogLeNet. Since it has been demonstrated that a CNN architecture size is positively correlated to its performance, recent efforts focus on how to increase the depth of a CNN while keeping an acceptable number of parameters. Winner of ILSVRC 2014, GoogLeNet  (Szegedy, et al. , 2015)  innovated network design by replacing the classical strategy of alternating convolutional and pooling layers with stacked Inception Modules depicted in figure  2. Despite being deeper than VGGNet with 22 hidden layers, GoogLeNet requires outstandingly fewer parameters due to this sparse connection technique. Within an inception module, several convolutions with different scales and pooling are performed in parallel then concatenated in one single layer. This enables the CNN to detect patterns of various sizes within the same layer and avoid heavy parameters redundancies  (Szegedy, et al.
, 2018b ) that aim at predicting and eliminating poor architectures before full training. Another idea to estimate performance and rank designed architectures is to use simplified (proxy) metrics for training such as data subsets (mini-batches)  (Pham, et al. , 2018)  and downsampled data (like images with lower resolution)  (Hinz, et al. , 2018). In an original attempt to address this issue,  (Ying, et al. , 2019)  introduce NAS-Bench-101, the first architecture-dataset for NAS. They repeatedly trained and evaluated thousands of CNN cell-based architectures on CIFAR-10 taking years of tensor processing unit (TPU) of computation time. Subsequently, they obtained a large table mapping almost 423 thousand architecture to their accuracies and other metrics according to specific graph connectivity.
Antisense transcription is known to have a range of impacts on sense gene expression, including (but not limited to) impeding transcription initiation, disrupting post-transcriptional processes, and enhancing, slowing, or even preventing transcription of the sense gene. Strandspecific RNA-Seq protocols preserve the strand information of the original RNA in the data, and so can be used to identify where antisense transcription may be implicated in regulating gene expression. However, our analysis of 199 strand-specific RNA-Seq experiments reveals that spurious antisense reads are often present in these datasets at levels greater than 1% of sense gene expression levels. Furthermore, these levels can vary substantially even between replicates in the same experiment, potentially disrupting any downstream analysis, if the incorrectly assigned antisense counts dominate the set of genes with high antisense transcription levels.
Currently, no tools exist to detect or correct for this spurious antisense signal. Our tool, RoSA (Removal of Spurious Antisense), detects the presence of high levels of spurious antisense read alignments in strand-specific RNA-Seq datasets. It uses incorrectly spliced reads on the antisense strand and/or ERCC spikeins (if present in the data) to calculate both global and gene-specific antisense correction factors. We demonstrate the utility of our tool to filter out spurious antisense transcript counts in an Arabidopsis thaliana RNA-Seq experiment.
Alternative approaches to make strand-specific RNA-Seq libraries have been developed to mitigate artefacts arising from reverse transcription, however most of these also use reverse transcription  22  and so have similar problems with incorrect assignment. For example, the highly-rated  22, 23  and widely used dUTP protocol for stranded RNA-Seq  24  is known to generate low levels of spurious antisense reads ranging from 0. 6-3% of the sense signal  22, 25, 26. Ultimately, the direct sequencing of full-length RNA molecules  27  will overcome many of the problems of distinguishing authentic antisense RNAs. However, currently, reverse-transcriptase based approaches dominate and the extent of spurious antisense RNAs identified in RNA-Seq datasets is rarely exposed. In this paper, we analyse spurious antisense reads in 199 RNA-Seq experiments, across multiple organisms from both ENCODE  28  and our own work.
RoSA: Removal of Spurious Antisense Our scripts and analysis code are bundled as a tool, RoSA (Removal of Spurious Antisense), available from the Barton Group's github pages at https://github. com/bartongroup/RoSA. RoSA is an R package supported by two python pre-processing scripts, callable from R. For genes with spliced transcripts which are expressed in the data, RoSA uses the subset of reads from either strand that map across the splice junctions. The antisense reads in this subset are almost certainly spurious, and so RoSA can use the read counts to calculate a gene-specific antisense correction factor (Section 2. 2). For genes without spliced transcripts, RoSA uses ERCC spike-in data, if present. Here any antisense read mappings are, by definition, spurious and the ratio of sense to antisense reads mapping to the spike-ins thus provides a global, rather than gene-specific, antisense correction factor (Section 2.
3). If ERCC spike-in data is not available, RoSA instead calculates a global estimate of the spurious antisense fraction from the set of spliced reads. Counting all, or spliced-only, antisense reads is not directly supported by existing tools. RoSA's preprocessing scripts perform these functions. The make_annotation script creates an antisense annotation (as gtf) from a standard annotation (as gff or gtf), which can then be used to generate antisense read counts via a standard read counting tool (Section 2. 4. 1). RoSA doesn't specify how the sense and antisense gene expression is counted leaving users free to apply whichever tool they feel will best represent the gene expression in their experiment. However, the accuracy of the corrections calculated by RoSA will be affected by this choice in the same way as the calculation of differential gene expression.
If counting methods are used that only consider regions within sense features that do not overlap any antisense feature, the genespecific corrections calculated by RoSA may be less accurate where the overlap is large and/or the sense or antisense expression is low. RoSA then adjusts these raw counts to produce corrected antisense counts (Section 2. 4). The count_spliced script generates sense and antisense counts of reads at splice junctions, used when estimating spurious antisense from spliced reads. The script takes a standard annotation (as gtf/gff) and corresponding alignment (as bam) and outputs counts of spliced sense and antisense reads to a designated output file. RoSA takes several datasets containing different read counts as its input, for each replicate: 1. Full read counts by gene RoSA calculates and returns antisense:sense ratios for the spikein data, or spliced read data, or both, and, for each gene and replicate, outputs new read counts values corrected for spurious antisense.
Using spliced reads RoSA's main approach to estimating spurious antisense is to use spliced reads within the main dataset. Reads which map antisense to a multi-exon gene, and that also show the same splicing pattern as spliced sense-mapping reads are almost certainly spurious, as the splicing motif (canonically GU-AG) will be incorrect on the opposite strand (Figure  1 ). An estimate of spurious antisense can be calculated by considering only spliced reads whose splices match annotated splice sites (splice-matched reads), and, as with the spike-ins, calculating the ratio of antisense to sense reads. Splice-matched reads are identified by first filtering all spliced reads in the data. In a bam file of aligned reads, spliced reads have a CIGAR string containing 'N', indicating a skipped region.
The ratio of antisense:sense counts on the splicematched reads thus gives a simple global estimate of the level of spurious antisense across the whole dataset. Using spliced reads has the advantage that an antisense:sense ratio can be calculated on a gene-by-gene basis, for any spliced gene. Genes without any spliced reads fall back on the global estimate, calculated either from the spike-ins (see Section 2. 3) or the spliced reads. In the case of real, unannotated, antisense expression at a gene locus, the behaviour of RoSA falls into three categories: 1. If the splicing of the true antisense transcript differs from the sense transcript (including no splicing) then RoSAs gene specific correction will remove any spurious antisense expression (identified by antisense matches to the sense splicing) and leave the true antisense expression unchanged.
2. If the splicing of the antisense expression is the same as the sense strand, then RoSA will remove this completely. 3. If the true antisense splicing is the same as the sense strand in some parts of the transcript, but not across the entire transcript, then RoSA will remove a fraction of the true antisense expression depending on how similar the splicing patters are. We anticipate that occurrences of 2 & 3 will be uncommon in RNA-seq datasets. Point 2 highlights a minor potential limitation of the gene-specific splicing-based corrections calculated by RoSA, namely that it cannot distinguish between spurious antisense signal and potential biological transcription from RNA-dependent RNA polymerases (RdRPs). Although RdRPs are widespread in eukaryotic genomes, only 8-30% of eukaryotic gene regions have significant length ORFs on their opposite strands  31  , providing an upper limit on the potential impact of this method of transcription on the RNA complement within a cell.
Using ERCC spike-ins An alternative approach to estimating spurious antisense is to use ERCC spike-in data. Developed by the External RNA Control Consortium (ERCC)  35  , the ERCC spike-in controls are synthetic RNA transcripts that are added to RNA-Seq experiments to act as controls  36. The 92 spike-ins are designed to mimic a range of eukaryotic mRNA characteristics, varying in length, GC-content and concentration, with a 20bp poly-A tail. They have minimal sequence similarity with known eukaryotic transcripts. Since the spike-ins are synthetic, they are unidirectional, and so any reads assigned as antisense to a spike-in can be assumed to be spurious. As the spike-ins are present at a wide range of concentrations, they are detected with a wide range of read counts, permitting an estimate of the ratio of antisense to sense read counts on the spike-ins to be calculated, which can then be used to estimate the contribution of spurious antisense transcripts across the full dataset.
Whenever exons of different transcripts overlap in the annotation, the exon in the maximal transcript is the maximum extent of both exons. Given a maximal transcript, the script creates an antisense feature on the opposite strand which runs for the full extent of the maximal transcript. If the maximal transcript of another gene overlaps with the antisense feature, then the antisense feature is truncated to avoid overlapping. Once an antisense annotation is available, a read counting tool can be used to count antisense reads, by providing the antisense annotation instead of the standard annotation.
Arabidopsis thaliana datasets with spurious antisense A procedure to experimentally generate RNA-Seq data with specific levels of spurious antisense is not known. Our main experimental data (Experiment 1) is therefore drawn from the study which originally motivated our investigation into incorrectly assigned antisense reads. In this study, spurious antisense occurred by chance at varying orders of magnitude across different replicates. Additionally, we perform a meta-analysis using three other Arabidopsis thaliana datasets (Experiments 2-4,  39  ) and data from ENCODE (see Underlying data for the full list of the ENA and ENCODE accessions).
Read counts per gene were then quantified from these alignments with featureCounts v1. 5. 0-p1 using the publicly available TAIR10 annotation with the parameters: -s 2 -p -t exon --largestOverlap. After running RoSA's make_annotation script to build an antisense annotation, antisense read counts per gene were quantified in the same way, with the parameters: -s 2 -p -t antisense --largestOverlap. Finally, spliced sense and antisense reads were counted using RoSA's count_spliced script with the TAIR10 annotation.
Operation A full description of RoSAs environment, dependencies, installation and basic operation can be found on the RoSA GitHub repository. Briefly, RoSA is a combination of an R package and python scripts for data preprocessing. Minimal system requirements for the package are R v3. 5+, python 2 v2. 7+ the LSD R package and the python packages scipy (v0. 16. 1 -0. 17. 1), numpy, pandas (not v0. 20. 1), six and, optionally, drmaa for cluster integration. The python scripts to find and count spliced antisense and sense reads also depends on sambamba. To facilitate ease-of-use, a conda environment that captures all the relevant dependencies is included as part of the RoSA codebase. RoSA's python scripts are provided as a python package ad are installed via pip, while the R package can be installed directly from within R using the devtools package.
RoSA operates on the total and spliced read counts from sense and antisense bam format read alignments of stranded RNA-Seq datasets, either with or without ERCC spike-in standards. To facilitate easy generation of this read count data, RoSA includes helper pre-processing scripts to generate the antisense counterpart of the provided gtf/gff format sense-strand genome annotations (make_annotation), and to generate spliced-read gene count data from the bam format read alignments using both the sense-and anti-sense annotations (count_spliced). Both of these helper scripts can be called directly within R as part of the RoSA R package, Detailed help for the R RoSA functionality can be accessed within R with the command, help(rosa).
Row 3: Corrected antisense:sense ratios calculated for the full gene counts (spliced & unspliced). The corrected antisense counts show much weaker correlation with the corresponding gene counts reflecting the removal of the systematic spurious antisense count signal. On all plots the dashed line marks y=x; points above this line correspond to genes where the antisense:sense ratio is > 1. Finally, RoSA calculated a spurious antisense correction across the whole of each replicate. Every spliced gene was corrected with the antisense:sense ratio specific to the gene, and unspliced genes were corrected using the mean ratio calculated from the spike-ins. (RoSA also allows the unspliced correction to be calculated from the mean spliced reads ratio, for datasets without ERCC spike-ins). Overall, RoSA reduces the correlation between antisense and sense counts in the data (Figure  4 , Rows 2 & 3), as would be expected with a reduction in incorrectly assigned reads.
Comparing antisense:sense ratios Calculating antisense:sense ratios allows comparisons of spurious antisense to be made between replicates and between experimental condition, and can reveal whether there are systematic differences which might confound experimental comparisons. For example, Figure  1  presents results from an RNA-Seq experiment where spurious antisense levels differed by an order of magnitude between replicates. In this experiment, the WT replicates had spurious antisense:sense ratios of 0. 0031 (SD 0. 0116), 0. 0009 (SD 0. 0070) and 0. 0111 (SD 0. 031). To determine the extent of this problem for RNA-Seq datasets in general, we investigated the spurious antisense levels across a range of experiments and research groups. We analysed antisense reads assigned to the spike-ins from three other experiments in our lab (Experiments 2-4), as well as 195 publicly available human datasets from the ENCODE project that included the ERCC spike-ins  28  (see Underlying data for details of the sense, antisense and RoSA-corrected antisense expression for all A.
Conclusions Spurious antisense is common in strand-specific RNA-Seq datasets and can occur at varying levels across replicates in the same experiment. Differing levels of such incorrectly assigned reads are enough to disrupt differential expression analyses of antisense gene expression. We have developed a new tool, RoSA, which can detect, quantify and correct for spurious antisense. RoSA provides an important quality control step for researchers analyzing antisense expression in their data. sense reads, RoSA then adds the spurious antisense count for each gene to its sense count'. Adding the spurious antisense counts to the sense counts assumes that reverse transcriptase errors happen at the cost of 'real' RNA -> cDNA processing. Is this correct? Software: The package as it stands is not user friendly and has several bugs that need to be resolved before the software can be used smoothly.
○ A detailed R package vignette including sample data sets and examples of code would be very helpful, especially for the less experienced users. ○ General comment: Is there a reason why the authors used a storage costly strategy aligning reads followed by counting rather than using alignment free software such as Kallisto or Salmon? ○ Solving environment: failed ResolvePackageNotFound: -r-base==3. 5. 1=h4fe35fd_0 -libssh2==1. 8. 0=h5b517e9_2 -matplotlib==2. 2. 3=py27h8e2386c_0 To try and fix this problems I removed the pinning on the exact build, leaving only the pinning on version number. This returned the following error: Solving environment: failed UnsatisfiableError: The following specifications were found to be in conflict: -matplotlib=2. 2. 3 -sip=4. 18. 1 -tk=8. 6. 8 I was able to install by manually creating an environment using the dependencies listed in the readme, although using the pip install for rosa downgraded the pandas install from 0.
24 to 0. 19. The ability to install all dependencies as a conda environment is very useful to the average user, and the authors should consider either fixing the supplied env file, or (ideally) creating a proper rosa conda package, so that rosa and all its dependencies (both R and python) can be installed with conda install rosa. Once installed I found the documentation to be a little on the sparse side, and it times confusing. For example, the help for therosa` function states that the parameter "data" should be a list of dataframes with a particular list of columns. But the help for the "group" parameter says that it is a character vector specifying the replicates for each column in data. Thus it is unclear if replicates should be provided as a member of a list of data. frames, or as separate columns in one data.
○ The manuscript doesn't really mention TPMs, but the help for rosa states that TPMs are required to run the function. I believe it would not be clear to a less experienced user how to calculate a TPM for the anti-sense counts generated on the custom anti-sense annotation. ○ Not help page is provided for either thecount_spliced` nor `make_annotation` functions. Nor is much in the way of documentation provided for the python scripts these functions ○.
Data availability Underlying data Arabidopsis col-0 WT strand-specific RNA-Seq data from poly-A pulldown, Accession number E-MTAB-7990: https://identifiers. org/arrayexpress/E-MTAB-7990 RNA-seq data of wild type Arabidopsis seedlings, Accession number E-MTAB-5446: https://identifiers. org/arrayexpress/ E-MTAB-5446 Extended data Zenodo: bartongroup/RoSA: Initial, http://doi. org/10. 5281/ zenodo. 2661378 43. This project contains the following extended data: -Accession numbers for ENCODE data: https://github. com/ bartongroup/RoSA/tree/master/extras/F1000_manuscript/ RoSA_Extended_Data. docx -Accession details for ENCODE data: https://github. com/ bartongroup/RoSA/blob/master/extras/F1000_manuscript/ ENCODE_accessions. xlsx -Arabidopsis seedlings RNA-seq read count expression counts: https://github.
at the same sequencing facility and all the samples include the ERCC spike-ins which can verify the WT samples are consistent and comparable across experiments. 1, DNAse digestion was performed on column, as a part of RNA isolation, and 8 μl of ERCC spike- ins (External RNA Controls Consortium 2005) at a 1:100 dilution was added to 4 μg of total RNA. Libraries were pre- pared according to the TruSeq ® Stranded mRNA Sample Preparation Guide Rev E. The libraries were sequenced on a HiSeq2000 at the Genomic Sequencing Unit of the University of Dundee. This preparation largely mirror the sample prepara- tion of the datasets take from Froussios et al. (2017, 39 , Experi- ments 2-4) In Experiments 2-4, however, the sequencing libraries were prepared using the Illumina TruSeq ® Stranded Total RNA with Ribo-Zero Plant kit.
However, with Sanger sequencing limited to 500-800 nucleotides, sequencing is usually carried from both ends for clones greater than this length. Analysis of such RY2H data thus requires assembly of sequencing products combined with trimming of vector sequences and of low-quality bases at the beginning and ends of sequencing products. Further, RY2H analysis requires collation of mutations that abrogate a DB/AD interaction. Here, we present 2HybridTools, a Java program with a user-friendly interface that allows addressing all these issues inherent to both Y2H and RY2H. Specifically, for Y2H, 2HybridTools enables automated identification of positive clones, while for RY2H, 2HybridTools provides detailed mutation reports as a basis for further investigation of given protein-protein interactions.
, 2006; Rual et al. , 2005). Consequently, when dealing with large scale analysis coupled to high throughput, Y2H and RY2H generate a huge quantity of positive clones that need to be sequenced in order to identify binding partners and IDAs, respectively. Usually, each positive clone is sequenced and the user gets the results back in one or several fast-all (FASTA) sequence files. When working with large datasets, this step can generate hundreds of such files with the obvious consequence of significantly slowing down the identification of bona fide protein partners. Furthermore, the sequencing product contains part of the cloning vector and a specific primer tag, which might severely limit the efficiency of alignment of clone DNA or protein sequence to public databases via the NCBI Basic Alignment Search Tool (Blast!) for identification  (Altschul et al.
Finally, in the case of RY2H, spotting and summarizing bait mutations along the protein primary sequence in order to identify a potential surface of interaction for a given interacting partner requires a dedicated tool. To this end, we developed 2HybridTools, a handy software which simplifies and speeds up these steps by opening several sequencing FASTA files at the same time, by deleting unnecessary vector DNA, by optionally finding the right reading frame, and, in the case of paired-end sequencing, by overlapping corresponding sequencing fragments while trimming low-quality sequencing and keeping the resulting protein in frame, which is then protein-translated and identified via Blast. Additionally, 2HybridTools detects and summarizes mutations in a graphical report, and those mutations can be superimposed onto a protein model sequence if desired.