Methods and systems for sequence generation and prediction
A machine learning-based method using LSTM-RNNs generates optimized core promoters to address the size constraints of AAV vectors, improving gene delivery efficiency in genetic therapies.
Patent Information
- Application Number
- JP2024191291
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2020-08-21
- Filing Date
- 2024-10-31
- Publication Date
- 2025-02-04
AI Technical Summary
The limitations of Adeno-Associated Virus (AAV) in delivering large genes for genetic treatments due to its strict DNA packaging ability and the inability of viral and endogenous mammalian promoters to accommodate large control arrays, necessitating the development of short and efficient control arrays.
A machine learning approach is employed to design control arrays using recurrent neural networks (RNNs, specifically Long Short-Term Memory - RNNs (LSTM-RNNs) to generate core promoters of defined lengths and motifs, optimizing the size and content of control sequences within the AAV vector.
This method enables the generation of core promoters that can efficiently drive gene expression, overcoming the size limitations of AAV vectors and enhancing the delivery capacity for genetic therapies.
Smart Images

Figure 2025016639000001_ABST
Abstract
Description
[Background technology]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of priority to U.S. Provisional Patent Application No. 63 / 068,654, filed on August 21, 2020, as of the filing date thereof, the contents of which prior application are incorporated herein by reference in their entirety.
[0002] Reference to sequence listing The sequence listing submitted on August 20, 2021 was created on August 20, 2021 as a text file with the file name "37595_0033P1_Sequence_Listing.txt" (size 2,805 bytes) and is incorporated by reference in this specification pursuant to 37 CFR § 1.52(e)(5).
[0003] Adeno-associated virus (AAV) is the gold standard for transgene delivery in gene therapy. While offering many advantages, such as low immunogenicity and strong infectivity, one limitation is its strict DNA packaging capacity. Many therapeutic approaches are already approaching this limit. Together with other features encoded in recombinant AAV vectors, this leaves little space for regulatory sequences. Both commonly used viral and endogenous mammalian promoters exceed these limitations and cannot be used for the delivery of large transgenes via AAV. Thus, there is a strong need for short and efficient regulatory sequences. Summary of the Invention
[0004] receiving genetic data comprising a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences comprising at least one transcription start site (TSS) having an associated expression score; determining a plurality of TSSs from the first plurality of nucleotide sequences based on the associated expression scores meeting a threshold; determining a plurality of summit nucleotide bases based on the plurality of TSSs; for each summit nucleotide base of the plurality of summit nucleotide bases, determining an associated plurality of surrounding bases; storing each summit nucleotide base and the associated plurality of surrounding bases as a second plurality of nucleotide sequences labeled as a core promoter; A method is disclosed that includes determining a plurality of associated shift bases for a sequence, storing each of the associated plurality of shift bases as a third plurality of nucleotide sequences labeled as not being a core promoter, generating a training dataset based on the second plurality of nucleotide sequences labeled as core promoters and the third plurality of nucleotide sequences labeled as not being a core promoter, determining a plurality of features for a predictive model based on the training dataset, training a predictive model according to the plurality of features based on a first portion of the training dataset, testing the predictive model based on a second portion of the training dataset, and outputting the predictive model based on the testing.
[0005] Also disclosed is a method including receiving genetic data, the genetic data including a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences including at least one transcription start site (TSS) having an associated expression score; determining a second plurality of nucleotide sequences labeled as core promoters based on the first plurality of nucleotide sequences; determining a third plurality of nucleotide sequences labeled as non-core promoters based on the second plurality of nucleotide sequences; generating a training dataset based on the second plurality of nucleotide sequences labeled as core promoters and the third plurality of nucleotide sequences labeled as non-core promoters; determining a plurality of features for a predictive model based on the training dataset; training the predictive model according to the plurality of features based on a first portion of the training dataset; testing the predictive model based on a second portion of the training dataset; and outputting the predictive model based on the testing.
[0006] receiving genetic data comprising a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences comprising at least one transcription start site (TSS) having an associated expression score; normalizing the genetic data; clustering the TSSs based on the associated expression scores; determining an interquartile width for each cluster of TSSs; labeling each TSS as a sharp TSS or a broad TSS based on the interquartile width; determining a plurality of summit nucleotide bases based on the plurality of TSSs; determining an associated plurality of surrounding bases for each summit nucleotide base of the plurality of summit nucleotide bases; storing each summit nucleotide base and the associated plurality of surrounding bases as a second plurality of nucleotide sequences labeled as a core promoter; Also disclosed is a method including determining a third plurality of nucleotide sequences from the core promoters, determining an associated plurality of shifted bases for each nucleotide sequence of the third plurality of nucleotide sequences, storing each associated plurality of shifted bases as a fourth plurality of nucleotide sequences labeled as not a core promoter, generating a training dataset based on the third plurality of nucleotide sequences labeled as core promoters and the fourth plurality of nucleotide sequences labeled as not a core promoter, generating a plurality of seed sequences and target nucleotide pairs for each nucleotide sequence in the training dataset, vectorizing each seed sequence and target nucleotide pair of the plurality of seed sequences and target nucleotide pairs, training a generative model based on the vectorized seed sequences and target nucleotide pairs, and outputting the generative model.
[0007] Also disclosed is a method including receiving genetic data, the genetic data including a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences including at least one transcription start site (TSS) having an associated expression score; determining a second plurality of nucleotide sequences labeled as core promoters based on the first plurality of nucleotide sequences; determining a third plurality of nucleotide sequences from the second plurality of nucleotide sequences based on an associated expression score that meets a threshold; determining a fourth plurality of nucleotide sequences labeled as not core promoters based on the third plurality of nucleotide sequences; generating a training dataset based on the third plurality of nucleotide sequences labeled as core promoters and the fourth plurality of nucleotide sequences labeled as not core promoters; training a generative model based on the training dataset; and outputting the generative model.
[0008] Also disclosed is a method that includes receiving a nucleotide sequence, providing the nucleotide sequence to a trained predictive model, and determining that the nucleotide sequence is a core promoter based on the predictive model.
[0009] Also disclosed is a method that includes (a) receiving a nucleotide sequence and a sequence length; (b) providing the nucleotide sequence to a trained generative model; (c) determining a next nucleotide associated with the nucleotide sequence based on the generative model; (d) assigning the next nucleotide to the nucleotide sequence; (e) repeating b through d until the length of the nucleotide sequence is equal to the sequence length; and (f) outputting the nucleotide sequence as a core promoter sequence.
[0010] Also disclosed is a method including receiving genetic data, the genetic data including a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences including at least one transcription start site (TSS) having an associated expression score; determining a second plurality of nucleotide sequences labeled as core promoters based on the first plurality of nucleotide sequences; determining a third plurality of nucleotide sequences from the second plurality of nucleotide sequences based on an associated expression score that meets a threshold; determining a fourth plurality of nucleotide sequences labeled as not core promoters based on the third plurality of nucleotide sequences; generating a training dataset based on the third plurality of nucleotide sequences labeled as core promoters and the fourth plurality of nucleotide sequences labeled as not core promoters; and training a generative model based on the training dataset.
[0011] Apparatus configured to perform any of the disclosed methods is disclosed. Disclosed is a computer readable medium having processor executable instruction embodiments that configure an apparatus to perform any of the disclosed methods.
[0012] Additional advantages of the disclosed method and compositions will be set forth in part in the description which follows and in part will be understood from the description or may be learned by practice of the disclosed method and compositions. The advantages of the disclosed method and compositions will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as claimed. [Brief description of the drawings]
[0013] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate certain embodiments of the disclosed methods and compositions and, together with the description, serve to explain the principles of the disclosed methods and compositions. [Figure 1] FIG. 1 illustrates an exemplary operating environment. [Diagram 2] FIG. 2 illustrates an exemplary method. [Diagram 3] FIG. 3 illustrates an exemplary method. [Figure 4A] FIG. 4A shows a compact representation of an exemplary RNN block. [Figure 4B] FIG. 4B shows an expanded representation of an RNN block. [Diagram 5] FIG. 5 illustrates an exemplary LSTM-RNN block. [Figure 6] FIG. 6 illustrates an exemplary method. [Figure 7] FIG. 7 illustrates an exemplary method. [Figure 8] 8 shows an example of the method, where 802 shows SEQ ID NO:1, 806 shows SEQ ID NO:2, 810 shows SEQ ID NO:3, 814 shows SEQ ID NO:4 and 818 shows SEQ ID NO:5. [Figure 9] FIG. 9 illustrates an exemplary method. [Figure 10] FIG. 10 illustrates exemplary features of a predictive model. [Figure 11] FIG. 11 illustrates an exemplary method. [Figure 12] FIG. 12 illustrates an exemplary method. [Figure 13] FIG. 13 shows an example of a promoter assay. [Figure 14] FIG. 14 shows a comparison of the ability of generated core promoters to control the core promoter. [Figure 15] FIG. 15 illustrates an exemplary operating environment. [Figure 16-1] FIG. 16 illustrates an exemplary method. [Figure 16-2] Same as above. [Figure 17] FIG. 17 illustrates an exemplary method. [Figure 18-1] FIG. 18 illustrates an exemplary method. [Figure 18-2] Same as above. [Figure 19] FIG. 19 illustrates an exemplary method. [Figure 20] FIG. 20 illustrates an exemplary method. [Figure 21] FIG. 21 illustrates an exemplary method. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] The disclosed methods and compositions can be readily understood by reference to the following detailed description of the specific embodiments and examples contained therein, as well as the drawings and accompanying description.
[0015] A. Definitions It is to be understood that the methods and compositions of the present disclosure are not limited to the specific methodology, protocols, and reagents described, since these may vary. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to limit the scope of the present invention, which is limited solely by the appended claims.
[0016] It should be noted that as used in this specification and the appended claims, the singular forms "a," "an," and "the" include plural references unless the context clearly dictates otherwise. Thus, for example, a reference to "a sequence" includes a plurality of sequences, a reference to "the sequence" is a reference to one or more sequences and equivalents thereof known to those skilled in the art, and so forth.
[0017] As used herein, the terms "sequencing" or "sequencer" refer to any of a number of techniques used to determine the sequence of a biomolecule, e.g., a nucleic acid such as DNA or RNA. Exemplary sequencing methods include targeted sequencing, single molecule real-time sequencing, exon sequencing, electron microscope-based sequencing, panel sequencing, transistor-mediated sequencing, direct sequencing, random shotgun sequencing, Sanger dideoxy end sequencing, whole genome sequencing, sequencing by hybridization, pyrosequencing, double-stranded sequencing, cycle sequencing, single base extension sequencing, solid-phase sequencing, high-throughput sequencing, massively parallel signature sequencing, emulsion PCR, co-amplification with lower denaturation temperature PCR (COLD-PCR), multiplex PCR, reversible dye terminator sequencing, paired-end sequencing, short-term sequencing, exonuclease sequencing, sequencing by ligation, short-read sequencing, single molecule sequencing, sequencing by synthesis, real-time sequencing, reverse terminator sequencing, nanopore sequencing, 454 sequencing, Solexa Genome These include, but are not limited to, Genetic Analyzer sequencing, SOLiD™ sequencing, MS-PET sequencing, and combinations thereof. In some embodiments, sequencing can be performed by a genetic analyzer, such as the genetic analyzers available from Illumina or Applied Biosystems.
[0018] A "polynucleotide," "nucleic acid," "nucleic acid molecule," or "oligonucleotide" refers to a linear polymer of nucleosides (including deoxyribonucleosides, ribonucleosides, or analogs thereof) linked by internucleoside linkages. Typically, a polynucleotide contains at least three nucleosides. Oligonucleotides usually range in size from a few monomeric units, e.g., 3-4, to several hundred monomeric units. When a polynucleotide is represented by a sequence of letters, such as "ATGCCTG," it will be understood that the nucleotides are in 5'→3' order from left to right, and that "A" indicates adenosine, "C" indicates cytosine, "G" indicates guanosine, and "T" indicates thymidine, unless otherwise indicated. The letters A, C, G, and T may be used as standard in the art to refer to the base itself, a nucleoside, or a nucleotide containing the base.
[0019] The term "DNA (deoxyribonucleic acid)" refers to a chain of nucleotides containing deoxyribonucleosides, each of which contains one of the four nucleobases, namely adenine (A), thymine (T), cytosine (C), and guanine (G). The term "RNA (ribonucleic acid)" refers to a chain of nucleotides containing four types of ribonucleosides, each of which contains one of the four nucleobases, namely A, uracil (U), G, and C. Particular pairs of nucleotides specifically bind to each other in a complementary manner (called complementary base pairs). In DNA, adenine (A) pairs with thymine (T) and cytosine (C) pairs with guanine (G). In RNA, adenine (A) pairs with uracil (U) and cytosine (C) pairs with guanine (G). When a first nucleic acid strand binds to a second nucleic acid strand that is composed of nucleotides that are complementary to the nucleotides of the first strand, the two strands combine to form a duplex. As used herein, "nucleic acid sequencing data", "nucleic acid sequencing information", "nucleic acid sequence", "nucleotide sequence", "genomic sequence", "gene sequence" or "fragment sequence" or "nucleic acid sequencing read" refers to any information or data that indicates the order of nucleotide bases (e.g., adenine, guanine, cytosine, and thymine or uracil) in a molecule of nucleic acid such as DNA or RNA (e.g., whole genome, whole transcriptome, exome, oligonucleotide, polynucleotide, or fragment). It should be understood that the present teachings contemplate sequence information obtained using all available various techniques, platforms, or technologies, including, but not limited to, capillary electrophoresis, microarrays, ligation-based systems, polymerase-based systems, hybridization-based systems, direct or indirect nucleotide discrimination systems, pyrosequencing, ion-based or pH-based detection systems, and electronic signature-based systems.
[0020] A "vector" is a replicon, such as a plasmid, phage, viral construct or cosmid, to which another DNA segment may be attached. Vectors are used to transduce and express the DNA segment in cells.
[0021] A "promoter" or "promoter sequence" is a DNA regulatory region capable of binding RNA polymerase in a cell and initiating transcription of a polynucleotide or polypeptide coding sequence, such as messenger RNA, ribosomal RNA, small nuclear RNA of nucleolar RNA, or any type of RNA transcribed by any class of RNA polymerase I, II, or III.
[0022] "Optional" or "optionally" means that the subsequently described event, circumstance, or material may or may not occur, may be present, or may not be present, and that the description includes examples where such event, circumstance, or material occurs and does not occur, or is present and is absent.
[0023] Throughout this specification and the claims, the word "comprise" and variations of this word, such as "comprising" and "comprises," mean "including, but not limited to," and are not intended to exclude, for example, other additional things, components, integers, or steps. In particular, in methods described as including one or more steps or operations, each step is specifically contemplated to include what is recited (unless that step includes a limiting term such as "consisting of"), meaning that each step is not intended to exclude, for example, other additional things, components, or steps not recited in the step.
[0024] "Exemplary" means "one example of" and is not intended to convey an indication of a preferred or ideal configuration. "Etc." is not used in a limiting sense, but rather for descriptive purposes.
[0025] Ranges may be expressed herein as from "about" one particular value and / or to "about" another particular value. When such ranges are expressed, the ranges that are specifically contemplated and considered to be disclosed are from one particular value and / or to the other particular value, unless the context specifically indicates otherwise. Similarly, when values are expressed as approximations, by using the antecedent "about," it will be understood that the particular value forms another embodiment, and specifically contemplates an embodiment that is to be considered to be disclosed, unless the context specifically indicates otherwise. It will be further understood that the endpoints of each of these ranges are significant in relation to the other endpoint, and independently of the other endpoint, unless the context specifically indicates otherwise. Finally, it should be understood that all individual values and subranges of values falling within the explicitly disclosed ranges are also specifically contemplated and should be considered to be disclosed, unless the context specifically indicates otherwise. The foregoing applies regardless of whether, in a particular instance, some or all of these embodiments are explicitly disclosed.
[0026] B. Approaches to Designing Regulatory Sequences Figure 1 shows a schematic diagram of the AAV vector and DNA packaged within the AAV vector. It was found that the packaged DNA of the AAV gene therapy vector requires two inverted terminal repeat (ITR) sequences, one at the 3' end and one at the 5' end of the AAV genome. The two ITRs of AAV are about 0.2-0.3 kb in total, so the foreign DNA (including the gene of interest) that can be introduced between these two ITRs must be smaller than 4.4 kb. As an example, the ITRs may be 2x145 bp in length (the left and right ITRs are identical). If the length of the foreign DNA between the two ITRs is close to the maximum allowed (4-4.4 kb), the packaging efficiency will be greatly reduced. The foreign DNA can include, but is not limited to, a promoter (with or without enhancer elements), a transgene / gene of interest, and polyA, as shown in Figure 1. The more foreign DNA elements included, the smaller the gene of interest can be. Therefore, one option that can increase the size of a gene of interest is to reduce the promoter size as described herein in a machine learning approach for designing regulatory sequences such as promoters.
[0027] Described herein is a machine learning approach for designing regulatory sequences. The described method may be separated into a method for data pre-processing (generating training data) and a method for generating predictive and generative models. Thus, as shown in FIG. 2, a method 200 is described herein, including determining a promoter sequence dataset at 210. A portion, all, or a variant of the promoter sequence dataset may be used to generate a training dataset for a generative model at 220. The generative model may be configured to generate promoter sequences based on being trained according to the promoter sequence dataset. A portion, all, or a variant of the promoter sequence dataset may be used to generate a training dataset for a predictive model at 220. The training dataset for the generative model may be used to train a generative model at 240. The training dataset for the predictive model may be used to train a predictive model at 240. The predictive model may serve as a quality control mechanism for the generative model. The generative model may be used to generate a core promoter sequence at 260. The predictive model may be used to classify a core promoter sequence as a core promoter or not a core promoter at 270. Therefore, before testing the generated core promoter sequences in an experimental setting, the predictive model may be used to benchmark the settings of the generative model to test whether the generated sequences are predicted to be positive for core promoter activity based on the model trained on the endogenous sequences. To avoid data leakage between the predictive model and the generative model, all sequences may be cross-referenced to avoid any overlaps.
[0028] C. How to generate training data In machine learning, a training dataset may be an initial dataset that serves as a baseline for further application and utilization. In some embodiments, the training dataset is labeled. In some embodiments, the training dataset is unlabeled. One or more machine learning techniques may be used to analyze the training dataset and create a model that generalizes the relationship between features (which may be referred to as explanatory or independent variables) and outcomes (which may be referred to as objective or dependent variables, as appropriate).
[0029] Thus, a method for creating a training dataset from promoter sequence data is described. The training dataset may be created according to different methods based on the model to be trained (e.g., generative vs. predictive model). Candidate core promoter data (promoter sequence data) may be determined, comprising a list of candidate core promoters in the human genome. In one embodiment, the candidate core promoter data may be downloaded from a publicly available source. The candidate core promoter data may be downloaded, for example, from FANTOM5, as transcription start site (TSS) profiling data. In one embodiment, the promoter sequence data may comprise Cap Analysis of Gene Expression (CAGE) data. CAGE is a technology for mapping transcription start sites and their promoters. CAGE allows genome-wide transcription start detection, resulting in high-throughput gene expression profiling with simultaneous identification of tissue / cell / condition specific transcription start sites (TSS), including promoter usage analysis. CAGE is based on the preparation and sequencing of concatemers of DNA tags derived from the first 20 nucleotides from the 5' end of the mRNA, which reflects the original concentration (RNA frequency) of the mRNA in the analyzed sample. In CAGE data, TSS peaks across a panel of biological states (samples) may be identified by DPI (Decomposition-Based Peak Identification), where each TSS peak contains adjacent and related TSSs. TSS peaks may be used as anchors to define promoters and as units of promoter-level expression analysis. TSS summits may refer to the coordinates of the nucleotide base with the strongest signal within a given core promoter.
[0030] The promoter sequence data can be used to generate training datasets for generative models and training datasets for predictive models. 1. Generate training data for the generative model In one embodiment, the promoter sequence data may be filtered as needed. For example, the promoter sequence data may be filtered to retain only sequences by species, adult / pediatric status, organ / tissue association, etc. For example, the promoter sequence data may be filtered to retain only sequences associated with human, adult, and / or liver data. The promoter sequence data may be normalized. For example, a power law distribution may be used for normalization. In one embodiment, normalization may be used when using multiple libraries (e.g., one from adult liver and one from adult kidney). Within a library, the number of sequence reads or tags may indicate the relative intensity of the TSS. However, the absolute number of reads or tags is not comparable between different sequencing experiments, since the total number of sequenced reads may differ in each experiment. To make them comparable, the count of sequence reads or tags is normalized. This normalization may be done, for example, by dividing the number of reads by a scale factor (e.g., dividing the total number of reads by 1 million). In another example, the normalization may be based on a power law distribution. The number of TSSs supported by a number less than or equal to (<=) the number of CAGE tags follows an inverse cumulative distribution that can be approximated by a power law distribution. For example, in a typical CAGE library, there will be 1,000 TSSs supported by 10 CAGE tags and 10 TSSs supported by 1,000 CAGE tags. Each library can be normalized by fitting its experimentally determined distribution to a virtual reference distribution roughly similar to the library under analysis. For example, normalization can be useful if only the top 1,000 TSSs (by CAGE tag count) of both liver and kidney samples are analyzed. If the liver samples are sequenced more deeply (higher total reads), the ranking may be dominated by TSSs active in the kidney or vice versa. After proper normalization, the top approximately 500 peaks in both kidney and liver should constitute the top 1,000 TSSs of the combined sample.
[0031] The TSSs may then be distinguished from core promoters. Core promoters can be considered as clusters of nearby TSSs. These TSSs give rise to functionally equivalent mRNAs with slightly different 5' ends. Individual core promoters may have broad transcription initiation patterns, e.g., multiple small TSS "peaks" within a 100 bp window, or sharp transcription initiation patterns, e.g., a single high TSS peak and several very small TSS peaks within a 10 bp window (this is one example). To determine the class of core promoters, it may then be determined which TSSs belong to a common cluster. Thus, the TSSs in the promoter sequence data may be clustered, and the quartile widths of the resulting core promoters (or TSS clusters) may be determined (e.g., lower quantile = 0.1, upper quantile = 0.9). In one embodiment, distance-based clustering may be used, where two independent TSSs belong to the same cluster (and thus core promoters) if they are 20 bp or less (<=) away from each other. Additionally, a TSS may be required to be supported by a minimum number of reads to be included in the clustering.
[0032] After clustering, the TSS cluster (= core promoter) width can be determined. To do so, one can move along the entire cluster and count the total number of TSS tags as a cumulative sum. The position where the sum falls in the lower quantile (e.g., 0.1 or 10% of the sum) may be defined as the core promoter start, and the position where the sum falls in the upper quantile (e.g., 0.9 or 90% of the sum) may be defined as the core promoter end. The width between these two positions may be called the interquartile width.
[0033] TSSs may be binned into promoter classes based on quartile width. Promoter classes may be, for example, sharp promoters, whose transcription occurs within a narrow genomic region, and broad promoters, whose TSSs are distributed over a larger genomic region. Core promoters may be ranked by quartile width, with the lower half labeled as sharp (small width) and the upper half labeled as broad (wide). Sharp and broad promoters are more likely to be associated with TATA boxes and CpG islands, respectively. Candidate core promoter sequences may then be determined for each TSS by extending the TSS summit a few bases in the 5' direction and a few bases in the 3' direction. For example, to create a candidate core promoter sequence of length 100 bp, 49 bp nucleotides in the 5' direction and 50 bp nucleotides in the 3' direction may be determined. Candidate core promoter sequences may be filtered according to CAGE signal. Candidate core promoter sequences with CAGE signal below a threshold may be filtered out, and the resulting core promoter sequence may be labeled as a core promoter. The threshold may be, for example, a normalized count greater than 10. In another embodiment, the threshold can be about 5 to about 15. The count distribution may be a distribution with a very long "tail", meaning that most core promoters are supported by only a few CAGE tags, while only a few core promoters are supported by many tags. Selecting a cutoff above 10 ensures that only the strongest core promoters are considered. Alternatively, the highest number of peaks can be used, for example, from about 1,000 peaks to about 3,000 peaks. The number of peaks selected as the threshold represents a tradeoff between total number and intensity. The more core promoters selected, the more the signal is "diluted" by including weak core promoters. This cutoff is a balance between these two opposing forces. Other examples of thresholds include absolute numbers such as, but not limited to, 5 (about top 5000), 10 (about top 3000), 25 (about top 1500), 50 (about top 1000), etc.
[0034] In one embodiment, the set of regulatory sequences may be generated by shifting the set of core promoter sequences by a number of bases in the 5' or 3' direction. For example, by shifting the candidate core promoter sequences by 50,000 bp in the 5' direction. The number of bases shifted represents a balance between being close enough to have a similar chromatin landscape, and being far enough away to not select adjacent regulatory elements. The shift in the 5' direction prevents shifting into the gene body (which extends in the 3' direction and is often more than 50 kb long in mammalian genomes). In another embodiment, the set of regulatory sequences may be generated by selecting random sequences from the entire genome. The regulatory sequences may be filtered to remove any regulatory sequences that overlap with any CAGE peak, and the regulatory sequences may be labeled as not being core promoters.
[0035] In one embodiment, a method is described for generating a training dataset for a generative model that includes receiving genetic data. The genetic data may include a first plurality of nucleotide sequences. The first plurality of nucleotide sequences may include a promoter sequence. Each nucleotide sequence of the plurality of nucleotide sequences may include at least one transcription start site (TSS) having an associated expression score. The associated expression score may include a CAGE peak. The genetic data may include promoter sequence data. The genetic data may be normalized. Any normalization technique known in the art may be used, including application of a power law. The TSSs may be clustered based on the associated expression scores, and for each cluster of TSSs, an interquartile width may be determined. The interquartile width may be used to label each TSS as a sharp TSS or a broad TSS. A plurality of summit nucleotide bases may be determined at the TSS. Determining the summit nucleotide base may include determining a nucleotide base with the strongest CAGE signal. For each summit nucleotide base, a plurality of associated surrounding bases may be determined. Determining the associated plurality of surrounding bases may include determining, for each summit nucleotide base of the plurality of summit nucleotide bases, a first plurality of nucleotide bases in a 5' direction and a second plurality of nucleotide bases in a 3' direction, thereby forming a candidate core promoter sequence. The first plurality of nucleotide bases in a 5' direction may include 49 nucleotide bases, and the second plurality of nucleotide bases in a 3' direction may include 50 nucleotide bases. Each summit nucleotide base and its associated plurality of surrounding bases may be stored as a second plurality of nucleotide sequences labeled as a core promoter (candidate core promoter sequence). A third plurality of nucleotide sequences may be determined from the second plurality of nucleotide sequences based on associated expression scores that meet a threshold. The threshold may be, for example, a normalized count greater than 10. In another example, the threshold may be about 5 to about 15.The count distribution may be one with very long "tails", meaning that most core promoters are supported by only a few CAGE tags, whereas only a few core promoters are supported by many tags. Selecting a cutoff above 10 ensures that only the strongest core promoters are considered. Alternatively, the highest number of peaks can be used, for example, from about 1,000 peaks to about 3,000 peaks. The number of peaks selected as the threshold represents a tradeoff between total number and strength. The more core promoters selected, the more the signal is "diluted" by including weaker core promoters. This cutoff is a balance between these two opposing forces. Examples of other thresholds include, but are not limited to, absolute numbers such as 5 (about the top 5000), 10 (about the top 3000), 25 (about the top 1500), 50 (about the top 1000), etc. The third plurality of nucleotide sequences may include a set of core promoter sequences. The set of core promoter sequences may be further filtered for any sequences containing Ns in the human genome assembly (hg19).
[0036] The set of control sequences can be generated by determining an associated plurality of shift bases for each nucleotide sequence of the third plurality of nucleotide sequences and storing each of the associated plurality of shift bases as a fourth plurality of nucleotide sequences labeled as not being a core promoter.
[0037] The set of core promoter sequences and the set of regulatory sequences may be stored as a training dataset for the generative model. 2. Generate training data for the predictive model The promoter sequence data may be filtered by applying a CAGE peak threshold. For example, only the top CAGE peaks of the promoter sequence data may be used. In one embodiment, the CAGE peak threshold may be set such that the strength of the core promoters selected for the predictive model matches the strength of the core promoters selected for the generative model. If the strengths of the core promoters match, the classification of the newly generated core promoters may be more reliable. However, the number of core promoters may be less in the predictive model because the machine learning model (e.g., logistic regression model) employed in the predictive model may be more biased than the machine learning model (e.g., neural network) employed in the generative model. Therefore, the predictive model is less likely to overfit and can be trained with fewer examples. To avoid overfitting in the generative model, more examples may be used for training than the predictive model. The threshold should be selected accordingly to ensure similar strength of core promoters for both the predictive model and the generative model, but the input data should be selected to ensure a sufficient number of core promoters for the generative model, which may not be as important for the predictive model.
[0038] The filtered promoter sequence data may be further filtered to remove any sequence data that overlaps with any of the peaks in the training dataset generated for the generative model. A set of core promoter sequences may then be determined for each TSS by extending the TSS summit a few bases in the 5' direction and a few bases in the 3' direction. For example, to create a 100 bp long core promoter sequence, 49 bp nucleotides in the 5' direction and 50 bp nucleotides in the 3' direction may be determined. The set of core promoter sequences may be further filtered for any sequences that contain Ns in the human genome assembly (hg19).
[0039] The set of control sequences may be generated by shifting the set of core promoter sequences by a number of bases in the 5' or 3' direction. For example, by shifting the candidate core promoter sequences by 50,000 bp in the 5' direction. The control sequences may be filtered to remove any control sequences that overlap with any CAGE peaks and any control sequences that overlap with the set of control sequences for the generated model, and the control sequences may be labeled as not being core promoters.
[0040] In one embodiment, a method for generating a training dataset for a predictive model is described that includes receiving genetic data. The genetic data may include a first plurality of nucleotide sequences. The first plurality of nucleotide sequences may include a promoter sequence. Each nucleotide sequence of the plurality of nucleotide sequences may include at least one TSS having an associated expression score. The associated expression score may include a CAGE peak. The genetic data may include promoter sequence data. The first plurality of nucleotide sequences may be filtered to remove any sequence data that overlaps with any of the peaks of the training dataset generated for the generative model. A plurality of summit nucleotide bases may be determined at the TSS. Determining the summit nucleotide base may include determining a nucleotide base with the strongest CAGE signal. For each summit nucleotide base, a plurality of associated surrounding bases may be determined. Determining the plurality of associated surrounding bases may include determining a first plurality of nucleotide bases in a 5' direction and a second plurality of nucleotide bases in a 3' direction for each summit nucleotide base of the plurality of summit nucleotide bases, thereby forming a candidate core promoter sequence. The first plurality of nucleotide bases in the 5' direction can include 49 nucleotide bases, and the second plurality of nucleotide bases in the 3' direction can include 50 nucleotide bases. Each summit nucleotide base and its associated plurality of surrounding bases can be stored as a second plurality of nucleotide sequences labeled as core promoters (a set of core promoter sequences). The set of core promoter sequences can be further filtered for any sequences that contain Ns, for example, in the human genome assembly (hg19, hg38, etc.).
[0041] The set of control sequences can be generated by determining a plurality of associated shift bases for each nucleotide sequence of the second plurality of nucleotide sequences, and storing each of the plurality of associated shift bases as a third plurality of nucleotide sequences (a set of control sequences) labeled as not being a core promoter. The set of control sequences can be filtered to remove any control sequences that overlap with any CAGE peaks and any control sequences that overlap with the set of control sequences for the generated model.
[0042] The set of core promoter sequences and the set of regulatory sequences may be stored as a training dataset for the predictive model. D. Generative Models 1. How to generate a generative model Disclosed herein is a technique for generating novel core promoter sequences of different lengths using one or more recurrent neural networks (RNNs), such as long short-term memory (LSTM) recurrent neural networks (LSTM-RNNs). The LSTM-RNN model can be applied to a seed sequence to predict a likely next nucleotide from the seed sequence. The likely next nucleotide can be concatenated to the seed sequence, and the resulting sequence can be fed back to the LSTM-RNN model to predict another likely next nucleotide from the seed sequence and the previously determined likely next nucleotide. The LSTM-RNN model can be used to generate core promoter sequences of any length.
[0043] An RNN is a type of artificial neural network in which the connections between units form a directed cycle. RNNs have an internal state that allows the network to exhibit dynamic temporal behavior. For example, unlike feedforward neural networks, RNNs can process any input sequence using their internal memory. LSTM-RNNs further include LSTM units instead of or in addition to standard neural network units. LSTM units, or blocks, are "smart" units that can remember or store values for any length of time. LSTM blocks contain gates that determine when their input is important enough to remember, when a value should be kept remembered or forgotten, and when a value should be output.
[0044] For clarity of discussion, the embodiments discussed throughout this disclosure are discussed in terms of LSTM-RNN. However, various types of RNNs may be used in the described embodiments, including, for example, variants on memory cell sequencing operations (e.g., bidirectional, unidirectional, rearward-looking unidirectional, or forward-looking unidirectional with rearward-looking window) or variants on memory cell types (e.g., LSTM variants or gated recurrent units (GRUs)). In BLSTM-RNNs, the output depends on both past and future state information. Furthermore, the gate of the multiplication unit allows the memory cells to store and access information over long sequences of both past and future events. Furthermore, other types of location-aware neural networks, or continuous prediction models, may be used in place of LSTM-RNNs or BLSTM-RNNs. As shown throughout this disclosure, LSTM-RNNs include an input layer, an output layer, and one or more hidden layers.
[0045] 3, 4A, 4B, and 5 are shown to provide an overview of a neural network 300, an RNN block 400, and an LSTM RNN block 500, respectively. FIG. 3 shows an example of a neural network 300. The neural network 300 includes an input node, block, or unit 302, an output node, block, or unit 304, and a hidden node, block, or unit 304. The input node 302 is connected to a hidden node 306 via a connection 308, and the hidden node 306 is connected to the output node 304 via a connection 310.
[0046] The input nodes 302 correspond to input data, while the output nodes 304 correspond to output data as a function of the input data. For example, the input nodes 302 may correspond to input sequences and the output nodes 104 may correspond to output sequences or nucleotides. The nodes 306 are hidden nodes where the neural network model itself generates the nodes. Although only one layer of nodes 306 is illustrated, in practice there will typically be two or more layers of nodes 306.
[0047] Thus, to construct neural network 300, training data in the form of input data that has already been mapped, manually or otherwise, to output data is provided to a neural network model that generates network 300. Thus, the model generates hidden nodes 306, weights for connections 310 between input nodes 302 and hidden nodes 306, weights for connections 310 between hidden nodes 306 and output nodes, and weights for connections between layers of hidden nodes 306 themselves. Neural network 300 can then be used on input data where the output data is unknown to generate the desired output data.
[0048] RNN is a type of neural network. A typical neural network does not store any intermediate data while processing input data and generating output data. In comparison, RNNs can persist data and improve their classification ability over typical neural networks that do not.
[0049] 4A shows a compact representation of an example of an RNN block 400, which represents a hidden node 306 of a neural network 300 that is an RNN. The RNN block 400 has an input connection 402, which may be the connection 308 of FIG. 3 leading from one of the input nodes 302, or a connection leading from another hidden node 306. The RNN block 400 also has an output connection 404, which may be the connection 310 of FIG. 3 leading to one of the output nodes 304, or a connection leading to another hidden node 306.
[0050] The RNN block 400 is generally said to include (at least) a process 406 that is performed on information provided on the input connections 402 to generate information provided on the output connections 404. The process 406 is typically in the form of a function. For example, the function may be an identity activation function that maps the output connections 404 to the input connections 402. The function may be a sigmoid activation function, such as a logistic sigmoid function, that can output a value in the range (0, 1) based on the input connections 402. The function may be a hyperbolic tangent function, such as a hyperbolic logistic tangent function, that can output a value in the range (-1, 1) based on the input connections 402.
[0051] The RNN block 400 also has a temporal loop connection 408 that loops back to its own temporal successor. The connection 408 is what makes the RNN block 400 recursive, and the presence of such loops in multiple nodes is what makes the neural network 300 recursive. Thus, the information (or other information) that the RNN block 400 outputs on the connection 404 can persist on the connection 408 and can be used to process new information received on the connection 402. That is, the information that the RNN block 400 outputs on the connection 404 is merged or concatenated with the information that the RNN block 400 next receives on the input connection 402 and processed via processing 406.
[0052] Figure 4B shows an expanded representation of the RNN block 400. The RNN block 400' and connections 402', 404', 406', 408' are the same RNN block 400 and connections 402, 404, 406, 408, but at a later time in time. Thus, Figure 4B shows that the RNN block 400' receives at a later time information provided on connection 406 provided by the (same) RNN block 400 at an earlier time. The RNN block 400' at a later time can itself provide information at an even later time to itself on connection 406'.
[0053] LSTM-RNN is a type of RNN. In theory, a typical RNN can retain information in the short and long term. However, in practice, such RNNs have not demonstrated the ability to retain information in the long term. More precisely, typical RNNs are practically unable to learn long-term dependencies. That is, RNNs cannot process information based on information previously processed for a relatively long period of time. In comparison, LSTM-RNN is a special type of RNN that can learn long-term dependencies and therefore is a type of RNN that can retain information in the long term.
[0054] 5 illustrates an exemplary LSTM-RNN block 500'. The LSTM-RNN block 500' has input connections 502', output connections 504', and processes 506' equivalent to the connections 402 / 402' and 404 / 404' and processes 406 / 406' of the RNN block 400 / 400' of Figures 4A and 4B. However, rather than having a single temporal loop connection 408 / 408' connecting the temporal instances of the RNN block 400 / 400', the LSTM-RNN block 500' has two temporal loop connections 508' and 510' in which information persists between temporal instances of the LSTM-RNN block 500.
[0055] The information on input connection 502' is merged with persistent information provided on connection 508 from a previous temporal instance of the LSTM-RNN block and subjected to processing 506'. How the result of processing 506', if any, is combined with persistent information provided on connection 510 from a previous temporal instance of the LSTM-RNN block is controlled via gates 512' and 514'. Gate 512', operating on the merged information of connections 502' and 508', controls an element-wise product operator 516', which allows the persistent information on connection 510 to pass (or not pass). Gate 514', operating on the same basis, controls an element-wise operator 518', which allows the output of processing 506' to pass (or not pass).
[0056] The outputs of operators 516' and 518' are summed via an addition operator 520' and passed as persistent information on connection 510' of the current instance of LSTM-RNN block 500'. Thus, the extent to which the persistent information on connection 510' reflects the persistent information of connection 510, and the extent to which this information on connection 510' reflects the output of process 506', is controlled by gates 512' and 514'. Thus, information may persist across, or across, multiple temporal instances of the LSTM-RNN block, as desired.
[0057] The output of the current instance of the LSTM-RNN block 500' is itself provided on connection 504' to the next layer of the RNN, and also persists to the next temporal instance of the LSTM-RNN block on connection 508'. This output is provided by another element-wise product operator 522', which passes a combination of information also provided on connection 510' and the merged information on connections 502' and 508, as controlled by gates 524' and 526', respectively. In this manner, the LSTM-RNN block 500' of FIG. 5 can then persist both long-term and short-term information.
[0058] As described in more detail below, one or more (RNNs), such as, for example, LSTM-RNN, may be used to determine promoter sequences. The LSTM-RNN provides a model that predicts a set of parameters based on a set of input features through a training process. FIG. 6 shows an example of a method 600 for training an LSTM-RNN. In some variations, the training process may be performed using dedicated software (e.g., keras, TensforFlow script, CURRENNT toolkit, or modified versions of commercially available toolkits, etc.) and / or dedicated hardware.
[0059] At step 610, the computing device may determine a training dataset as described herein. The training dataset may include a set of core promoter sequences labeled as core promoters and a set of regulatory sequences labeled as not core promoters. The training dataset may be used for training and validation of the LSTM-RNN. In some variations, a first portion of the training data may be used for training and a second portion of the training data may be used for testing / validation. The set of core promoter sequences may split sequences of different classes (sharp / broad) into seed sequence and predicted target pairs. The seed sequence may include a nucleotide sequence of any length, e.g., 10 nucleotides. The predicted target may include the nucleotides that immediately follow the seed sequence. The seed sequence / predicted target pairs may be generated by splitting the core promoter sequences using a sliding window approach with a step size of 1. The sequence pairs may then be vectorized using a numeric encoding (e.g., "A":0, "C":1, "G":2, "T":3). The different classes of core promoters are fundamentally different in their biology. Typically, only the "sharp" promoter class is used in plasmid-based or viral vector-based transgenes. The two classes cannot be mixed for training or sequence generation because the two classes differ in their sequence content. In other words, if both classes of core promoters were used for training, the signal from the core promoter motifs typically found in "sharp" core promoters would be diluted, which could lead to the generation of non-functional sequences. Instead, the two types are separated, and new sequences are then generated based on the two separately trained models, thereby generating novel instances of "sharp" or "broad" core promoters. Which type of core promoter is generated depends on the application, but most commonly it is the "sharp" type. In conclusion, the separation is less relevant for applications (since typically only sharp core promoters are used), but more relevant for proper training, given that mixing sharp and broad would dilute the correct signal.However, separate classes can also be used to generate "broad" type core promoters.
[0060] At step 620, the computing device may perform model setup of the LSTM-RNN. The model setup may include initializing the weights of the connections of the LSTM-RNN. In some arrangements, pre-training may be performed to initialize the weights. In other cases, the weights may be initialized according to a distribution scheme. One distribution scheme includes randomizing the values of the weights according to a normal distribution with a mean of 0 and a standard deviation of 0.1. In one embodiment, each nucleotide may be associated with a weight. For example, the weights may be assigned as follows: A: 0.2, C: 0.05, G: 0.6, T: 0.15.
[0061] At step 630, the computing device may perform model training of the LSTM-RNN. In some variations, the model training may include performing one or more training techniques, including, for example, steepest descent, stochastic gradient descent, or resilient backpropagation (RPROP). The training techniques apply the training set to the model and tune the model. To speed up the model training, parallel training can be performed. For example, the training set may be divided into batches of 100 sequences that are processed in parallel with other batches.
[0062] At step 640, the computing device may perform model validation of the LSTM-RNN. In some variations, the validation set may be applied to the trained model and heuristics may be tracked. The heuristics may be compared to one or more stopping conditions. If the stopping conditions are met, the training process may end. If none of the one or more stopping conditions are met, the model training of step 630 and the validation of step 640 may be repeated. Each iteration of steps 630 and 640 may be referred to as a training epoch. Some of the heuristics that may be tracked include sum of squared errors (SSE), weighted sum of squared errors (WSSE), regression heuristics, or the number of training epochs.
[0063] 2. How to use generative models FIG. 7 illustrates an exemplary flow of using a trained LSTM-RNN 710 to determine a promoter sequence. The LSTM-RNN 710 may be configured to receive an input sequence 720 (e.g., a "seed"). The input sequence 720 may include a nucleotide sequence. The nucleotide sequence may include a promoter sequence (e.g., a core promoter sequence). The input sequence 720 may have a length. The length may be, for example, about 5 nucleotides to about 100 nucleotides. The input sequence 720 may be 10 nucleotides long. Other input sequence lengths are contemplated, for example, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, or 20 nucleotides long. In one embodiment, the source of the input sequence 720 may be a random sequence or the first 10 nt (or any other input sequence length) of a randomly selected core promoter from a training dataset. In one embodiment, a 10 nt (or any other input sequence length) that leads to a particular core promoter motif from a real-world example may be selected as the input sequence 720 to force the generation of a core promoter with that motif. In another embodiment, a random sequence may be used as the input sequence and the output sequences may be screened for the presence of a particular motif.
[0064] The input sequence 720 is input to the LSTM-RNN 710, which processes the input sequence 720 via an input layer, one or more hidden layers, and an output layer. The LSTM-RNN 710 outputs a likely next nucleotide via an output layer. Thus, the LSTM-RNN 710 may be configured to predict a likely next nucleotide that may be appended to the input sequence 720 to generate the output sequence 730. The LSTM-RNN 710 may be configured to predict the likely next nucleotide based on nucleotide probabilities. The nucleotide probabilities may be, for example, A: 0.2, C: 0.05, G: 0.6, T: 0.15. The LSTM-RNN 710 may be configured to take the generated output sequence 730 as input and effectively process the output sequence 730 as a new input sequence 720. The LSTM-RNN 710 may be configured to iteratively predict the likely next nucleotide until a desired length is achieved for the output sequence 730. The desired output length may be, for example, about 20 nucleotides to about 100 nucleotides. The desired output length may be 50 nucleotides. LSTM-RNN710 generates a probability distribution of the next nucleotide in the new promoter sequence given the promoter sequence of the previous nucleotide. This allows LSTM-RNN710 to generate one new promoter sequence at a time. In one embodiment, any number of core promoters can be generated and then screened for specific aspects such as GC content or core promoter motif content (similar features to those used in predictive models).
[0065] FIG. 8 is a visual depiction of the generation of a core promoter sequence. A seed sequence 802 may be input to the LSTM-RNN 710 and a desired final core promoter sequence length may be specified. In the example of FIG. 8, the seed sequence 802 is 10 nucleotides long and the desired final core promoter sequence length is 14 nucleotides. Given the seed sequence 802, the LSTM-RNN 710 may predict the next most likely nucleotide 804. The next most likely nucleotide 804 may be added (concatenated) to the seed sequence 802 to create sequence 806. Given at least a portion of sequence 806, the LSTM-RNN 710 may predict the next most likely nucleotide 808. For example, a sliding window of n nucleotides may be used to predict the next most likely nucleotide 808. The sliding window may be, for example, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, or 15 nucleotides long. The next most likely nucleotide 808 may be added (concatenated) to sequence 806 to create sequence 810. The LSTM-RNN 710 may predict the next most likely nucleotide 812 given at least a portion of sequence 810. For example, a sliding window of n nucleotides may be used to predict the next most likely nucleotide 812. The next most likely nucleotide 812 may be added (concatenated) to sequence 810 to create sequence 814. The LSTM-RNN 710 may predict the next most likely nucleotide 816 given at least a portion of sequence 814. For example, a sliding window of n nucleotides may be used to predict the next most likely nucleotide 816. The next most likely nucleotide 816 may be added (concatenated) to sequence 816 to create a final core promoter sequence 818. The length of the final core promoter sequence 818 is equal to the desired final core promoter sequence length, and the final core promoter sequence 818 may be output as the core promoter.
[0066] In one embodiment, a method is described that includes: a) receiving a nucleotide sequence and a sequence length, b) providing the nucleotide sequence to a trained generative model, c) determining a next nucleotide associated with the nucleotide sequence based on the generative model, d) appending the next nucleotide to the nucleotide sequence, e) repeating b through d until the length of the nucleotide sequence is equal to the sequence length, and f) outputting the nucleotide sequence as a core promoter sequence. The sequence length can be from about 50 nucleotides to about 100 nucleotides.
[0067] As described herein, methods and systems are provided for generating core promoter sequences with defined length and / or defined sequence content. The generated core promoter sequences can be used for any type of transgene, such as, for example, viral vectors, such as AAV, adeno, or lentivirus, in both preclinical studies and gene therapy; genome editing vectors, such as those driving Cas9 expression, Cre-lox, TALEN, or zinc finger nucleases; luminescent or fluorescent reporter plasmids; high-yield antibody expression plasmids; cloning and engineering plasmids; chemical genetics (e.g., DREADD), and optogenetics. In some embodiments, a construct or vector that includes one or more of the generated core promoters may be referred to as a nucleic acid construct. Thus, the disclosed nucleic acid construct may include the generated core promoter and one or more transgenes. In some embodiments, the disclosed nucleic acid construct may be any expression vector, viral or non-viral. In some embodiments, the nucleic acid construct may be linear or circular. The circular nucleic acid construct may be referred to as a plasmid or vector.
[0068] Thus, the generated core promoter sequence can be used for transgenes on viral vectors for gene therapy. Currently, AAV is the gold standard for gene therapy, but because its genome size is very limited, any elements used in AAV vectors need to be optimized for size. Some transgene coding sequences, such as Cas9, cannot be optimized for size, but other regulatory elements (such as core promoters) can. Thus, instead of using endogenous core promoters that can be 100nt long, the disclosed method and system can generate core promoters that are 50nt long and have a defined motif content, and thus are more efficient at driving gene expression than any endogenous core promoter.
[0069] In one embodiment, the sequence content of the generated core promoter sequence may be defined to avoid innate immune responses in gene therapy settings. Core promoters often have a high content of CpG dinucleotides, which can trigger TLR-based innate immune responses. Using the described generation model, core promoter sequences lacking CpG dinucleotides can be generated.
[0070] The method may further comprise engineering a promoter based on the core promoter sequence. The method may further comprise inserting the promoter into a nucleic acid construct. Inserting the promoter into the nucleic acid construct comprises inserting the promoter into the nucleic acid construct upstream of the transgene to drive the expression of the transgene. The method may further comprise creating an adeno-associated virus or lentivirus comprising the nucleic acid construct. In some aspects, any known viral vector can be created comprising the nucleic acid construct of the present disclosure. In some aspects, the method may comprise creating any known non-viral vector (e.g., DNA-based vector) comprising the generated core promoter.
[0071] The term "expression vector" includes any vector (e.g., a plasmid, cosmid, or phage chromosome) that contains a transgene in a form suitable for expression by a cell (e.g., linked to a transcriptional control element). In some aspects, "plasmid" and "vector" are used interchangeably, since the plasmid is a commonly used form of DNA vector. Moreover, the invention is intended to include other vectors that perform equivalent functions.
[0072] E. Predictive Models 1. How to generate a predictive model 9, a method for generating a predictive model is described. The described method may use machine learning ("ML") techniques to train, based on analysis of one or more training datasets 910, by a training module 920, at least one ML module 930 configured to predict a promoter state (e.g., promoter / non-promoter) for a given sequence.
[0073] The training data set 910 may include a set of core promoter sequences labeled as core promoter sequences (YES) and a set of regulatory sequences labeled as not core promoter sequences (NO). Such data may be derived in whole or in part from the promoter sequence data described herein.
[0074] The set of core promoter sequences and the set of regulatory sequences may be randomly assigned to training data set 910 or test data set. In some implementations, the assignment of data to training data set or test data set may not be completely random. In this case, one or more criteria may be used during the assignment. In general, any suitable method may be used to assign data to training data set or test data set, while ensuring that the label distribution of yes and no is somewhat similar in training data set and test data set.
[0075] The training module 920 may train the ML module 930 by extracting a feature set from a plurality of core promoter sequences (e.g., labeled as yes) and / or a plurality of regulatory sequences (e.g., labeled as no) in the training dataset 910 by one or more feature selection techniques. The training module 920 may train the ML module 930 by extracting a feature set from the training dataset 910 that includes statistically significant features of positive examples (e.g., labeled as yes) and statistically significant features of negative examples (e.g., labeled as no).
[0076] The training module 920 may extract feature sets from the training dataset 910 in a variety of ways. The training module 920 may perform feature extraction multiple times, each time using a different feature extraction technique. In one example, the feature sets generated using different techniques may each be used to generate a different machine learning based classification model 940. For example, the feature set with the highest quality metric may be selected for use in training. The training module 920 may use the feature sets to build one or more machine learning based classification models 940A-940N configured to indicate whether a novel sequence (e.g., having an unknown promoter state) is likely or unlikely to be a promoter.
[0077] The training data set 910 may be analyzed to determine any dependencies, associations, and / or correlations between features and yes / no labels in the training data set 910. The identified correlations may have the form of a list of features associated with different yes / no labels. As used herein, the term "feature" may refer to any feature of an item of data that may be used to determine whether an item of data is within one or more particular categories. By way of example, the features described herein may include one or more sequence patterns, GC content, CpG content, known core promoter sequence motifs, ATG frequency, and / or relative entropy. For the occurrence of known core promoter sequence motifs, a relative positioning scheme to the TSS may also be considered. Relative entropy is a measure of how similar a sequence is to a random sequence based on a fixed nucleotide distribution (core promoter sequences are not random). An example of the probability of random DNA is the probability of random DNA: A: 0.3, C: 0.2, T: 0.2, G: 0.3. Figure 10 shows the relative significance of various features predicting promoter status. For example, CpG dinucleotide content has the strongest positive correlation with the identity of the core promoter. Random DNA has a relatively small number of CpGs, while the core promoter can have a large number (a subset of the core promoter is called a CpG island). The presence or absence of a TATA box is also important.
[0078] Returning to Figure 9, the feature selection technique may include one or more feature selection rules. The one or more feature selection rules may include feature generation rules. The feature generation rules may include determining which features occur a threshold number of times in the training data set 910 and identifying those features that meet the threshold as features.
[0079] A single feature selection rule may be applied to select features, or multiple feature selection rules may be applied to select features. Feature selection rules may be applied in a cascading manner, where feature selection rules are applied in a particular order and applied to the results of previous rules. For example, feature generation rules may be applied to the training dataset 910 to generate a first list of features. The final list of features may be analyzed by further feature selection techniques to determine one or more feature sets (e.g., a set of features that can be used to predict promoter status). Any suitable computational technique may be used to identify the feature sets using any feature selection technique, such as filter methods, wrapper methods, and / or embedding methods. The one or more feature sets may be selected according to a filter method. Filter methods include, for example, Pearson's correlation, linear discriminant analysis, analysis of variance (ANOVA), chi-square, combinations thereof, and the like. The selection of features according to a filter method is independent of any machine learning algorithm. Instead, features may be selected based on scores in various statistical tests for correlation with outcome variables (e.g., yes / no).
[0080] As another example, the one or more feature sets may be selected by a wrapper method. The wrapper method may be configured to use a subset of the features and train the machine learning model using the subset of the features. Features may be added and / or removed from the subset based on inferences drawn from previous models. Wrapper methods include, for example, forward feature selection, backward feature reduction, recursive feature reduction, combinations thereof, and the like. As an example, forward feature selection may be used to identify the one or more feature sets. Forward feature selection is an iterative method that starts with no features in the machine learning model. In each iteration, the feature that best improves the model is added until the addition of a new variable does not improve the performance of the machine learning model. As an example, backward elimination may be used to identify the one or more feature sets. Backward reduction is an iterative method that starts with all features in the machine learning model. In each iteration, the lowest ranking feature is removed until no improvement is observed upon removal of the feature. Recursive feature elimination may be used to identify the one or more feature sets. Recursive feature reduction is a greedy optimization algorithm that seeks to find the feature subset with the best performance. Recursive feature reduction iteratively builds a model, setting aside the best or worst performing features at each iteration. Recursive feature reduction builds the next model with the remaining features until all features are exhausted. Recursive feature reduction then ranks the features based on their order of reduction.
[0081] As a further example, one or more feature sets may be selected by an embedding method that combines the qualities of filter and wrapper methods. Embedding methods include, for example, least absolute shrinkage and selection operator (LASSO) and ridge regression, which implement a penalty function to reduce overfitting. For example, LASSO regression implements L1 regularization that adds a penalty equivalent to the absolute value of the coefficient magnitude, and ridge regression implements L2 regularization that adds a penalty equivalent to the squared magnitude of the coefficient.
[0082] After the feature set is generated by the training module 920, the training module 920 may generate a machine learning based classification model 940 based on the feature set. A machine learning based classification model may refer to a complex mathematical model for data classification that is generated using machine learning techniques. In one example, the machine learning based classification model 940 may include a map of support vectors that represent boundary features. In this example, the boundary features may be selected from and / or represent the highest ranked features in a feature set.
[0083] The training module 920 may use the feature sets determined or extracted from the training dataset 910 to construct machine learning based classification models 940A-940N for each classification category (e.g., yes, no). In some examples, the machine learning based classification models 940A-940N may be combined into a single machine learning based classification model 940. Similarly, the ML module 930 may represent a single classifier containing single or multiple machine learning based classification models 940 and / or multiple classifiers containing single or multiple machine learning based classification models 940.
[0084] The features may be combined in a classification model trained using machine learning approaches, such as discriminant analysis; decision trees; nearest neighbor (NN) algorithms (e.g., k-NN model, replicator NN model, etc.); statistical algorithms (e.g., Bayesian networks, etc.); clustering algorithms (e.g., k-means, mean shift, etc.); neural networks (e.g., reservoir networks, artificial neural networks, etc.); support vector machines (SVM); logistic regression algorithms; linear regression algorithms; Markov models or chains; principal component analysis (PCA) (e.g., for linear models); multi-layer perceptron (MLP) ANN (e.g., for non-linear models); reservoir network replication (e.g., for non-linear models, typically for time series); random forest classification; combinations thereof and / or the like. The resulting ML module 930 may include a decision rule or mapping for each feature to assign a promoter state to a novel sequence.
[0085] In one embodiment, the training module 920 may train the machine learning based classification model 940 as a convolutional neural network (CNN), which includes at least one convolutional feature layer and three fully connected layers leading to a final classification layer (softmax), which may be finally applied to combine the outputs of the fully connected layers using a softmax function known in the art.
[0086] The features and ML module 930 may be used to predict the promoter state of sequences in the test dataset. In one example, the prediction result for each sequence includes a confidence level corresponding to the likelihood or probability that the sequence is a promoter. The confidence level may be a value between zero and one, which may represent the likelihood that the sequence belongs to a yes / no promoter state. In one example, when there are two states (e.g., yes and no), the confidence level may correspond to a value p, which refers to the likelihood that the particular sequence belongs to the first state (e.g., yes). In this case, the value 1-p may refer to the likelihood that the particular sequence belongs to the second state (e.g., no). Generally, multiple confidence levels may be provided for each sequence in the test dataset, and for each feature if there are three or more states. The best performing feature may be determined by comparing the results obtained for each test sequence with the known yes / no promoter state for each test sequence. Generally, the best performing feature will have results that closely match the known yes / no promoter state. The best performing feature may be used to predict the yes / no promoter state of the sequence. For example, a novel sequence may be determined / received. The new sequence may be applied to an ML module 930 which may classify the new sequence as either a promoter (yes) or a non-promoter (no) based on the best performing features.
[0087] 11 is a flow chart illustrating an example training method 1100 for generating the ML model 930 using the training module 920. The training module 920 can implement supervised, unsupervised, and / or semi-supervised (e.g., reinforcement-based) machine learning based classification models 940. The method 1100 illustrated in FIG. 11 is an example of a supervised learning method; variations of this example training method are discussed below, however, other training methods can be implemented similarly to train unsupervised and / or semi-supervised machine learning models.
[0088] The training method 1100 may determine (e.g., access, receive, retrieve, etc.) first sequence data at step 1110. The sequence data may include a labeled set of core promoter sequences and a labeled set of regulatory sequences. The labels may correspond to promoter states (e.g., yes or no).
[0089] The training method 1100 may generate a training data set and a test data set in step 1120. The training data set and the test data set may be generated by randomly assigning the labeled sequences to either the training data set or the test data set. In some implementations, the assignment of the labeled sequences as training or test data may not be completely random. As an example, a majority of the labeled sequences may be used to generate the training data set. For example, 75% of the labeled sequences may be used to generate the training data set and 25% may be used to generate the test data set. In another example, 80% of the labeled receptor sequences may be used to generate the training data set and 20% may be used to generate the test data set.
[0090] The training method 1100 may determine (e.g., extract, select, etc.) one or more features that can be used by the classifier to distinguish among different classifications of, for example, promoter states (e.g., yes vs. no) in step 1130. As an example, the training method 1100 may determine a set of features from the labeled sequences. In a further example, the set of features may be determined from labeled sequences other than the sequences labeled in either the training data set or the test data set. In other words, the labeled sequences may be used for feature determination rather than for training the machine learning model. Such labeled sequences may be used to determine an initial set of features, which may be further reduced using the training data set. As an example, the features described herein may include one or more sequence patterns, GC content, CpG content, known core promoter sequence motifs, ATG frequency, and / or relative entropy. For the occurrence of known core promoter sequence motifs, a relative positioning scheme to the TSS may also be considered. Relative entropy is a measure of how similar a sequence is to a random sequence based on a fixed nucleotide distribution (core promoter sequences are not random). An example of the probability of random DNA is: Probability of random DNA: A: 0.3, C: 0.2, T: 0.2, G: 0.3. Figure 10 shows the relative significance of various features predicting promoter status. For example, CpG dinucleotide content has the strongest positive correlation with the identity of the core promoter. Random DNA has a relatively small number of CpGs, while the core promoter can have a large number (a subset of the core promoter is called a CpG island). The presence or absence of a TATA box is also important.
[0091] Returning to FIG. 11, the training method 1100 may train one or more machine learning models at step 1140 using one or more features. In one example, the machine learning models may be trained using supervised learning. In another example, other machine learning techniques may be used, including unsupervised learning and semi-supervised. The machine learning models trained at 1140 may be selected based on different criteria depending on the problem being solved and / or the data available in the training dataset. For example, machine learning classifiers may be subject to different degrees of bias. Thus, two or more machine learning models may be trained at 1140 and optimized, improved, and cross-validated at step 1150.
[0092] The training method 1100 may select one or more machine learning models to build a predictive model at 1160. The predictive model may be evaluated using a test dataset. The predictive model may analyze the test dataset and generate predicted promoter states at step 1170. The predicted promoter states may be evaluated at step 1180 to determine whether such values achieved a desired level of accuracy. The performance of a predictive model may be evaluated in a number of ways based on a number of true positive, false positive, true negative, and / or false negative classifications of the multiple data points represented by the predictive model.
[0093] For example, a false positive of a predictive model may refer to the number of times the predictive model erroneously classifies a sequence as a promoter that is not actually a promoter. Conversely, a false negative of a predictive model may refer to the number of times the machine learning model classifies a promoter sequence as not a promoter when in fact the sequence is a promoter. True negatives and true positives may refer to the number of times one or more sequences are correctly classified by the predictive model as a promoter or not a promoter. Related to these measurements are the concepts of recall and precision. In general, recall refers to the ratio of true positives to the sum of true positives and false negatives, thereby quantifying the sensitivity of the predictive model. Similarly, precision refers to the ratio of true positives to the sum of true positives and false positives. When such a desired level of precision is reached, the training phase may end and the predictive model (e.g., ML module 930) may be output in step 1190; however, when the desired level of precision is not reached, subsequent iterations of the training method 1100 may be performed beginning in step 1110, with variations such as, for example, taking into account a larger collection of sequence data.
[0094] 2. How to use predictive models 12 is a diagram of an exemplary process flow for determining whether a nucleotide sequence is a promoter using a machine learning based classifier. As illustrated in FIG. 12, an unclassified sequence 1210 may be provided as an input to an ML module 930. The ML module 930 may process the unclassified sequence 1210 using a machine learning based classifier to arrive at a classification result 1220.
[0095] The classification result 1220 may identify one or more characteristics of the non-classified sequence 1210. For example, the classification result 1220 may identify the promoter state of the non-classified sequence 1210 (e.g., whether the non-classified sequence 1210 is likely to perform a promoter function).
[0096] The ML module 930 may be used to classify the sequences generated by the generative model (e.g., LSTM-RNN 710). The predictive model (e.g., ML module 930) may act as a quality control mechanism for the generative model (e.g., LSTM-RNN 710). Before testing the sequences generated by the generative model in an experimental setting, the predictive model may be used to test whether the generated sequences are predicted to be positive for core promoter activity.
[0097] F.How to use In some embodiments, a particular promoter sequence is generated and / or identified by one or more of the methods described herein. Once a promoter sequence is identified, the promoter can be produced or engineered. In some embodiments, the terms produced, engineered, and synthesized can be used interchangeably. In some embodiments, the promoter can be chemically synthesized according to commonly used techniques. See, for example, Beaucage et al. (1981) Tet. Lett. 22:1859, and U.S. Patent No. 4,668,777, which are incorporated herein by reference in their entirety. Such chemical oligonucleotide synthesis can be performed using commercially available equipment such as the Biosearch 4600 or 8600 DNA synthesizer by Applied Biosystems, a division of Perkin-Elmer Corp., Foster City, Calif., USA, and the Expedite by Perceptive Biosystems, Framingham, Mass., USA. Promoters can also be synthesized using any of the techniques described in the patents disclosed in Yu et al. Recent Pat DNA Gene Seq, 2012, Apr;6(1):10-21, each of which is incorporated by reference in its entirety.
[0098] Once the promoter is produced, it can be inserted into a nucleic acid construct. In some embodiments, the nucleic acid construct can be a plasmid, including but not limited to a plasmid used to produce a viral vector. In some embodiments, the promoter can be inserted upstream of a transgene (i.e., a gene of interest) already present in a plasmid used to produce the virus. In some embodiments, the promoter sequence can be inserted upstream of the transgene forming a nucleic acid sequence, which can then be inserted into the plasmid used to produce the virus. In some embodiments, the promoter can be inserted into the plasmid prior to inserting the transgene. Any known cloning method can be used to generate a plasmid or nucleic acid sequence that includes a promoter. For example, in some embodiments, a plasmid used to generate a viral vector, such as AAV, can be cleaved with one or more restriction endonucleases. A nucleic acid sequence that contains restriction endonuclease sites at the 5' and 3' ends and has a particular promoter in between can be cleaved with a restriction endonuclease specific to the restriction endonuclease sites. In some embodiments, the nucleic acid sequence containing restriction endonuclease sites at the 5' and 3' ends and having a specific promoter between them further comprises a transgene downstream of the promoter and also between the restriction endonuclease sites. In some embodiments, the restriction endonuclease used to cleave the plasmid is the same as the restriction endonuclease used to cleave the nucleic acid sequence containing restriction endonuclease sites at the 5' and 3' ends and having a specific promoter between them. Cleavage with the same restriction endonuclease produces a nucleic acid sequence containing sticky ends in the plasmid and restriction endonuclease sites at the 5' and 3' ends and having a specific promoter between them. In some embodiments, the nucleic acid sequence containing a specific promoter can be chemically synthesized to already contain specific restriction endonuclease sites at the ends that are already attached to the plasmid cleaved with the restriction endonuclease, thus eliminating the step of cleaving the nucleic acid sequence with a restriction endonuclease.Finally, the plasmids with nucleic acid sequences and similar cohesive ends are brought into contact with each other, allowing the formation of a circular plasmid containing a specific promoter upstream of the transgene.The circular plasmid can then be used to produce a virus, such as AAV, using known virus production methods.
[0099] G. Working Example The following examples illustrate the present methods and systems and are not intended to be limiting thereof.
[0100] After identifying the core promoter sequence using the methods disclosed herein, the core promoter activity can be tested using a biological system. Figure 13 is a schematic diagram outlining one example of how a promoter assay can be designed. Two reporter constructs were designed to test each individual core promoter (CP) candidate (control or generated core promoter). The reporter constructs contain the coding sequence of NanoLuc luciferase (Nluc, Promega), an SV40 late polyadenylation signal, and either a liver-specific enhancer (from Kheradpour et al., doi: http: / / dx.doi.org / 10.1101 / gr.144899.112), or an enhancer omission, followed by a universal reverse primer binding site. Additionally, a primer binding site was introduced upstream of the NanoLuc coding sequence to add the core promoter candidates during PCR. An activating enhancer can be placed downstream of the reporter gene to prevent transcription from being initiated within the enhancer.
[0101] The reporter constructs were ordered as double-stranded DNA samples (gBlock, IDT) and diluted to 10ng / μI in water. To generate reporter constructs that can be introduced into cells to assay luciferase activity, these two templates were used as universal templates for PCR, during which each core promoter candidate was introduced via a 5' oligonucleotide. To do so, oligonucleotides were ordered containing the core promoter sequence followed by a sequence corresponding to the 5' primer binding site of the reporter construct. The resulting dsDNA PCR products consisted of either the core promoter candidate, Nluc CDS, SV40 late polyA, and enhancer (Figure 13 bottom), or no enhancer as background control (Figure 13 top). This linear dsDNA product can be used directly for transfection into a cell line of choice to assess luciferase activity. For PCR, 25μL of 2x Q5 hotstart mastermix (NEB), 2.5μL of forward oligo, 2.5μL of reverse oligo, 1ng of gFM15 template and 20μL of HO were used. This reaction mixture was amplified with the following PCR program: 98°C for 30 s, 98°C for 10 s, 68°C for 30 s, 72°C for 15 s, 24 more rounds to step 2, 72°C for 2 min, hold at 4°C. Finally, the PCR reaction was purified using Ampure XP beads (Beckman Coulter) at a 0.55 bead to PCR reaction ratio. Testing the core promoter candidates in the context of the PCR product, rather than on a plasmid, ensures that no other confounding sequences are present.
[0102] FIG. 14 shows an in vitro promoter assay comparing the generated core promoters (sequences shown in Table 1) with a control core promoter. As shown in FIG. 14, "no-CP" is the control, "SerpinA1" is the endogenous core promoter, "SCP1" is the synthetic core promoter, "GCP7", "GCP10", "GCP_MTE", and "GCP_MTE_V2" are sharp core promoters generated according to the disclosed methods, and "GCP18" is a random core promoter generated according to the disclosed methods. Fold change values (mean ± 95% confidence interval, CI) of the generated core promoters (CP) and controls are shown. All data points are normalized to the mean value of the no-core promoter control without enhancer. Core promoters are grouped by type: control is a negative control without a core promoter; endogenous is the core promoter of the liver-expressed SerpinA1 gene; synthetic is an engineered core promoter such as SCP1 (Kadonaga lab); generated_sharp is a generated core promoter based on a model trained on the endogenous sharp core promoter; generated_random is a core promoter based on a model trained on an endogenous random sequence (to serve as an additional negative control). The left two panels show the fold change derived from reporter constructs without enhancers (baseline), and the right two panels show the fold change derived from reporter constructs containing enhancers (endogenous liver enhancer in Huh-7, minimal SFFV enhancer in HEK293-HZ). The top two panels are data obtained from Huh-7 cells, and the bottom two panels are data obtained from experiments performed in HEK293 cells.
[0103] [Table 1]
[0104] The assay shown in Figure 14 involves transfection of Huh-7 and HEK293-HZ cells followed by luciferase assay.4 Huh-7 or HEK293-HZ cells were seeded in 96-well plates in DMEM + 10% FBS and transfected 24 hours later with 0.1 μg of reporter construct using Mirus TransIT-LT1 transfection reagent (Mirus Bio, #MIR 2304). As a transfection control, firefly luciferase plasmid was co-transfected at a ratio of 1:9 (firefly plasmid:NanoLuc PCR product). To assay luciferase activity, cells were lysed and processed 24 hours after transfection using the Nano-Glo Dual Luciferase Assay System (Promega, #N1610). Luciferase activity was measured using a SpectraMax i3 plate reader (Molecular Devices).
[0105] Calculation method Training Data A list of candidate core promoters for the human genome was downloaded as transcription start site (TSS) profiling data from FANTOM5 (doi:10.1038 / sdata.2017.112) using the R package CAGEr (doi:10.18129 / B9.BIOC.CAGER) or directly from FANTOM5. From this data, two separate lists of core promoters were created for the predictive and generative models (see model description below). For the generative model, the FANTOM5 dataset was filtered to keep only human adult liver data (sample:liver__adult__pool1). Data were normalized (method="powerLaw", fitInRange=c(5, 1000), alpha=1.05, T=1*10^6), TSSs were clustered, and quartile widths were calculated (qLow=0.1, qUp=0.9). They were then binned into sharp and broad TSSs based on their quartile widths. Core promoter candidates were then generated by extending the TSS summits by 49 bp in the 5' direction and 50 bp in the 3' direction. Based on the CAGE signal, only the 2,950 strongest core promoters were kept. As a control set, these core promoters were shifted 50,000 bp in the 5' direction and filtered out any overlap with any CAGE peaks after the shift (n_control=2915).
[0106] For the predictive model, we took the top CAGE peaks (cutoff >50,000 in column 5 of hg19.cage_peak_phase1and2combined_coord.bed) across the FANTOM5 dataset and filtered out those that overlapped with any peaks in the generative model. As with the generative model peaks, the TSS summits were extended 49 bp in the 5' direction and 50 bp in the 3' direction to create a final list of core promoters. These core promoters were shifted 50,000 bp in the 5' direction to create a list of negative control regions, which were further filtered against any CAGE peaks or negative control regions for the generative model. All of the above core promoter sequences were filtered against any sequences containing Ns in the human genome assembly (hg19). For the predictive model, each category of core promoter was saved as a sequence associated with a label (1=core promoter, 0=negative control).
[0107] Predictive Model To train the predictive model, we took the labeled sequences (see the "Training Data" section) and extracted features related to core promoter biology. GC content, AT and CG dinucleotide frequency, ATG frequency, occurrence of core promoter motifs, and relative entropy were calculated (compared to random sequences with A, C, G, and T frequencies of 0.3, 0.2, 0.2, and 0.3, respectively). For motif occurrence, the relative positioning scheme to the TSS was also considered. The training dataset was then split into training and validation sets using scikit-learn's train_test_split (80% training, 20% validation, with label stratification, Scikit-learn: Machine Learning in Python, Pedregosa et al., JMLR 12, pp. 2825-2830, 2011, version 0.21.2). The above resulted in a training set of 11,339 examples with 19 features and 2,835 validation examples. The f1-weighted score implemented in Yellowbricks (doi:10.5281 / zenodo.3687330, version 0.9.1) was used to select the hyperparameters of a logistic regression model with L1 regularization: penalty="l1", solver="liblinear", multi_class="auto", C=0.5. All metrics such as ROC and feature importance were visualized using Yellowbricks.
[0108] Generative Model To train the generative models, the core promoter sequences of different classes were split into pairs of 10 nt seed sequences with the following nucleotides as predicted targets: 1) nucleotides 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 104, 110, 111, 120, 131, 140, 14
[0109] A long short-term memory (LSTM) recurrent neural network (RNN) was implemented using keras (2.2.4) with TensorFlow backend (1.13.0-dev20190126). The LSTM had 128 units followed by a single dense output layer with a softmax activation function. The RMSprop (lr=0.001) optimizer and categorical cross entropy were used as loss functions. The model was trained for 25 epochs with a batch size of 128 using each pair (see above) as input, but early stopping was employed (loss supervision, patience=1, min_delta=0.001). To generate new sequences, sampling from the learned probability distribution can be used to predict new nucleotides in the "seed" sequence. The newly generated sequence can then be used as another seed for another cycle of sequence generation in the iterative process of sequence generation. To add probability to this process, the first learned probabilities were reweighted by a softmax temperature before sampling from this newly derived distribution (temperature = 0.8). Finally, we used this approach to generate novel core promoter sequences based on a model trained using input from sharp, broad, and random core promoter sequences. The lengths of these sequences ranged from 50 to 100 nt.
[0110] FIG. 15 is a block diagram depicting an environment 1500 including a non-limiting example of a computing device 1501 and a server 1502 connected through a network 1504. In one embodiment, some or all steps of any described method can be performed on a computing device described herein. The computing device 1501 can include one or more computers configured to store one or more of sequence data 1520 (e.g., promoter sequence data such as CAGE data), training data 1522 (e.g., labeled sequence data: core promoter sequences and regulatory sequences), generation module 1524 (e.g., LSTM-RNN 710, including any supplemental training modules), prediction module 1526 (e.g., ML module 930, including any supplemental training modules), etc. The server 1502 can include one or more computers configured to store the sequence data 1520. The multiple servers 1502 can communicate with the computing device 1501 through the network 1504. In one embodiment, the server 1502 can include a repository for data generated by a CAGE experiment.
[0111] The computing device 1501 and the server 1502 may be digital computers, generally including, in terms of hardware architecture, a processor 1508, a memory system 1510, an input / output (I / O) interface 1512, and a network interface 1514. These components (1508, 1510, 1512, and 1514) are communicatively coupled via a local interface 1516. The local interface 1516 may be, for example, but not limited to, one or more buses or other wired or wireless connections known in the art. The local interface 1516 may have additional elements (omitted for simplicity) to enable communication, such as controllers, buffers (caches), drivers, repeaters, and receivers. Additionally, the local interface may include address, control, and / or data connections to enable appropriate communication between the aforementioned components.
[0112] The processor 1508 may be a hardware device for executing software, particularly stored in the memory system 1510. The processor 1508 may be any custom-made or commercially available processor, a central processing unit (CPU), a coprocessor among several processors associated with the computing device 1501 and the server 1502, a semiconductor-based microprocessor (in the form of a microchip or chipset), or generally any device for executing software instructions. When the computing device 1501 and / or the server 1502 are in operation, the processor 1508 may be configured to execute software stored in the memory system 1510 to communicate data to and from the memory system 1510, and generally control the operation of the computing device 1501 and the server 1502 in accordance with the software.
[0113] I / O interface 1512 can be used to receive user input from and / or provide system output to one or more devices or components. User input may be provided, for example, via a keyboard and / or a mouse. System output may be provided via a display device and a printer (not shown). I / O interface 1512 may include, for example, a serial port, a parallel port, a small computer system interface (SCSI), an infrared (IR) interface, a radio frequency (RF) interface, and / or a universal serial bus (USB) interface.
[0114] The network interface 1514 may be used to transmit and receive from the computing device 1501 and / or the server 1502 over the network 1504. The network interface 1514 may include, for example, a 10BaseT Ethernet adapter, a 100BaseT Ethernet adapter, a LAN PHY Ethernet adapter, a Token Ring adapter, a wireless network adapter (e.g., WiFi, cellular, satellite), or any other suitable network interface device. The network interface 1514 may include address, control, and / or data connections to enable appropriate communication over the network 1504.
[0115] The memory system 1510 may include any one or combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and non-volatile memory elements (e.g., ROM, hard drives, tape, CD-ROM, DVD-ROM, etc.). Additionally, the memory system 1510 may incorporate electronic, magnetic, optical, and / or other types of storage media. It should be noted that the memory system 1510 may have a distributed architecture where various components are located remotely from each other but can be accessed by the processor 1508.
[0116] The software in the memory system 1510 may include one or more software programs, each of which includes an ordered list of executable instructions for implementing logical functions. In the example of FIG. 15, the software in the memory system 1510 of the computing device 1501 may include sequence data 1520, training data 1522, a generation module 1524, a prediction module 1526, and a suitable operating system (O / S) 1518. In the example of FIG. 15, the software in the memory system 1510 of the server 1502 may include sequence data 1520, and a suitable operating system (O / S) 1518. The operating system 1518 essentially controls the execution of other computer programs and provides scheduling, input-output control, file and data management, memory management, and communication control, and related services.
[0117] For purposes of illustration, application programs and other executable program components, such as the operating system 1518, are illustrated herein as separate blocks, but it is recognized that such programs and components may reside at various times in different storage components of the computing device 1501 and / or the server 1502. An implementation of the generating module 1524 and / or the predicting module 1526 may be stored on or transmitted through some form of computer-readable media. Any of the methods of the present disclosure may be performed by computer-readable instructions embodied on a computer-readable medium. A computer-readable medium may be any available medium that can be accessed by a computer. By way of example, and not intended to be limiting, computer-readable media may include "computer storage media" and "communications media." A "computer storage medium" may include volatile and non-volatile removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Exemplary computer storage media may include RAM, ROM, EEPROM, flash memory or other storage technology, CD-ROM, digital versatile disks (DVD) or other optical storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by a computer.
[0118] In one embodiment, the prediction module 1526 may be configured to perform the method 1600 shown in Figure 16. The method 1600 may be performed in whole or in part by a single computing device, multiple electronic devices, and the like. The method 1600 includes receiving genetic data, the genetic data including a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences including at least one transcription start site (TSS) having an associated expression score at 1601. The associated expression score may include a cap analysis of gene expression (CAGE) peak.
[0119] The method 1600 may include determining 1602 a plurality of TSSs from the first plurality of nucleotide sequences based on associated expression scores that meet a threshold. The method 1600 may include determining a plurality of summit nucleotide bases based on the plurality of TSSs at 1603. Determining a plurality of summit nucleotide bases based on the plurality of TSSs may include determining, for each of the plurality of TSSs, a nucleotide base having a strongest CAGE signal.
[0120] The method 1600 may include, for each summit nucleotide base of the plurality of summit nucleotide bases, determining a plurality of associated surrounding bases at 1604. Determining a plurality of associated surrounding bases for each summit nucleotide base of the plurality of summit nucleotide bases may include determining a first plurality of nucleotide bases in a 5' direction and a second plurality of nucleotide bases in a 3' direction for each summit nucleotide base of the plurality of summit nucleotide bases. The first plurality of nucleotide bases in the 5' direction may include 49 nucleotide bases and the second plurality of nucleotide bases in the 3' direction includes 50 nucleotide bases.
[0121] The method 1600 may include storing each summit nucleotide base and the associated multiple surrounding bases as a second multiple nucleotide sequence labeled as a core promoter at 1605.
[0122] The method 1600 may include, for each nucleotide sequence of the second plurality of nucleotide sequences, determining an associated plurality of shift bases at 1606. Determining an associated plurality of shift bases for each nucleotide sequence of the second plurality of nucleotide sequences may include shifting an amount of nucleotide bases from each nucleotide sequence of the second plurality of nucleotide sequences.
[0123] The method 1600 may include storing each associated plurality of shifted bases as a third plurality of nucleotide sequences labeled as not being a core promoter at 1607. The method 1600 may include generating a training dataset at 1608 based on a second plurality of nucleotide sequences labeled as core promoters and a third plurality of nucleotide sequences labeled as non-core promoters.
[0124] The method 1600 may include determining a plurality of features for the predictive model based on the training dataset at 1609. The plurality of features for the predictive model may include one or more of GC content, AT and CG dinucleotide frequency, ATG frequency, occurrence of core promoter motifs, relative entropy, and relative positioning scheme to associated TSSs.
[0125] At 1610, the method 1600 may include training a predictive model according to the plurality of features based on the first portion of the training dataset at 1610. The method 1600 may include testing the predictive model at 1611 based on a second portion of the training dataset.
[0126] The method 1600 may include outputting 1612 a predictive model based on the testing. In one embodiment, the method 1600 can further include filtering any TSSs of the plurality of TSSs from the first plurality of nucleotide sequences that have an expression score that overlaps with an expression score of the TSS used in the generative model. In one embodiment, the method 1600 can further include filtering any nucleotide sequences of the second plurality of nucleotide sequences that contain Ns in the human genome assembly (hg19).
[0127] In one embodiment, the prediction module 1526 may be configured to perform a method 1700 shown in Figure 17. The method 1700 may be performed in whole or in part by a single computing device, multiple electronic devices, and the like. The method 1700 includes receiving genetic data, the genetic data including a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences including at least one transcription start site (TSS) having an associated expression score at 1701. The associated expression score may include a cap analysis of gene expression (CAGE) peak.
[0128] The method 1700 may include determining a second plurality of nucleotide sequences labeled as core promoters based on the first plurality of nucleotide sequences at 1702. Determining the second plurality of nucleotide sequences labeled as core promoters based on the first plurality of nucleotide sequences may include determining a plurality of TSSs from the first plurality of nucleotide sequences based on associated expression scores that meet a threshold, determining a plurality of summit nucleotide bases based on the plurality of TSSs, determining an associated plurality of surrounding bases for each summit nucleotide base of the plurality of summit nucleotide bases, and storing each summit nucleotide base and the associated plurality of surrounding bases as the second plurality of nucleotide sequences labeled as core promoters.
[0129] Determining a plurality of summit nucleotide bases based on the plurality of TSSs may include determining a nucleotide base having a strongest CAGE signal for each of the plurality of TSSs. Determining a plurality of associated neighboring bases for each summit nucleotide base of the plurality of summit nucleotide bases may include determining a first plurality of nucleotide bases in a 5' direction and a second plurality of nucleotide bases in a 3' direction for each summit nucleotide base of the plurality of summit nucleotide bases. The first plurality of nucleotide bases in the 5' direction may include 49 nucleotide bases and the second plurality of nucleotide bases in the 3' direction includes 50 nucleotide bases.
[0130] The method 1700 may include determining a third plurality of nucleotide sequences labeled as not being a core promoter based on the second plurality of nucleotide sequences at 1703. Determining the third plurality of nucleotide sequences labeled as not being a core promoter based on the second plurality of nucleotide sequences may include determining an associated plurality of shifted bases for each nucleotide sequence of the second plurality of nucleotide sequences and storing each associated plurality of shifted bases as the third plurality of nucleotide sequences labeled as not being a core promoter.
[0131] Determining the associated plurality of shifted bases for each nucleotide sequence of the second plurality of nucleotide sequences can include shifting an amount of nucleotide bases from each nucleotide sequence of the second plurality of nucleotide sequences.
[0132] The method 1700 may include generating a training dataset at 1704 based on a second plurality of nucleotide sequences labeled as core promoters and a third plurality of nucleotide sequences labeled as non-core promoters.
[0133] The method 1700 may include determining a plurality of features for the predictive model based on the training dataset at 1705. The plurality of features for the predictive model may include one or more of GC content, AT and CG dinucleotide frequency, ATG frequency, occurrence of core promoter motifs, relative entropy, and relative positioning scheme to associated TSSs.
[0134] The method 1700 may include training a predictive model according to the plurality of features at 1706 based on the first portion of the training dataset. The method 1700 may include testing the predictive model, at 1707, based on a second portion of the training dataset.
[0135] The method 1700 may include outputting 1708 a predictive model based on the testing. In one embodiment, the method of crumb 1700 may also include filtering any TSSs of the plurality of TSSs from the first plurality of nucleotide sequences that have an expression score that overlaps with an expression score of the TSS used in the generative model. In one embodiment, the method 1700 may further include filtering any nucleotide sequences of the second plurality of nucleotide sequences that contain Ns in the human genome assembly (hg19).
[0136] In one embodiment, the generating module 1524 may be configured to perform a method 1800 shown in FIG. 18. The method 1800 may be performed in whole or in part by a single computing device, multiple electronic devices, and the like. The method 1800 includes receiving genetic data, the genetic data including a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences including at least one transcription start site (TSS) having an associated expression score at 1801. The associated expression score may include a cap analysis of gene expression (CAGE) peak.
[0137] The method 1800 may include, at 1802, normalizing the genetic data. The method 1800 may include clustering the TSSs at 1803 based on the associated expression scores.
[0138] The method 1800 may include determining, at 1804, an interquartile range for each cluster of the TSS. The method 1800 may include labeling each TSS as a sharp TSS or a broad TSS at 1805 based on the interquartile width.
[0139] The method 1800 may include determining a plurality of summit nucleotide bases based on the plurality of TSSs at 1806. Determining a plurality of summit nucleotide bases based on the plurality of TSSs may include determining, for each of the plurality of TSSs, a nucleotide base having a strongest CAGE signal.
[0140] The method 1800 may include, for each summit nucleotide base of the plurality of summit nucleotide bases, determining a plurality of associated surrounding bases at 1807. Determining a plurality of associated surrounding bases for each summit nucleotide base of the plurality of summit nucleotide bases may include determining a first plurality of nucleotide bases in a 5' direction and a second plurality of nucleotide bases in a 3' direction for each summit nucleotide base of the plurality of summit nucleotide bases. The first plurality of nucleotide bases in the 5' direction includes 49 nucleotide bases and the second plurality of nucleotide bases in the 3' direction includes 50 nucleotide bases.
[0141] The method 1800 may include storing each summit nucleotide base and the associated surrounding bases as a second plurality of nucleotide sequences labeled as a core promoter at 1808.
[0142] The method 1800 may include determining 1809 a third plurality of nucleotide sequences from the second plurality of nucleotide sequences based on the associated expression scores satisfying a threshold. The method 1800 may include, for each nucleotide sequence of the third plurality of nucleotide sequences, determining an associated plurality of shifted bases at 1810. Determining an associated plurality of shifted bases for each nucleotide sequence of the third plurality of nucleotide sequences may include shifting an amount of nucleotide bases from each nucleotide sequence of the third plurality of nucleotide sequences.
[0143] The method 1800 may include storing each associated plurality of shifted bases as a fourth plurality of nucleotide sequences labeled as not being a core promoter at 1811. The method 1800 may include generating a training dataset at 1812 based on a third plurality of nucleotide sequences labeled as core promoters and a fourth plurality of nucleotide sequences labeled as non-core promoters.
[0144] The method 1800 may include, for each nucleotide sequence of the training dataset, generating a plurality of seed sequences and target nucleotide pairs at 1813. For each nucleotide sequence in the training dataset, generating a plurality of seed sequences and target nucleotide pairs may include dividing the nucleotide sequences in the training dataset into sharp TSS or broad TSS groups based on sharp or broad TSS labels, applying a sliding window of a defined length and having a defined step size to each nucleotide sequence, and saving the seed sequences and target nucleotide pairs at each step of the sliding window.
[0145] The method 1800 may include, at 1814, vectorizing each seed sequence and target nucleotide pair of the plurality of seed sequences and target nucleotide pairs. Each seed sequence and target nucleotide pair may include a seed sequence having a defined length and a target nucleotide immediately following the seed sequence on the predetermined nucleotide sequence. The defined length may be, for example, 10 bases. Vectorizing each seed sequence and target nucleotide pair of the plurality of seed sequences and target nucleotide pairs may include encoding each nucleotide as a respective number.
[0146] The method 1800 may include training a generative model based on the vectorized seed sequence and the target nucleotide pair at 1815. The generative model may include a long short-term memory (LSTM) recurrent neural network (RNN).
[0147] The method 1800 may include, at 1816, outputting the generative model. In one embodiment, the method 1800 may include filtering any nucleotide sequences of the second plurality of nucleotide sequences that contain Ns in the human genome assembly (hg19).
[0148] In one embodiment, the method 1800 may include generating a nucleotide sequence based on the generative model. The nucleotide sequence may be, for example, a core promoter sequence. The method 1800 may include engineering a promoter based on the core promoter sequence.
[0149] Generating a nucleotide sequence based on the generative model can include (a) receiving a seed sequence, (b) predicting a next nucleotide based on the seed sequence, (c) adding the next nucleotide to the seed sequence, and (d) repeating b through c until a desired length of the nucleotide sequence is reached. The desired length can be, for example, about 50 nucleotides to about 100 nucleotides.
[0150] In one embodiment, method 1800 may include inserting a promoter into the nucleic acid construct. Inserting a promoter into the nucleic acid construct may include inserting a promoter into the nucleic acid construct upstream of a transgene to drive expression of the transgene.
[0151] In one embodiment, the method 1800 may include generating an adeno-associated virus or a lentivirus that includes the nucleic acid construct. In one embodiment, the generating module 1524 may be configured to perform the method 1900 shown in Figure 19. The method 1900 may be performed in whole or in part by a single computing device, multiple electronic devices, and the like. The method 1900 includes receiving genetic data, the genetic data including a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences including at least one transcription start site (TSS) having an associated expression score at 1901. The associated expression score may include a cap analysis of gene expression (CAGE) peak.
[0152] The method 1900 may include determining a second plurality of nucleotide sequences labeled as a core promoter based on the first plurality of nucleotide sequences at 1902. Determining the second plurality of nucleotide sequences labeled as a core promoter based on the first plurality of nucleotide sequences may include determining a plurality of summit nucleotide bases based on the plurality of TSSs, and for each summit nucleotide base of the plurality of summit nucleotide bases, determining an associated plurality of surrounding bases, and storing each summit nucleotide base and the associated plurality of surrounding bases as the second plurality of nucleotide sequences labeled as a core promoter.
[0153] Determining a plurality of summit nucleotide bases based on the plurality of TSSs includes determining a nucleotide base having a strongest CAGE signal for each of the plurality of TSSs. Determining a plurality of associated neighboring bases for each summit nucleotide base of the plurality of summit nucleotide bases may include determining a first plurality of nucleotide bases in a 5' direction and a second plurality of nucleotide bases in a 3' direction for each summit nucleotide base of the plurality of summit nucleotide bases. The first plurality of nucleotide bases in the 5' direction may include 49 nucleotide bases and the second plurality of nucleotide bases in the 3' direction includes 50 nucleotide bases.
[0154] The method 1900 may include determining at 1903 a third plurality of nucleotide sequences from the second plurality of nucleotide sequences based on the associated expression score satisfying a threshold. The method 1900 may include determining a fourth plurality of nucleotide sequences labeled as not being a core promoter based on the third plurality of nucleotide sequences at 1904. Determining the fourth plurality of nucleotide sequences labeled as not being a core promoter based on the third plurality of nucleotide sequences may include determining an associated plurality of shifted bases for each nucleotide sequence of the third plurality of nucleotide sequences and storing each associated plurality of shifted bases as the fourth plurality of nucleotide sequences labeled as not being a core promoter.
[0155] Determining the associated plurality of shifted bases for each nucleotide sequence of the third plurality of nucleotide sequences may include shifting an amount of nucleotide bases from each nucleotide sequence of the third plurality of nucleotide sequences.
[0156] The method 1900 may include generating a training dataset at 1905 based on a third plurality of nucleotide sequences labeled as core promoters and a fourth plurality of nucleotide sequences labeled as non-core promoters.
[0157] The method 1900 may include training a generative model at 1906 based on the training dataset. The generative model may include, for example, a long short-term memory (LSTM) recurrent neural network (RNN). Training the generative model based on the training dataset may include generating a plurality of seed sequences and target nucleotide pairs for each nucleotide sequence in the training dataset, vectorizing each seed sequence and target nucleotide pair of the plurality of seed sequences and target nucleotide pairs, and training the generative model based on the vectorized seed sequence and target nucleotide pair.
[0158] Each seed sequence and target nucleotide pair may include a seed sequence having a defined length and a target nucleotide immediately following the seed sequence on the predetermined nucleotide sequence. The defined length may be, for example, 10 bases. Vectorizing each seed sequence and target nucleotide pair of the multiple seed sequences and target nucleotide pairs may include encoding each nucleotide as a respective number.
[0159] The method 1900 may include, at 1907, outputting the generative model. In one embodiment, the method 1900 may include normalizing the genetic data. In one embodiment, the method 1900 may include clustering the TSSs based on associated expression scores, determining an interquartile width for each cluster of TSSs, and labeling each TSS as a sharp TSS or a broad TSS based on the interquartile width.
[0160] In one embodiment, the method 1900 may include generating a nucleotide sequence based on the generative model. The nucleotide sequence may be, for example, a core promoter sequence.
[0161] In one embodiment, method 1900 may include engineering a promoter based on a core promoter sequence. Method 1900 may include inserting the promoter into a nucleic acid construct. Inserting the promoter into the nucleic acid construct may include inserting the promoter into the nucleic acid construct upstream of the transgene to drive expression of the transgene.
[0162] In one embodiment, the method 1900 may include generating an adeno-associated virus or a lentivirus that includes the nucleic acid construct. In one embodiment, the method 1900 may include filtering any nucleotide sequences of the second plurality of nucleotide sequences that contain Ns in the human genome assembly (hg19).
[0163] In one embodiment, the method 1900 may include generating a nucleotide sequence based on the generative model. The nucleotide sequence may be, for example, a core promoter sequence. The method 1900 may include engineering a promoter based on the core promoter sequence.
[0164] Generating a nucleotide sequence based on the generative model can include (a) receiving a seed sequence, (b) predicting a next nucleotide based on the seed sequence, (c) adding the next nucleotide to the seed sequence, and (d) repeating b through c until a desired length of the nucleotide sequence is reached. The desired length can be, for example, about 50 nucleotides to about 100 nucleotides.
[0165] In one embodiment, method 1900 may include inserting a promoter into the nucleic acid construct. Inserting a promoter into the nucleic acid construct may include inserting a promoter into the nucleic acid construct upstream of a transgene to drive expression of the transgene.
[0166] In one embodiment, the method 1900 may include generating an adeno-associated virus or a lentivirus that includes the nucleic acid construct. In one embodiment, the prediction module 1526 may be configured to perform the method 2000 shown in FIG. 20. The method 2000 may be performed in whole or in part by a single computing device, multiple electronic devices, and the like. The method 2000 may include receiving a nucleotide sequence at 2010. Receiving the nucleotide sequence may include receiving a plurality of nucleotide sequences, where the plurality of nucleotide sequences were generated by the generative model.
[0167] The method 2000 may include providing the nucleotide sequence at 2020 to the trained predictive model. The method 2000 may include determining, at 2030, that the nucleotide sequence is a core promoter based on the predictive model.
[0168] In one embodiment, the method 2000 may include filtering the nucleotide sequences according to one or more criteria based on the determination that the nucleotide sequence is a core promoter. The one or more criteria may include, for example, one or more of GC content or motifs.
[0169] In one embodiment, method 2000 includes receiving genetic data, the genetic data including a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences including at least one transcription start site (TSS) having an associated expression score; determining a plurality of TSSs from the first plurality of nucleotide sequences based on the associated expression scores meeting a threshold; determining a plurality of summit nucleotide bases based on the plurality of TSSs; for each summit nucleotide base of the plurality of summit nucleotide bases, determining an associated plurality of surrounding bases; storing each summit nucleotide base and the associated plurality of surrounding bases as a second plurality of nucleotide sequences labeled as a core promoter; The method may include determining an associated plurality of shift bases for each nucleotide sequence of the core promoter sequence, storing each associated plurality of shift bases as a third plurality of nucleotide sequences labeled as not being a core promoter, generating a training dataset based on the second plurality of nucleotide sequences labeled as core promoters and the third plurality of nucleotide sequences labeled as not being a core promoter, determining a plurality of features for a predictive model based on the training dataset, training a predictive model according to the plurality of features based on a first portion of the training dataset, testing the predictive model based on a second portion of the training dataset, and outputting the predictive model based on the testing.
[0170] In one embodiment, the generating module 1524 may be configured to perform the method 2100 shown in Figure 21. The method 2100 may be performed in whole or in part by a single computing device, multiple electronic devices, and the like. The method 2100 may include receiving at 2110 a nucleotide sequence and a sequence length.
[0171] The method 2100 may include providing the nucleotide sequence at 2120 to the trained generative model. The method 2100 may include determining, at 2130, a next nucleotide associated with the nucleotide sequence based on the generative model.
[0172] The method 2100 may include, at 2140, adding a next nucleotide to the nucleotide sequence. The method 2100 can include repeating steps 2120-2140 until the length of the nucleotide sequence is equal to the sequence length at 2150. The sequence length can be, for example, from about 50 nucleotides to about 100 nucleotides.
[0173] The method 2100 may include, at 2160, outputting the nucleotide sequence as the core promoter sequence. In one embodiment, the method 2100 may include engineering a promoter based on a core promoter sequence.
[0174] In one embodiment, method 2100 may include inserting a promoter into the nucleic acid construct. Inserting a promoter into the nucleic acid construct may include inserting a promoter into the nucleic acid construct upstream of a transgene to drive expression of the transgene.
[0175] In one embodiment, the method 2100 may include generating an adeno-associated virus or a lentivirus that includes the nucleic acid construct. In one embodiment, method 2100 may include receiving genetic data, the genetic data including a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences including at least one transcription start site (TSS) having an associated expression score; determining a second plurality of nucleotide sequences labeled as core promoters based on the first plurality of nucleotide sequences; determining a third plurality of nucleotide sequences from the second plurality of nucleotide sequences based on an associated expression score that meets a threshold; determining a fourth plurality of nucleotide sequences labeled as not core promoters based on the third plurality of nucleotide sequences; generating a training dataset based on the third plurality of nucleotide sequences labeled as core promoters and the fourth plurality of nucleotide sequences labeled as not core promoters; and training a generative model based on the training dataset.
[0176] In one embodiment, the method 2100 may include filtering the nucleotide sequences according to one or more criteria. The one or more criteria may include one or more of GC content or motifs.
[0177] In light of the described methods, systems, and apparatus, and variations thereof, the present specification now describes certain more particularly described embodiments of the present invention below, but these specifically recited embodiments should not be construed as having any limiting effect on any different claims that incorporate different or more general teachings set forth herein, nor should the "specific" embodiments be construed as being limited in any way other than in the inherent meaning of the language literally used therein.
[0178] Embodiment 1: receiving genetic data comprising a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences comprising at least one transcription start site (TSS) having an associated expression score; determining a plurality of TSSs from the first plurality of nucleotide sequences based on the associated expression scores meeting a threshold; determining a plurality of summit nucleotide bases based on the plurality of TSSs; determining an associated plurality of surrounding bases for each summit nucleotide base of the plurality of summit nucleotide bases; storing each summit nucleotide base and the associated plurality of surrounding bases as a second plurality of nucleotide sequences labeled as a core promoter; determining a plurality of associated shift bases for an nucleotide sequence; storing each of the associated plurality of shift bases as a third plurality of nucleotide sequences labeled as not being a core promoter; generating a training dataset based on the second plurality of nucleotide sequences labeled as core promoters and the third plurality of nucleotide sequences labeled as not being a core promoter; determining a plurality of features for a predictive model based on the training dataset; training a predictive model according to the plurality of features based on a first portion of the training dataset; testing the predictive model based on a second portion of the training dataset; and outputting the predictive model based on the testing.
[0179] Embodiment 2: The embodiment of any one of the preceding embodiments, wherein the associated expression scores comprise Capping Analysis of Gene Expression (CAGE) peaks.
[0180] Embodiment 3: The embodiment of any one of the preceding embodiments, wherein determining a plurality of summit nucleotide bases based on a plurality of TSSs comprises determining, for each of the plurality of TSSs, a nucleotide base having a strongest CAGE signal.
[0181] Embodiment 4: The embodiment of any one of the preceding embodiments, wherein determining, for each summit nucleotide base of the plurality of summit nucleotide bases, a plurality of associated neighboring bases comprises determining, for each summit nucleotide base of the plurality of summit nucleotide bases, a first plurality of nucleotide bases in a 5' direction and a second plurality of nucleotide bases in a 3' direction.
[0182] Embodiment 5: The embodiment of embodiment 4, wherein the first plurality of nucleotide bases in the 5' direction comprises 49 nucleotide bases and the second plurality of nucleotide bases in the 3' direction comprises 50 nucleotide bases.
[0183] Embodiment 6: The embodiment of any one of the preceding embodiments, wherein determining an associated plurality of shifted bases for each nucleotide sequence of the second plurality of nucleotide sequences comprises shifting an amount of nucleotide bases from each nucleotide sequence of the second plurality of nucleotide sequences.
[0184] Embodiment 7: The embodiment of any one of the preceding embodiments, wherein the plurality of features for the predictive model comprises one or more of GC content, AT and CG dinucleotide frequency, ATG frequency, occurrence of core promoter motifs, relative entropy, and relative positioning scheme to associated TSS.
[0185] Embodiment 8:
[0023] The embodiment of any one of the preceding embodiments, further comprising filtering any TSSs of the plurality of TSSs from the first plurality of nucleotide sequences that have an expression score that overlaps with an expression score of a TSS used in the generative model.
[0186] Embodiment 9: The embodiment of any one of the preceding embodiments, further comprising filtering any nucleotide sequences of the second plurality of nucleotide sequences that contain Ns in the human genome assembly (hg19).
[0187] Embodiment 10: 11. A method comprising: receiving genetic data comprising a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences comprising at least one transcription start site (TSS) having an associated expression score; determining a second plurality of nucleotide sequences labeled as core promoters based on the first plurality of nucleotide sequences; determining a third plurality of nucleotide sequences labeled as non-core promoters based on the second plurality of nucleotide sequences; generating a training dataset based on the second plurality of nucleotide sequences labeled as core promoters and the third plurality of nucleotide sequences labeled as non-core promoters; determining a plurality of features for a predictive model based on the training dataset; training the predictive model according to the plurality of features based on a first portion of the training dataset; testing the predictive model based on a second portion of the training dataset; and outputting the predictive model based on the testing.
[0188] Embodiment 11: The embodiment of embodiment 10, wherein determining a third plurality of nucleotide sequences labeled as not being a core promoter based on the second plurality of nucleotide sequences comprises: determining an associated plurality of shift bases for each nucleotide sequence of the second plurality of nucleotide sequences; and storing each associated plurality of shift bases as the third plurality of nucleotide sequences labeled as not being a core promoter.
[0189] Embodiment 12: The embodiment of embodiment 11, wherein determining an associated plurality of shifted bases for each nucleotide sequence of the second plurality of nucleotide sequences comprises shifting an amount of nucleotide bases from each nucleotide sequence of the second plurality of nucleotide sequences.
[0190] Embodiment 13: The embodiment of any of embodiments 10 to 12, wherein the associated expression score comprises cap analysis of gene expression (CAGE) peaks.
[0191] Embodiment 14: The embodiment of any of embodiments 10-13, wherein determining a second plurality of nucleotide sequences labeled as a core promoter based on the first plurality of nucleotide sequences comprises: determining a plurality of TSSs from the first plurality of nucleotide sequences based on an associated expression score that meets a threshold; determining a plurality of summit nucleotide bases based on the plurality of TSSs; for each summit nucleotide base of the plurality of summit nucleotide bases, determining a plurality of associated surrounding bases; and storing each summit nucleotide base and the associated plurality of surrounding bases as the second plurality of nucleotide sequences labeled as a core promoter.
[0192] Embodiment 15: The embodiment of embodiment 14, wherein determining a plurality of summit nucleotide bases based on a plurality of TSSs comprises determining, for each of the plurality of TSSs, a nucleotide base having a strongest CAGE signal.
[0193] Embodiment 16: The embodiment of embodiment 14, wherein determining a plurality of associated neighboring bases for each summit nucleotide base of the plurality of summit nucleotide bases comprises determining a first plurality of nucleotide bases in a 5' direction and a second plurality of nucleotide bases in a 3' direction for each summit nucleotide base of the plurality of summit nucleotide bases.
[0194] Embodiment 17: The embodiment of embodiment 16, wherein the first plurality of nucleotide bases in the 5' direction comprises 49 nucleotide bases and the second plurality of nucleotide bases in the 3' direction comprises 50 nucleotide bases.
[0195] Embodiment 18: 18. The embodiment of any of embodiments 10-17, wherein the plurality of features for the predictive model comprises one or more of GC content, AT and CG dinucleotide frequency, ATG frequency, occurrence of core promoter motifs, relative entropy, and relative positioning scheme to associated TSS.
[0196] Embodiment 19: 19. The embodiment of any of embodiments 14-18, further comprising filtering any TSS of the plurality of TSSs from the first plurality of nucleotide sequences that have an expression score that overlaps with an expression score of the TSS used in the generative model.
[0197] Embodiment 20: The embodiment of any of embodiments 10-19, further comprising filtering any nucleotide sequence of the second plurality of nucleotide sequences that contains Ns in the human genome assembly (hg19).
[0198] Embodiment 21: receiving genetic data comprising a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences comprising at least one transcription start site (TSS) having an associated expression score; normalizing the genetic data; clustering the TSSs based on the associated expression scores; determining an interquartile width for each cluster of TSSs; labeling each TSS as a sharp TSS or a broad TSS based on the interquartile width; determining a plurality of summit nucleotide bases based on the plurality of TSSs; determining an associated plurality of surrounding bases for each summit nucleotide base of the plurality of summit nucleotide bases; storing each summit nucleotide base and the associated plurality of surrounding bases as a second plurality of nucleotide sequences labeled as a core promoter; and labeling the second plurality of nucleotide sequences based on the associated expression scores meeting a threshold. determining a third plurality of nucleotide sequences from the sequence; determining an associated plurality of shifted bases for each nucleotide sequence of the third plurality of nucleotide sequences; storing each associated plurality of shifted bases as a fourth plurality of nucleotide sequences labeled as not being a core promoter; generating a training dataset based on the third plurality of nucleotide sequences labeled as core promoters and the fourth plurality of nucleotide sequences labeled as not being a core promoter; generating a plurality of seed sequences and target nucleotide pairs for each nucleotide sequence in the training dataset; vectorizing each seed sequence and target nucleotide pair of the plurality of seed sequences and target nucleotide pairs; training a generative model based on the vectorized seed sequences and target nucleotide pairs; and outputting the generative model.
[0199] Embodiment 22: The embodiment of embodiment 21, wherein the associated expression score comprises Capping Analysis of Gene Expression (CAGE) peaks.
[0200] Embodiment 23: 23. The embodiment of any of embodiments 21-22, wherein determining a plurality of summit nucleotide bases based on a plurality of TSSs comprises determining, for each of the plurality of TSSs, a nucleotide base having a strongest CAGE signal.
[0201] Embodiment 24: 24. The embodiment of any of embodiments 21-23, wherein for each summit nucleotide base of the plurality of summit nucleotide bases, determining a plurality of associated neighboring bases comprises determining, for each summit nucleotide base of the plurality of summit nucleotide bases, a first plurality of nucleotide bases in a 5' direction and a second plurality of nucleotide bases in a 3' direction.
[0202] Embodiment 25: 25. The embodiment of embodiment 24, wherein the first plurality of nucleotide bases in the 5' direction comprises 49 nucleotide bases and the second plurality of nucleotide bases in the 3' direction comprises 50 nucleotide bases.
[0203] Embodiment 26: 26. The embodiment of any of embodiments 21-25, wherein determining an associated plurality of shifted bases for each nucleotide sequence of the third plurality of nucleotide sequences comprises shifting an amount of nucleotide bases from each nucleotide sequence of the third plurality of nucleotide sequences.
[0204] Embodiment 27: 27. The embodiment of any of embodiments 21-26, further comprising filtering any nucleotide sequence of the second plurality of nucleotide sequences that contains Ns in the human genome assembly (hg19).
[0205] Embodiment 28: 28. The embodiment of any of embodiments 21 to 27, wherein each seed sequence and target nucleotide pair comprises a seed sequence having a defined length, and a target nucleotide immediately following the seed sequence on the predetermined nucleotide sequence.
[0206] Embodiment 29: The embodiment of embodiment 28, wherein the defined length is 10 bases. Embodiment 30: The embodiment of any of embodiments 21 to 29, wherein generating a plurality of seed sequences and target nucleotide pairs for each nucleotide sequence in the training dataset comprises dividing the nucleotide sequences in the training dataset into sharp TSS groups or broad TSS groups based on sharp TSS or broad TSS labels, applying a sliding window of a defined length and having a defined step size to each nucleotide sequence, and saving the seed sequences and target nucleotide pairs at each step of the sliding window.
[0207] Embodiment 31: The embodiment of any of embodiments 21-30, wherein vectorizing each seed sequence and target nucleotide pair of the plurality of seed sequences and target nucleotide pairs comprises encoding each nucleotide as a respective number.
[0208] Embodiment 32: 32. The embodiment of any of embodiments 21 to 31, wherein the generative model comprises a long short-term memory (LSTM) recurrent neural network (RNN).
[0209] Embodiment 33: 33. The embodiment of any one of embodiments 21 to 32, further comprising generating a nucleotide sequence based on the generative model.
[0210] Embodiment 34: 34. The embodiment of embodiment 33, wherein generating a nucleotide sequence based on the generative model includes: (a) receiving a seed sequence; (b) predicting a next nucleotide based on the seed sequence; (c) adding the next nucleotide to the seed sequence; and (d) repeating b through c until a desired length of the nucleotide sequence is reached.
[0211] Embodiment 35: The embodiment of embodiment 34, wherein the desired length is from about 50 nucleotides to about 100 nucleotides.
[0212] Embodiment 36: The embodiment of any one of embodiments 33 to 35, wherein the nucleotide sequence is a core promoter sequence.
[0213] Embodiment 37: The embodiment of embodiment 36, further comprising engineering a promoter based on the core promoter sequence.
[0214] Embodiment 38: The embodiment of embodiment 37, further comprising inserting a promoter into the nucleic acid construct.
[0215] Embodiment 39: The embodiment of embodiment 38, wherein inserting a promoter into the nucleic acid construct comprises inserting a promoter into the nucleic acid construct upstream of the transgene to drive expression of the transgene.
[0216] Embodiment 40: The embodiment of any of embodiments 38-39, further comprising generating an adeno-associated virus or lentivirus comprising the nucleic acid construct.
[0217] Embodiment 41: 11. A method comprising: receiving genetic data comprising a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences comprising at least one transcription start site (TSS) having an associated expression score; determining a second plurality of nucleotide sequences labeled as core promoters based on the first plurality of nucleotide sequences; determining a third plurality of nucleotide sequences from the second plurality of nucleotide sequences based on an associated expression score that meets a threshold; determining a fourth plurality of nucleotide sequences labeled as not core promoters based on the third plurality of nucleotide sequences; generating a training dataset based on the third plurality of nucleotide sequences labeled as core promoters and the fourth plurality of nucleotide sequences labeled as not core promoters; training a generative model based on the training dataset; and outputting the generative model.
[0218] Embodiment 42: The embodiment of embodiment 41, further comprising normalizing the genetic data. Embodiment 43: 43. The method of any of embodiments 41-42, further comprising: clustering the TSSs based on their associated expression scores; determining an interquartile width for each cluster of TSSs; and labeling each TSS as a sharp TSS or a broad TSS based on the interquartile width.
[0219] Embodiment 44: 44. The embodiment of any of embodiments 41 to 43, wherein determining a fourth plurality of nucleotide sequences labeled as not being a core promoter based on the third plurality of nucleotide sequences comprises: determining an associated plurality of shift bases for each nucleotide sequence of the third plurality of nucleotide sequences; and storing each associated plurality of shift bases as the fourth plurality of nucleotide sequences labeled as not being a core promoter.
[0220] Embodiment 45: 45. The embodiment of any of embodiments 41 to 44, wherein training the generative model based on the training dataset comprises: generating a plurality of seed sequences and target nucleotide pairs for each nucleotide sequence in the training dataset; vectorizing each seed sequence and target nucleotide pair of the plurality of seed sequences and target nucleotide pairs; and training the generative model based on the vectorized seed sequence and target nucleotide pair.
[0221] Embodiment 46: The embodiment of any of embodiments 41-45, wherein the associated expression score comprises cap analysis of gene expression (CAGE) peaks.
[0222] Embodiment 47: The embodiment of any of embodiments 41 to 46, wherein determining a second plurality of nucleotide sequences labeled as a core promoter based on the first plurality of nucleotide sequences comprises: determining a plurality of summit nucleotide bases based on the plurality of TSSs; and for each summit nucleotide base of the plurality of summit nucleotide bases, determining a plurality of associated surrounding bases; and storing each summit nucleotide base and the associated plurality of surrounding bases as the second plurality of nucleotide sequences labeled as a core promoter.
[0223] Embodiment 48: The embodiment of embodiment 47, wherein determining a plurality of summit nucleotide bases based on a plurality of TSSs comprises determining, for each of the plurality of TSSs, a nucleotide base having a strongest CAGE signal.
[0224] Embodiment 49: The embodiment of any of embodiments 47-48, wherein determining a plurality of associated neighboring bases for each summit nucleotide base of the plurality of summit nucleotide bases comprises determining a first plurality of nucleotide bases in a 5' direction and a second plurality of nucleotide bases in a 3' direction for each summit nucleotide base of the plurality of summit nucleotide bases.
[0225] Embodiment 50: The embodiment of embodiment 49, wherein the first plurality of nucleotide bases in the 5' direction comprises 49 nucleotide bases and the second plurality of nucleotide bases in the 3' direction comprises 50 nucleotide bases.
[0226] Embodiment 51: 51. The embodiment of any of embodiments 41-50, wherein determining an associated plurality of shifted bases for each nucleotide sequence of the third plurality of nucleotide sequences comprises shifting an amount of nucleotide bases from each nucleotide sequence of the third plurality of nucleotide sequences.
[0227] Embodiment 52: 52. The embodiment of any of embodiments 41-51, further comprising filtering any nucleotide sequence of the second plurality of nucleotide sequences that contains Ns in the human genome assembly (hg19).
[0228] Embodiment 53: 53. The embodiment of any of embodiments 45-52, wherein each seed sequence and target nucleotide pair comprises a seed sequence having a defined length, and a target nucleotide immediately following the seed sequence on the predetermined nucleotide sequence.
[0229] Embodiment 54: The embodiment of embodiment 53, wherein the defined length is 10 bases. Embodiment 55: The embodiment of any of embodiments 45 to 54, wherein generating a plurality of seed sequences and target nucleotide pairs for each nucleotide sequence in the training dataset comprises dividing the nucleotide sequences in the training dataset into sharp TSS or broad TSS groups based on sharp or broad TSS labels, applying a sliding window of a defined length and having a defined step size to each nucleotide sequence, and preserving the seed sequences and target nucleotide pairs at each step of the sliding window.
[0230] Embodiment 56: 56. The embodiment of any of embodiments 45-55, wherein vectorizing each seed sequence and target nucleotide pair of the plurality of seed sequences and target nucleotide pairs comprises encoding each nucleotide as a respective number.
[0231] Embodiment 57: 57. The embodiment of any of embodiments 41 to 56, wherein the generative model comprises a long short-term memory (LSTM) recurrent neural network (RNN).
[0232] Embodiment 58: 58. The embodiment of any of embodiments 41-57, further comprising generating a nucleotide sequence based on the generative model.
[0233] Embodiment 59: 59. The embodiment of embodiment 58, wherein generating a nucleotide sequence based on the generative model includes: (a) receiving a seed sequence; (b) predicting a next nucleotide based on the seed sequence; (c) adding the next nucleotide to the seed sequence; and d) repeating b to c until a desired length of the nucleotide sequence is reached.
[0234] Embodiment 60: The embodiment of embodiment 59, wherein the desired length is from about 50 nucleotides to about 100 nucleotides.
[0235] Embodiment 61: The embodiment of any one of embodiments 41 to 61, wherein the nucleotide sequence is a core promoter sequence.
[0236] Embodiment 62: The embodiment of embodiment 61, further comprising engineering a promoter based on the core promoter sequence.
[0237] Embodiment 63: The embodiment of embodiment 62, further comprising inserting a promoter into the nucleic acid construct.
[0238] Embodiment 64: The embodiment of embodiment 63, wherein inserting a promoter into the nucleic acid construct comprises inserting a promoter into the nucleic acid construct upstream of the transgene to drive expression of the transgene.
[0239] Embodiment 65: The embodiment of embodiment 64, further comprising generating an adeno-associated virus or a lentivirus comprising the nucleic acid construct.
[0240] Embodiment 66: A method comprising: receiving a nucleotide sequence, providing the nucleotide sequence to a trained predictive model, and determining, based on the predictive model, that the nucleotide sequence is a core promoter.
[0241] Embodiment 67: 67. The embodiment of embodiment 66, wherein receiving the nucleotide sequence includes receiving a plurality of nucleotide sequences, the plurality of nucleotide sequences being generated by a generative model.
[0242] 68. Embodiment 68 68. The embodiment of any of embodiments 66-67, further comprising filtering the nucleotide sequences according to one or more criteria based on the determination that the nucleotide sequence is a core promoter.
[0243] 69. The embodiment of embodiment 68, wherein the one or more criteria include one or more of GC content or motifs.
[0244] Embodiment 70: receiving genetic data comprising a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences comprising at least one transcription start site (TSS) having an associated expression score; determining a plurality of TSSs from the first plurality of nucleotide sequences based on the associated expression score meeting a threshold; determining a plurality of summit nucleotide bases based on the plurality of TSSs; for each summit nucleotide base of the plurality of summit nucleotide bases, determining a plurality of associated surrounding bases; storing each summit nucleotide base and the associated plurality of surrounding bases as a second plurality of nucleotide sequences labeled as a core promoter; 70. The embodiment of any of embodiments 66-69, further comprising: determining a plurality of shift bases associated with a core promoter; storing each associated plurality of shift bases as a third plurality of nucleotide sequences labeled as not being a core promoter; generating a training dataset based on the second plurality of nucleotide sequences labeled as core promoters and the third plurality of nucleotide sequences labeled as not being a core promoter; determining a plurality of features for a predictive model based on the training dataset; training a predictive model according to the plurality of features based on a first portion of the training dataset; testing the predictive model based on a second portion of the training dataset; and outputting the predictive model based on the testing.
[0245] Embodiment 71: The method includes: (a) receiving a nucleotide sequence and a sequence length; (b) providing the nucleotide sequence to a trained generative model; (c) determining a next nucleotide associated with the nucleotide sequence based on the generative model; (d) assigning the next nucleotide to the nucleotide sequence; (e) repeating b through d until the length of the nucleotide sequence is equal to the sequence length; and (f) outputting the nucleotide sequence as a core promoter sequence.
[0246] Embodiment 72: The embodiment of embodiment 71, further comprising engineering a promoter based on the core promoter sequence.
[0247] Embodiment 73: 73. The embodiment of any of embodiments 71-72, further comprising inserting a promoter into the nucleic acid construct.
[0248] EMBODIMENT 74: The embodiment of embodiment 73, wherein inserting a promoter into the nucleic acid construct comprises inserting a promoter into the nucleic acid construct upstream of the transgene to drive expression of the transgene.
[0249] Embodiment 75: The embodiment of any of embodiments 73-74, further comprising generating an adeno-associated virus or lentivirus comprising the nucleic acid construct.
[0250] EMBODIMENT 76: The embodiment of any of embodiments 71 to 75, wherein the sequence length is from about 50 nucleotides to about 100 nucleotides.
[0251] EMBODIMENT 77: 77. The embodiment of any of embodiments 71-76, further comprising: receiving genetic data, the genetic data comprising a first plurality of nucleotide sequences, each nucleotide sequence of the plurality of nucleotide sequences comprising at least one transcription start site (TSS) having an associated expression score; determining a second plurality of nucleotide sequences labeled as core promoters based on the first plurality of nucleotide sequences; determining a third plurality of nucleotide sequences from the second plurality of nucleotide sequences based on an associated expression score that meets a threshold; determining a fourth plurality of nucleotide sequences labeled as not core promoters based on the third plurality of nucleotide sequences; generating a training dataset based on the third plurality of nucleotide sequences labeled as core promoters and the fourth plurality of nucleotide sequences labeled as not core promoters; and training a generative model based on the training dataset.
[0252] Embodiment 78: 78. The embodiment of any of embodiments 71-77, further comprising filtering the nucleotide sequences according to one or more criteria.
[0253] EMBODIMENT 79: The embodiment of embodiment 78, wherein the one or more criteria include one or more of GC content or motifs.
[0254] Embodiment 80: An apparatus configured to perform any of the methods described in embodiments 1 to 79. Embodiment 81: A computer-readable medium having processor-executable instruction embodiments configured to cause an apparatus to perform any of the operations described in embodiments 1 to 79.
[0255] Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific embodiments of the method and compositions described herein which equivalents are intended to be encompassed by the following claims.
Claims
1. receiving, by a computer, genetic data comprising a first plurality of nucleotide sequences, each nucleotide sequence of the first plurality of nucleotide sequences comprising at least one transcription start site (TSS) having an associated expression score; determining a second plurality of nucleotide sequences labeled as core promoters based on the first plurality of nucleotide sequences; determining a third plurality of nucleotide sequences from the second plurality of nucleotide sequences based on the associated expression scores satisfying a threshold; generating a fourth plurality of nucleotide sequences based on the third plurality of nucleotide sequences, the fourth plurality of nucleotide sequences being labeled as not being core promoters; generating a training data set based on the third plurality of nucleotide sequences identified as core promoters and the fourth plurality of nucleotide sequences identified as non-core promoters; computer-based training of a generative model based on the training data set; and outputting the generative model by a computer.
2. determining, by computation, the second plurality of nucleotide sequences labeled as core promoters based on the first plurality of nucleotide sequences; determining a plurality of TSSs from the first plurality of nucleotide sequences based on the associated expression scores satisfying a threshold; determining a plurality of summit nucleotide bases based on said plurality of TSSs; determining, for each summit nucleotide base of said plurality of summit nucleotide bases, a plurality of associated neighboring bases; and storing, by computer, each summit nucleotide base and the associated plurality of surrounding bases as the second plurality of nucleotide sequences labeled as a core promoter.
3. 3. The method of claim 2, wherein determining the plurality of summit nucleotide bases based on the plurality of TSSs comprises determining, by computation, a nucleotide base having a strongest cap analysis of gene expression (CAGE) signal for each of the plurality of TSSs.
4. 3. The method of claim 2, wherein for each summit nucleotide base of the plurality of summit nucleotide bases, determining by a computer the associated plurality of neighboring bases comprises determining by a computer a first plurality of nucleotide bases in a 5' direction and a second plurality of nucleotide bases in a 3' direction for each summit nucleotide base of the plurality of summit nucleotide bases.
5. 5. The method of claim 4, wherein the first plurality of nucleotide bases in the 5' direction comprises 49 nucleotide bases and the second plurality of nucleotide bases in the 3' direction comprises 50 nucleotide bases.
6. generating, by computation, the fourth plurality of nucleotide sequences labeled as not being core promoters based on the third plurality of nucleotide sequences; determining, by a computation, for each nucleotide sequence of the third plurality of nucleotide sequences, a plurality of associated shift bases; and storing by computation each associated plurality of shifted bases as a fourth plurality of nucleotide sequences labeled as not being a core promoter.
7. 7. The method of claim 6, wherein for each nucleotide sequence of the third plurality of nucleotide sequences, computationally determining the associated plurality of shift bases comprises computationally shifting an amount of nucleotide bases from each nucleotide sequence of the third plurality of nucleotide sequences, the amount of nucleotide bases representing a balance between being close enough to have a similar chromatin landscape as the third plurality of nucleotide sequences, while being far enough away so as not to pick up nearby regulatory elements.
8. computer-training the generative model based on the training dataset; generating, by a computation, a plurality of seed sequences and target nucleotide pairs for each nucleotide sequence of the training data set, each seed sequence and target nucleotide pair including a seed sequence having a defined length and a target nucleotide pair immediately following the seed sequence on a given nucleotide sequence; vectorizing each seed sequence and target nucleotide pair of the plurality of seed sequences and target nucleotide pairs by a computer; and computationally training the generative model based on the vectorized seed sequence and target nucleotide pairs.
9. Computationally generating the plurality of seed sequences and target nucleotide pairs for each nucleotide sequence of the training data set, computationally clustering the plurality of TSSs based on the associated expression scores; determining by a computer an interquartile range for each cluster of the TSS; computer-labeling each TSS as a sharp TSS or a broad TSS based on said interquartile widths; Computationally dividing the nucleotide sequences in the training data set into sharp TSS or broad TSS groups based on sharp TSS or broad TSS labels; applying a sliding window of said defined length and having a defined step size to each nucleotide sequence; and computationally storing the seed sequence and the target nucleotide pair at each step of the sliding window.
10. 9. The method of claim 8, wherein computer-vectorizing each seed sequence and target nucleotide pair of the plurality of seed sequences and target nucleotide pairs comprises computer-encoding each nucleotide as a respective number.
11. The method of any one of claims 1 to 10, wherein the generative model comprises a long short-term memory (LSTM) recurrent neural network (RNN).
12. and further comprising computer generating a nucleotide sequence based on the generative model, wherein computer generating the nucleotide sequence based on the generative model comprises: a) receiving, by a computation, a seed sequence; b) computationally predicting the next nucleotide based on the seed sequence; and c) computationally appending the next nucleotide to the seed sequence; and d) computationally repeating b to c until a desired length of the nucleotide sequence is reached, wherein the nucleotide sequence is a core promoter sequence.
13. The method of claim 12, wherein the desired length is between 50 and 100 nucleotides.
14. 13. The method of claim 12, further comprising engineering a promoter based on the core promoter sequence and inserting the promoter into a nucleic acid construct.
15. providing said nucleotide sequence to a predictive model; and determining by a computation that the nucleotide sequence is a core promoter based on the predictive model.
Citation Information
Patent Citations
Functional arrays for high-throughput characterization of gene expression regulatory elements
JP2009519710A
A HTP platform for the genetic engineering of chinese hamster ovary cells
WO2019183183A1