mec13184-sup-0006-FigS1-S2-AppS1

advertisement
Supplementary Methods
RNA preparation and sequencing
Rhinella marina specimens were collected from four locations across the invasive range in
Australia in April/May 2013: two from the range edge (West) in the Kimberley region of Western
Australia (El Questro, 16.007872S 128.020494E; Purnululu National Park, 17.433382S
128.301818E) and two from the range core (East) in Queensland (Innisfail, 17.496250S
146.046506E; Rossville, 15.705427S 145.222855E). Muscle tissue (triceps femoris) was
harvested from five adult female individuals per location (Table S1) and immediately stored in
RNAlater (Qiagen, USA) buffer to preserve the RNA integrity. Tissues were later transferred to 20 °C freezer for long-term storage. Approximately 30 – 50 mg of liquid nitrogen flash-frozen
muscle tissue was carefully ground with a pestle and mortar. Total RNA was extracted from each
sample using the PerfectPure RNA Fibrous Tissue Kit (5 PRIME, Hamburg, Germany) following
the manufactures protocol. In addition, on column RNase-free DNase treatment was performed to
ensure the removal of genomic DNA from the sample. Quality and concentration of total RNA for
each sample were measured using an Agilent 2100 Bioanalyser (Agilent Technologies, USA) to
ensure that >1 ug of total RNA was extracted (range 1 – 2.6 ug) and samples had high RNA
Integrity Numbers (RIN values: range, 5.3 – 8.5; mean = 7.3). To each sample, we added 4 ul of a
1:100 dilution of either mix 1 or mix 2 of the External RNA Controls Consortium (ERCC) spikein control RNA (Life Technologies, USA) (Table S1). The addition of the ERCC ‘spike-ins’ serve
as internal experimental controls and allow us to quantify the diagnostic performance of digital
gene expression.
Total RNA samples were prepared for sequencing using the Illumina TruSeq RNA (Illumina Inc.
USA) protocol with the size selection step selecting for ~300 bp fragments and sequenced across 4
flow cell lanes of the Illumina HiSeq-2000 platform generating 101 bp paired-end reads;
conducted commercially at Macrogen, South Korea. Samples from the four populations were
1
distributed across all flow cell lane to minimize technical bias during sequencing. Raw sequence
reads in FASTQ format were deposited at the NCBI short read archive (SRA) under the
BioProject number PRJNA277985.
Raw read quality control, in silico normailsation and de novo transcriptome assembly
Raw reads from one individual per population (RM0021M, RM0094M, RM0108M and
RM0169M) were pooled to produce a representative read set across all populations and regions for
de novo assembly. Pre-filtering raw reads for quality is vital to obtain an accurate, high quality
assembly. First, raw reads containing adaptor sequences were trimmed with cutadapt v1.3 (Martin
2011). Second, reads were filtered based on quality scores (Phred), with reads discarded if 95% of
bases across the read did not have a minimum Phred score of 30; performed using FASTX-Toolkit
v0.0.13 (http://hannonlab.cshl.edu/fastx_toolkit/). Next, we computed the GC content distribution
for all reads in the dataset. Random hexamer priming is known to introduce a GC content bias in
the first 13 bases of Illumina RNA-seq reads (Hansen et al. 2010), so to remove this bias we
trimmed the initial 13 bases from the reads. Certain specific sequence motifs can produce false
positive base call errors in Illumina data (Minoche et al. 2011; Allhoff et al. 2013) and assemblies
using more than 60 million reads have been shown to accumulate errors in highly expressed genes
(Francis et al. 2013). We adopted the strategy described in to remove systematic read errors and
reduce read redundancy. Briefly, read errors were removed with the reptile error correction
pipeline (Yang et al. 2010) using the following parameters after an initial optimisation run:
kmerLen = 14, T_expGoodCnt = 2, T_card = 1, MaxBadQPerKmer = 6, Qlb = 67. Reads were
then in silico normalised using, normalize-by-median.py with –C 20, -k 20 and –x 4e9 set as
parameters, obtained from the khmer package (git://github.com/ged-lab/khmer.git)(Brown et al.
2012) which also requires screed (git://github.com/ged-lab/screed.git). The resulting errorcorrected and normalized reads were used to create a de novo assembly using the Trinity pipeline,
r20140413p1 (Grabherr et al. 2011), with the default settings.
2
The non-normalised pooled set of reads were then mapped back to the de novo assembled
transcripts using bowtie2 v2.1.0 (Langmead & Salzberg 2012) and abundance estimated using
RSEM v1.2.14 (Li & Dewey 2011). We filtered out any transcripts with less that 1% of the pergene expression level using a script bundled with Trinity. These transcripts with low support are
likely to be erroneous transcripts and assembly artifacts. Coding sequences (CDS) were predicted
from the filtered transcripts using TransDecoder (http://transdecoder.sourceforge.net) to identify
the longest CDS for a transcript.
Functional Annotation
Functional annotation was conducted using the Trinotate pipeline (http://trinotate.sourceforge.net).
First, BLASTx and BLASTp searches of the filtered transcripts against the UniProtKB/Swiss-Prot
database were conducted with blast v 2.2.26+ (Camacho et al. 2009), with an evalue cutoff of 1x
10-3. The presence of signal peptides and transmembrane domains were predicted with SignalP
v4.1 (Petersen et al. 2011) and TMHMM v2.0c (Krogh et al. 2001), respectively. The resulting
outputs were loaded into an SQLite database, eggNOG (Powell et al. 2012) and Gene Ontology
(GO) (Ashburner et al. 2000) terms were annotated to BLASTp matches and a master annotation
file was extracted. Reciprocal BLASTn searches of our assembled transcripts and the transcripts
assembled by (Nourisson et al. 2014; Arthofer et al. 2015) were conducted to identify orthologous
sequences between R. marina muscle and liver transcriptomes.
Read library mapping, ERCC diagnostic performance and digital gene expression analysis
The filtered transcripts set containing full and partial ORFs were used in the reference
transcriptome to avoid skewing the expression quantification estimates with non-coding,
fragmented and erroneous data along with transcript sequences for the 92 ERCC RNA spike-ins.
Quality filtered reads from each individual sequencing library (20 R. marina samples in total)
3
were mapped to the reference using Bowtie and fragment abundance estimations, as read counts,
were produced with RSEM. RSEM quantified expression counts were filtered for lowly expressed
genes, with these removed when they had < 1 count per million reads (CPM) in n=10 or fewer
libraries (where n is the smallest number of replicates per treatment). These genes have too low an
expression to be detected as significantly differentially expressed between the two regions (East
and West) and their inclusion reduces the power to detect other differentially expressed genes
(Anders et al. 2013).
To evaluate the technical performance of the differential expression experiment, expression values
of the ERCC RNA spike-in ratios (mix 1 vs mix 2) contained within each individuals sequenced
library were analysed using the erccdashboard R package (Munro et al. 2014). This program
cannot compare both ERCC mix types within both regions concurrently. We therefore chose to
examine experimental performance between the regions using mix1 samples from the West and
mix 2 samples from the East as this aligned with our predicted gene expression differences and
designed ERCC ratio fold-change differences. Diagnostic performance was evaluated with
Receiver Operator Characteristic (ROC) curves and the Area Under the Curve (AUC) statistic,
lower limit of differential expression detection estimates (LODR) and expression ratio variability
and bias. These measures are based on the intrinsic ERCC transcript abundances that were added
to the samples before sequencing and these external controls are essential to understand the
validity of digital gene expression experiments. An AUC statistic of 1 represents prefect ability,
while an AUC of 0.5 represent no reliability when calling differentially expressed genes. CPM
filtered read counts for the ERCC sequences and reference genes were used as input for
erccdashboard, with the number of mapped reads per sample used as normilisation factors and the
following parameters: erccmix="RatioPair", erccdilution=1/100, spikeVol=2, totalRNAmass=1.
These parameters result from the amount, type and dilution of the ERCC ratio mixes added to each
4
sample (Table S1). The diagnostic performance metrics were used to set our acceptable false
discovery rates and p-values for calling endogenous differentially expressed genes.
We used the BioConductor tool edgeR (Chen et al. 2014) in R (R Development Core Team 2011)
to identify endogenous differentially expressed genes between the two range-edge (West)
populations and the two core (East) populations. We adopted the classic approach for the
comparison of two groups, East and West regions. CPM filtered counts were then TMMnormalized (Trimmed mean on M-values) (Robinson & Oshlack 2010), to account for library size
and expression bias between replicates. The quantile-adjusted conditional maximum likelihood
method was used to estimate dispersions and the exact test was used to call differentially
expressed genes corrected for false discovery rate p < 0.05. We utilized scripts packaged with
Trinity for further filtering of differentially expressed genes identified with edgeR, including
filtering differentially expressed genes based on ERCC derived threshold p-values (p < 0.001) and
minimum fold change (FC > 2; see Supplementary Results for ERCC metrics upon which these
values were based), and for building MA plots. This provides a conservative cut off for evaluating
significant differential gene expression between the range edge and core. The values chosen are
based upon the intrinsic gene expression differences between the regions and are supported by the
addition of true and false positives for the expression ranges provided by the ERCC controls (see
Munro et al. 2014).
Gene ontology enrichment analysis
We used enrichment analysis to identify whether functional categories associated with an a priori
suite of genes (those from the reference set used for assembly) contain more differentially
expressed genes for each region than expected by chance. To account for the transcript length
heterogeneity usually found in RNA-Seq data, which can bias enrichment analysis, we adopted the
goseq method (Young et al. 2010), which is available as a BIoconductor R package. We extracted
5
the Gene Ontology (GO) categories (Biological Process, Molecular Function and Cellular
Component) for genes from the de novo assembly Annotation Metatable (Table S4). Each set of
GO categories for differentially expressed genes from the West and East regions comparison were
assessed for enrichment compared to the reference set of GO categories when controlling for
transcript length. Enrichment was determined using a Benjamini-Hochberg corrected p-value <
0.05. Significantly enriched GO categories were plotted using REVIGO (Supek et al. 2011) with
the SimRel semantic clustering of similar GO functions when using the whole UniProt database to
source annotations.
Supplementary Results
De novo assembly
A total of 359,563,284 Illumina HiSeq reads were generated for the 4 samples used for de novo
assembly. After trimming adaptors, the initial 13 bp of each read, quality filtering and digital
normalization, 18,713,526 reads remained. These were assembled with Trinity into 82,411
transcripts representing 69,136 trinity components with an N50 of 1,604 bases. Abundance
estimates for each transcript were generated by mapping the non-digitally normalized reads back
to the assembly; transcripts with low read support were filtered out. This filtering removed 24,831
transcripts leaving 57,580 transcripts with an improved N50 of 1,871 bases (Table S2). When
compared to a previous R. marina transcriptome assembly from liver tissue (Nourisson et al.
2014; Arthofer et al. 2015) our assembly has a similar N50 value but higher median and average
contig lengths.
Functional Annotation
We predicted 19,751 peptide sequences from the filtered assembly of which 11,693 were predicted
to have a complete CDS. In total we identified 21,533 transcripts with a significant BLASTx
match (compares all 6 open reading frames of the nucleotide query sequence against the protein
6
database) and 16,754 transcripts with BLASTp matches (compares predicted protein sequences to
the protein database) to proteins in the Swiss-Prot database (Table S3, Table S4). Transcripts
without significant matches to the database could be from untranslated regions, non-coding RNAs,
lack a protein domain, derive a protein that has no functional annotation or is not contained within
the database. Signal peptides were predicted in approximately 2 % of transcripts while we
identified transmembrane helices in 5.2 % of transcripts. We mapped Gene Ontology (GO) terms
to 19,500 transcripts covering biological, cellular and molecular functions.
We conducted a reciprocal BLASTn search of our assembled transcripts to those previously
assembled for R. marina liver tissue and identified 28,790 orthologous transcripts (Table S5). This
constitutes one of our muscle transcripts having a best match to a liver transcript where that liver
transcript conversely has a best match to the same muscle transcript. As such, the annotations
provided here can also serve as putative annotations for the orthologous liver transcripts, which
currently have no functional information.
Sequencing and read mapping for the range edge versus core regions
Sequencing of cDNA libraries yielded between 68.8 and 97.6 million reads per sample (Table S1).
After adapter trimming and quality filtering of reads we obtained between 38.3 and 54.5 million
reads per sample that still contained both paired reads. All reads that passed this filtering step had
average Phred scores > Q30, which corresponds to a base call accuracy of > 99.9 %. Between
90.01 % and 93.59 % of reads mapped to the combined 57,580 assembled and 92 ERCC
transcripts. Expression was quantified as counts per million mapped reads (CPM) and transcripts
from the reference set were filtered out when they had a CPM < 1 in n=10 or more samples across
both regions. This resulted in expression estimates used for differential expression analysis for a
total of 19,569 assembled transcripts.
7
Assessment of technical and diagnostic performance
We assessed the diagnostic capabilities of the experiment by comparing the expression estimates
of the assembled and ERCC transcripts between both the regions (see Methods and Munro et al.
2014 for more details). We are reliably able to detect gene expression differences across a
dynamic range of just under 215 (Fig. S1a). This is less than the range of 220 for which the ERCC
ratios are designed to detect, meaning we have insufficient evidence to quantify ERCC expression
at low abundances. Comparison between the ERCC ratio signal vs average signal indicates a
reasonably large variation in the ERCC ratio measurements as a function of dynamic range
(Log(rm) 0.86 ± 0.22 weighted SE, Fig. S1c). This indicates a difference in the mRNA fractions
between the samples containing mix 1 and mix 2, which could arise through technical variability
between sample cDNA library construction or from endogenous differences in the fraction of
genes expressed between the samples. The ROC analysis showed our data and analysis had high
power to detect real endogenous differential gene expression as indicated by AUC statistics
ranging between 0.91 and 1 for the 3 ratios showing differential expression (Fig. S1b). As
expected, our diagnostic power increases with an increased fold change. The LODR analysis
indicates that we can reliably detect expression differences as true positives at a threshold p-value
< 0.05 for 2- and 4-fold changes (Fig. S1d). Based on these metrics we set a minimum fold change
threshold of 2 and a p-value threshold of 0.001 for filtering endogenous differential expression.
This criterion was adopted to account for any potential bias between the mRNA fractions of
samples, reduce the occurrence of potential false positives and limit the analysis to those genes
most significantly differentially expressed between the regions.
Differential gene expression between the range edge and range core regions
A pairwise comparison of CPM-filtered gene expression estimates for toads from the range edge
(West) versus the range core (East) regions revealed a total of 3,449 significantly differentially
expressed genes at an FDR of 0.05. When filtered based on our ROC/AUC and LODR metrics (p
8
= 0.001 and > 2-fold change), we retained 621 significant differentially expressed genes. Of these
479 were up-regulated in the Western region and the remaining 142 were down-regulated in the
West compared to the Eastern range core (Fig. S2).
9
Literature cited
Allhoff M, Schönhuth A, Martin M et al. (2013) Discovering motifs that induce sequencing errors. BMC
bioinformatics, 14 Suppl 5, S1.
Anders S, McCarthy DJ, Chen Y et al. (2013) Count-based differential expression analysis of RNA
sequencing data using R and Bioconductor. Nature Protocols, 8, 1765–1786.
Arthofer W, Banbury BL, Carneiro M et al. (2015) Genomic Resources Notes Accepted 1 August 2014-30
September 2014. Molecular ecology resources, 15, 228–229.
Ashburner M, Ball CA, Blake JA et al. (2000) Gene ontology: tool for the unification of biology. The Gene
Ontology Consortium. Nature genetics, 25, 25–9.
Brown CT, Howe A, Zhang Q, Pyrkosz AB, Brom TH (2012) A Reference-Free Algorithm for
Computational Normalization of Shotgun Sequencing Data. , 1–18.
Camacho C, Coulouris G, Avagyan V et al. (2009) BLAST+: architecture and applications. BMC
bioinformatics, 10, 421.
Chen Y, Mccarthy D, Robinson M, Smyth GK (2014) edgeR : differential expression analysis of digital
gene expression data User ’ s Guide.
Francis WR, Christianson LM, Kiko R et al. (2013) A comparison across non-model animals suggests an
optimal sequencing depth for de novo transcriptome assembly. BMC genomics, 14, 167.
Grabherr MG, Haas BJ, Yassour M et al. (2011) Full-length transcriptome assembly from RNA-Seq data
without a reference genome. Nature biotechnology, 29, 644–52.
Hansen KD, Brenner SE, Dudoit S (2010) Biases in Illumina transcriptome sequencing caused by random
hexamer priming. Nucleic acids research, 38, e131.
Krogh A, Larsson B, von Heijne G, Sonnhammer EL (2001) Predicting transmembrane protein topology
with a hidden Markov model: application to complete genomes. Journal of molecular biology, 305,
567–80.
Langmead B, Salzberg SL (2012) Fast gapped-read alignment with Bowtie 2. Nature methods, 9, 357–9.
Li B, Dewey CN (2011) RSEM: accurate transcript quantification from RNA-Seq data with or without a
reference genome. BMC bioinformatics, 12, 323.
Martin M (2011) Cutadapt removes adapter sequences from high-throughput sequencing reads.
EMBnet.journal, 17, 10.
Minoche AE, Dohm JC, Himmelbauer H (2011) Evaluation of genomic high-throughput sequencing data
generated on Illumina HiSeq and genome analyzer systems. Genome biology, 12, R112.
Munro SA, Lund SP, Pine PS et al. (2014) Assessing technical performance in differential gene expression
experiments with external spike-in RNA control ratio mixtures. Nature communications, 5, 5125.
Nourisson C, Carneiro M, Vallinoto M, Sequeira F (2014) Data from: “De novo transcriptome assembly
and polymorphism detection in ecological important widely distributed Neotropical toads from the
Rhinella marina species complex (Anura: Bufonidade)” in Genomic Resources Notes Accepted 1
August 2014-30 September. Molecular Ecology Resources.
Petersen TN, Brunak S, von Heijne G, Nielsen H (2011) SignalP 4.0: discriminating signal peptides from
transmembrane regions. Nature methods, 8, 785–6.
Powell S, Szklarczyk D, Trachana K et al. (2012) eggNOG v3.0: orthologous groups covering 1133
organisms at 41 different taxonomic ranges. Nucleic acids research, 40, D284–9.
R Development Core Team R (2011) R: A Language and Environment for Statistical Computing (RDC
Team, Ed,). R Foundation for Statistical Computing, 1, 409.
Robinson MD, Oshlack A (2010) A scaling normalization method for differential expression analysis of
RNA-seq data. Genome biology, 11, R25.
Supek F, Bošnjak M, Škunca N, Šmuc T (2011) REVIGO summarizes and visualizes long lists of gene
ontology terms. PloS one, 6, e21800.
Yang X, Dorman KS, Aluru S (2010) Reptile: representative tiling for short read error correction.
Bioinformatics (Oxford, England), 26, 2526–33.
Young MD, Wakefield MJ, Smyth GK, Oshlack A (2010) Gene ontology analysis for RNA-seq:
accounting for selection bias. Genome biology, 11, R14.
10
Fig S1 (next page). ERCC technical and diagnostic plots produced by the erccdashboard. Each sample
type contained n=10 biological replicates. A) Signal-abundance plot, points are coloured by ratio sub-pool,
shape represents the sample type, and error bars denote the standard deviations of the replicates. B) ROC
curves and AUC statistics for each group of true-positive ERCC controls (detected = the number of
controls used and spiked = the total included in the ERCC control mixture. C) MA plot of ERCC ratio
measurement variability and bias. Coloured data points represent the mean ratio measurement per ERCC
transcript, error bars the standard deviation of the replicates ratios, and filled circles are ERCC ratios above
the LODR estimates. Grey points denote endogenous transcript ratio measurements. Nominal ERCC ratios
for each sub-pool are annotated with coloured solid lines, dashed lines represent the adjusted ratios based
on the estimate of mRNA fraction differences between the samples, rm. D) LODR estimates are indicated
by coloured arrows for each fold change that crosses the threshold p-value, the black dashed line denotes
the threshold p-value derived for the chosen FDR. LODR results and bootstrap confidence interval are
provided in the table below the plot.
11
A
B
Sample
1.00
mix1
mix2
10
Ratio
4:1
1:1
0.75
1:2
Ratio
TPR
Log2 Normalized ERCC Counts
1:1.5
5
0
4:1
0.50
1:1.5
1:2
−5
0.25
−10
Ratio
AUC
Detected
Spiked
4:1
1.000
15
23
1:1.5
0.907
14
23
1:2
0.964
15
23
0.00
0
5
10
15
20
0.00
Log2 ERCC SpikeAmount(attomol nt/mg total RNA)
0.25
0.50
0.75
1.00
FPR
C4
D
Weighted Mean (+/−) Weighted Standard Error
log(rm)
0.8609
1e+00
0.2236
3
1e−01
DE Test P−values
Log2 Ratio of Normalized Counts
2
1
0
1e−02
1e−03
●
●
−1
●
●
●
●
●
●
●
●
●
1e−04
●
●
●
●
●
●
●
●
●
−2
●
●
●
●
●
●
● ● ●●
● ● ●●
●
●
●●
●●
●
● ●●
●
●●● ●
● ●
●
●
●●
●
●● ●
●
● ●
Ratio
●
●
●
●
4:1
●
●
●
●
●
●
●
●
●
●
●
●
1:1
●
●
1:1.5
●
1:2
●
Ratio
10
−3
1000
Average Counts
4:1
1:1
1:1.5
1:2
−4
●
● ●●
●
●
−10
−5
0
5
Log2 Average of Normalized Counts
10
Ratio LODR Estimate 90% CI Lower Bound 90% CI Upper Bound
4:1
7.1
<1.1
1:1.5
Inf
NA
8.1
NA
1:2
2100
79
4100
12
Fig. S2 MA plot of differentially expressed genes identified between the range-core and range-edge. For
each gene the log2 fold-change (y-axis) is plotted against the average log2 expression (x-axis) in counts per
million mapped reads. Each dot represents a transcript and significant differential expression is indicated as
red dots with at most 0.05% FDR. The blue line denotes a 2-fold change in expression.
●
●
●
●
●
●
●●
●
●
●
● ●
4
●
●
●
●
●●
●
●
● ●
●
●
2
0
●
●
●●
● ● ●
●●
●●
●
●
●
●
●●
●
●
●
●
●●
●
● ● ●
●
●
●
●
●
●●
●
●
●
● ●
● ●
●●
●●
● ●
●●
●
●● ●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
● ●●
●
●●
●
●
●●
●●
●
●
●
●
●●
●
● ● ●● ●
●
●
●
●
●
●
●
●●
●
● ●● ●●●
●●
●●
● ● ●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●●●●
●●
● ●
●
●
●
●
●● ● ●
● ● ●
●
●
●●
● ● ● ●● ●
●
●
●
●
●
●●
● ●
● ● ● ● ●● ● ●
●
●●
●
●
●
● ● ●●●●●
● ●●
●●
●
●
●●
●
●
●
●
●
●
●●
●
● ●● ● ●● ●
●●
● ●
●
●●
●
●
●
● ●
●●
●
●
●
● ●●
● ● ● ●●
●
●● ● ●●● ● ●
●
● ●
●●● ●● ●●●●●
●
●
● ● ● ●●●●● ●●
●
●● ● ●
●
●
●
●
● ●●●● ●●●
●
●
● ● ●
●
●● ●
●
●●
● ●●● ●● ●● ●● ● ●
●●● ●●
●
●●
●
● ● ● ●●● ●● ● ●
● ●
● ●●● ● ●
● ●
●●● ● ● ●
●●
●
●
●● ●
●● ●● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●● ● ●● ● ●● ●
●
● ● ● ● ● ●
● ●
●
●●
● ● ●●
● ●
●
● ●● ●● ●●● ●●●●●●●● ● ● ● ●● ●●● ●●
●
●● ● ● ●● ● ●
● ●● ●●●● ● ●● ●●● ●●
●● ●●●●●● ●●●●●●● ● ●
● ●●
●
● ●● ●●
● ●
●
●●
●●
●●● ● ●●●●●●
●●●
● ●● ● ●● ●●●
● ●● ●
●●● ●●●●●●●● ●● ● ●● ●
●
● ●●
●
●
● ● ●●●● ●●
●●●●● ●
● ●●●●
●
● ● ● ● ● ●●●●●● ● ●
●●● ●
●●●●● ● ●
●●
●●
●
●●●●
●●
●●●●
●
● ● ●●● ●
● ●●● ●● ●● ● ● ●●
●● ●●
●● ●●
●
● ● ●● ●●●
●●
●
●●●●●●●● ●●●
●●●●●●
●●●● ●●●●●●
●● ●●●
●●
●● ●● ●
●●
●●●●●● ●●
●● ●
●
●●●●● ●
●● ●
● ● ●● ● ●●● ●
● ●●●
●
●
●
● ● ●●●●●
●
● ●● ●●
● ●●● ●●
●● ●●●●●●
●●●
●●●●
●
●●●
●● ●
● ● ●● ●●●● ●
●● ●
●●●●
●●●●●●● ●●●●
●●●●
●●●● ●●●● ●
●●●
●
●● ●
●●●●●●● ●●●●●●
●●● ●
●●
●
●
●
●
●
●
●●● ●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ● ●● ●
●●●● ● ● ●● ●● ●● ● ●● ●● ●
●●●●
●●●●●●
● ●
●●●●●
●●
●●
●
●
●●
● ● ●●●● ●●●
● ●●●●●●●●
●● ●
●●
●●
● ● ● ●● ● ● ● ●
●
●
●●●●●●●●●●●●●●●●●●●●● ●●
●●
●●●
●●●●● ●●●
●●●●●
●●●●●●
●●
●
●●
●●●
●
●●
● ●
● ●● ●●
●
● ● ●● ●●●● ●
●●●●●●●
●●●●●
●
●●
●●● ●●●●● ●●
●●●
●
● ●●●●●●●
●●●● ●
●
● ●
● ●●●
●●●
● ●●●●●●●●●●●●●
●●
●●●●●●
●●●●
● ●●●●●●●
●●● ● ● ● ●
●●●●
●●●●
●●●●●●●●●●
●●●●●
●● ●
●●
●
●
●
●●●●
●●● ●●
●●●
●●
●●
●●●●
●
●●
●●
●
●
●● ●●●●
●●
●
●
● ●●●
● ● ●●● ● ● ●● ● ● ● ● ● ●
●●
●
●●
●
●●●●
●●●● ●●
●●●
●●●●●●●●●●● ●●●●●●
●●●●●●●●●
●●
●●●● ●●
●●
●●
●●
●
●
●●●●
●● ●●●
●
●
●
●
●
●●
●●●
●
●●
●●●
●
●
● ●●●●
●
●●●
●
●
●●●●
●
●
● ●●●●●●●●●●
●●
●
●●
●●●
●
●●●
●
●●●●
●●
●●
●●●●●
●●
●
●
●●
●●●
●
●●
●●
●
●
●●
●●
●●
●●●●●
●
●●●
●●
● ●●
●
●●
●
●●
●●●●●●●●
●
●
●
●●●●
●●
●●
●●●
●
●
● ●●●
●
●
●●●
●●●●●●●
●●●
●
●
●●●
●●●● ●●●
●●
●
●●●
●●
●●
●●●
●
●●
●
●
●
●
●●●●
●●●●●
●
●
●●
●●●
●●
●
●
●●
●●
● ●
●● ●●
●●●
●●
●● ●
●●●●● ●●
●●
●●
●●●●
●
●●●
●●
●●
●●
●●●
●●●
●●
●●●●●●
●
●●●●
●●●
●●
●
●●
●●
●●●●●
● ● ● ●● ●●●●
●●
●
●●
●
●
●●
●
●
●●
●
●●●
●
●●●●
●●
●● ●●●
●●
●●
●
●
●
●●●
●
●
●●●
●
●●●
●●
●●
●
●●●●
●●●●●●●
●●●●
●
●
●
●●
●●
●
●●● ●●●●
●
●●
●●●●●
●●●
●●●●●●●●
●
●
●
●●●●●●●
●●● ● ●
●
●
●●●
●
●
●
●●
●●
●
●●
●●●
●●●
●●
●●
●●●
●●
●●
●●●●●●
●●
●●
●●
●
●
●●●
●● ●●● ●●●
●
●●●
●●●
●●●●●
●●●
●●
●●●
●
●
●
●
●
●●●●
●●
●●
●
●
●●
●
●●●
●●
●
●●●●
●
●
●●●
●●
●●●●●●
●●●
●●
●●●●●●
●
●
●●●●●
●●●●
●
●
●
●
●
●●●●
●●
●●
●
●●●
●●
●
●
●
●
●●
●●●●
●
●
●●
●●
●●●
●
●
●●●
●●●
●
●●
●●●
●
●●●●●●●● ●● ● ●●●●●● ●● ● ●
● ●●●
●
●
●
●●●●
●
●●
●
●● ●● ●● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ● ●●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●●●
●●●●●●●●
●
●●●●●●●●●●●●
●●●
●
●●●●
●
●●●
●●●
●
●●●
●●●●●●●●
●
●●●●●
●●●
●
●●●●
●●●●●●●
●●●●
●● ●● ●
●●
●
●●●
●●●●
●
● ● ●●●●●●●
●●●●●●●
●● ●
●●
●●
●
●●●●●●
●●
●
●
●
●●●●●●
●●
●●●●
●
●●●●
●
●●
●●
●
●●●
●●
● ● ●● ●●●●●●
●●●●●
●
●
●●●●●●
●●
●●
●
●
●
●●
●
●●
●●
●●●●
●●●
●
●
●
●●
●
●●●●●
●
●●●
●
●
●
●●
●●
●●
●●●
●
●
●
●
●●
●
●●●
●
●
●
●
● ●●●●● ●
●
●
●
●●●
●
●●
●
●
●●
●
●●●
●●●●●●●●● ●●
●
●
●
●
●
●●
●
●●●●●
●●●●●●●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●●
●●
●●
●● ●●●●●●
●●●●●●
●●●● ●●●●
●●
●●
●●
●●
●
●
●●
●
●●●●●
●●●● ●
●●●●●
● ●
●●
●
●
●●●●●●●
●●
●
●●
●
●
●
●
●●●
●
●●●
●
●●●●
●●
●●●
●●●●●
●● ●●
●
●●●●
●●
●
●
●
●●●
●
●
●
●
●●●●●
●
●
●●
●●
●●
●●
●
●●
●
●
●
●
●
●●
●●●
●
●●●●
●●
●●
●●
●●
●●●●
●●
●
● ●
●
●
●●●
●●
●
●
●●
●
●
●●
●
●●
●
●●
●
●●●
●●● ●
●
●●
●
●●
●
●
●
●
●
●●●●
●●●● ●●● ●●●●● ●● ●● ● ●
●●●
●
●●
●
●
●●
●
●
●
●
●●●
●
●
●●
●●●●●●●●●
●
●
●●
●
●
●●●●●●
●
●
●
●
●●
●
●●●
●
●
●
●●
●
●●
●
●
●●
●●
●●
●●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●●
●
●●
●●
●
●
●
●●●
● ●●●
●
●
●
●●
●
●
●
●
●
●
●
●●●●
●●
●
●
●
●
●
●
● ●●●●●●●●
●●
●
●●
●●●●●● ●●
●●
●
●
●●●
●●
●●
●
●
●
●●
●
●
●
●●
●● ●● ● ●
●●
●●
●●●
●●
●
●●●
●●●
●● ● ●
●●
●
●
●
● ● ●
●
●●
●
●●
●
●●●●
●
●●●● ● ●
●●
●
●
●●●
●
●
●
●
●
●
●●
●●
●●●
●●
●
●
●●
●
●●●●●
●
●
●●
●
●●●●
●●●
●●
●
●●
●
●
●
●●●
●
●
●
●●
●●●●
●
●
●●●●●
●
●
●●
●
●
●●●●
●●
●
●●
●
●●●●
●●●
●●●●
●
●●
●●
●
●●
●
●
●
●●●
●●
●
●
●●
●
●
●●
●
●
●●
●●●
●
●●
●●
●●
●●
●
●
●●
●
●
●●
●●●
●●
●
●●
●
●
●
●●
●●
●
●
●●
●
●
●
●
●●
●●
●●●●
●
●●
●
●
●●●●
●●
●
●●●● ●●●●●●●●
●
●
●●
●
●
●● ●●●
●●
●●
●
●●
●
●●
●
● ●●
●
●
●
●
●●●●
●
●●
●
●●●● ●●●
●●
●
●
●●●●
●
●
●●
●●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●●
●
●●
●
●●
●●●●●●●●●
●
●
●
●●
●●
●
●
●●
●●
●●
●●
●
●●
●●
●
●●
●●●●
●●
●
●
●
●●
●●
●●●●
●
● ●●
●
●●
●
●
●●
●●
●
●
●●●
●●
●●
●●●
●●●
●
●
●●
●●
●
●
●●
●●●●● ●●●●● ●●●●●
●
●●
●
●●
●●
●
●
●●
●
●
●●
●
●●●
●●
●
●
●
●
●
●●●●●
●●●
●
●
●●
●
●
●●●
●
●
●
●
●●●
●●●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●● ●
●
●
●●
●
●●●●
●
●
●●●●
●
●●
●
●●●
●●●
●●
●
●
●
●
●●
●●●●
●●●●● ●●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●●
●
●●
●
●●
●
●
●
●●
●●
●
●
●●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●●
●●
●
●
●●●
●●
●●
●
●●●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●●●
●
●
●
●
●●
●
●
●
●
● ● ● ● ● ● ● ●●
●
●
●●
●
●
●
●●
●
●●●●
●
●
●
●
●●
●●
●
●
●●
●
●●
●
●●●
●●●●
●●
●
●
●●
●
●
●
●
●
●●●
●
●
●
●
●
●●●
●●
●
●
●●
●
●●
●
●●●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●●●
●
●●●●●●●●
●
●
● ● ●
●
●●
●●
●
●●
●●
●●●●●
●
●
●
●
●
●
●
●●●●
●●
●
●●
●
●●
●●●●●●
●●
●
●●
●●
●
●
●●
●
●●
●
●●●
●●
●
●
●
●
●●●●
●
●●●
●●
●
●●
●
●
●
●●
●
●●
●●
●
●
●●●
●
●●
●●
●●●● ●●●
●
●
●
●●●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●●●●●
●
●
●
●
●
●
●
●
●●●
●
●
●●●●● ● ●● ●●● ●
●●
●
●●
●●
●●
●
●●
●
●●●●●●
●
●
●
●
●●
●●●
●
●●
●●
●
●●
●
●
●●
●
●
●
●
●
●
●●●●
●
●
●
●
●
●
●
●●
●●
●●●
●●●●●●●
●●● ●
●
●●
●●
●
●●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●●
●●
●●
●
●●
●
●●
●●
●
●●
●●●
●
●
●●
●
●●●
●●●●●●●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●●
●●
●
●●
●
●●●
●
●
●
●
●●●●
●
●
●●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●●
●●
●●
●●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●
●●
●
●
●
●●● ●●●●●
●
●
●
●
●
●●●●
●
●
●
●
●
●●
●
●●●
●
●●
●
●
●●
●
●
●●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●●
●●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
● ●●●●● ●● ●●
●●
●●
●●
●
●●
●●
●●
●●
●
●●
●●●
●●
●●●
●●
●●
●
●●●
●●
●
●
●●
●●●
●
●
●●
●
●●
●●
●
●
●●
●
●
●●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●●
●
●
●
●
●●●●●●●●
●
●
●●
●
●●
●
●●
●●●●
● ● ●● ●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●●
● ●●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●●
●
●
●
●●
●●●
●●
●
●●
●●●
●
●●●●
●
●
●
●
●
●
●●● ●●●
●
●
●●
●
●
●●●●
●
●
●●
●●
●
●
●
●
● ● ●●●● ●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●●
●
●
●●
●
●●●●●
●●●
●●●
●
●
●
●
●●
●●
●
●
●●●
●●
●●
●●
●●
●
●●●● ●● ● ● ●
●
●●
●
●●
●
●
●●●●
●
●
●
●
●●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
●●
●
●
●●●
●
●
●
●
●
●
●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●●●
●
●●
●
●
●●
●
●
●●
●●●● ●●
●●●
●
●●
●
●
●●
●●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●●●
●
●●● ● ●
●
●
●●
●●
●
●
●
●●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ● ●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●● ●●●●●●●●●●●●
●●● ●●● ●●
●
●●
●●
●
●●●●●●
●
●●●
●
●●
●
●
●
●
●
●●●●●●
●
●
●
●●
●●●●
●●
●
●
●●
●
●●
●
●●●
●●
●●●●
●
●●
●
●
●
●●●
●
●●●●
●●●●
●
●
●
●●
●●●●●
●●
●●
●
●●●●
●
●●●●
●
●●●●
●
●●●●● ●●●●
●
●
●
●●
●
●
●
●●
●●
●●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●● ●●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●●
●●
●●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●
●●
●
●
●●
●
●
●
●●
●
●●●●
●
●
●
●
●
●●
●●●
●
●●●●●●●●●●
●●●
●
●
●●
●
●●
●●●
●
●
●
●
●
●
●
●●
●
●●●
● ●
●
●
●
●
●
●
●
●●
●
●
●●●
●
●
●
●●
● ●
●
●●
●●
●●●●●
●●
●●●●● ●
●
●
●●●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
● ●●●●
●
●
●
●●
●
●●●
●●
●
●
●
●
●
●
●
●
●
●
●●●
●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●●●● ●
●●●●
●
●
●●
●
●●●
●
●
●
●●●●
●
●
●
●
●
●●
●
●●
●
●
●● ●
●●●●
●●
●
●
●
●
●
●
●●●●●
●●● ● ●●●
●
●
●
●
●
●●
●●
●●
●●
●
●
●●●
●
●
●●
●
●
●
●●
●●
●●
●
●
●
●●
●●
●
●
●
●●
●●
●●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●●●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●●
●●
●●
●
●●
●●
●●
●●
●
●●●
●●
●
●
●
●●
●●●●
●
●
●
●●●
●
●
●
●
●
●●
●●● ● ● ●● ● ●
●
●
●
●●
●
●●●
●
●
●●●
●
●
●●●
●●
●
●
●
●
●
●
●
●●
●
●●●
●● ●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●●
●
●●●
●
●●
●
●●
●●
● ● ●
●
●●
●
●
●●●
●●●
● ●● ●● ●●● ●
●
●●●
●
●
●
●●
●●
●
●
●
●
●●
●
●●●●
●●
●●●●●
● ●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●●
●●
●●●●●●
● ●
●
●
●●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●●
●
●●●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●●
●
●
●
●
●●
●●●
●●●●
●●
●
●●●
●
●
●●
●●
●
●
●●
●●
●●●
● ●●
●●●●
●●
●
●
●
●
●
●
●●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●●
●
●
●
●●
●
●●
●●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●●
●●
●●●●● ●●●●●●●
● ●● ●●●● ● ●● ● ● ● ● ●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●●
●●●●●
●
●
●
●
●
●
●●
●●
●●●
●
● ●●●●●● ●● ●●●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●●●
●●●●●
●
●
●
●●
●
●
●●●●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●●●
●●●
●
●● ●●●● ●●●●
●
● ●● ●●●● ● ●● ● ● ●
●
●●
●
●●●
●
●
●
●●●●
●●●
●
●●●●
●●●●
●
●
●
●●●
●
●
●●
●
●
●●●
●●
●●
●●●
●
●
●
●●●●
●●●●●●● ●●
●
●●●
●
●
●
●
●●
●
●●
●
●
●●●●●●
●●●●●
●
●●
●
●
●
●●
●
●●
●●
●●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●●●
●
●
●
●
●●
●
●●
●
●
●●
●●
●●
●
●
●●●
●●
●
●
●
●
●
●●
●●●
●●●
●
●●
●●
●
●
●●
●●●●●●● ●
●
●
●
●●
●
●●
● ●●
●
●
●
●●
●
●
●●●
●
●●●●
●●●●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●●●
●
●
●
●
●
●●●
●●
●●
●
●
●●● ● ● ●● ●● ●
●
●
●●
●●
●
●
●●
●
●●
●
●
●●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●●●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●●
●
●●
●
●●
●
● ● ● ● ●
●
●
●
●
●
●●
●
●
●●
●
●
●
●●●
●
●
●
●
●
●
●
●●
●●
●
●●
●●
●
●
●●
●●●●
●
●
●●
●
●
●
●
●●
●
●●●●● ●
●●●
●●
●
●
●
●
●
●●
●
●●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●●
●●
●
●
●
●●
●
●●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●●
●
●● ●●●●●●● ●●●●
●●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●●
●●●
●
●
●
●
●
●
●
●
●
● ●●●
●
●
●●
●
●
●
●
●
●
●●●●●
●
●
●
●
●
●
●
●●
●●●●●●●
●
●
●●●
●
●
●●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●● ●●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●
●
●●●●
●
●
●
●●
●
●●●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●●
●
●
●
●
●
●
● ●●
●●
●
●
●
●
●
●
●●
●●●
●●
●
●
●
●●●●
●
●
●
●
●
●
●
●
●●●● ● ●
●●
●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●●●
●
●●● ● ● ● ●
●
●
●
●
●●
●●
●●
●●
●●●
●●
●●
●
●
●●●
●
●●
●
●
●●
●●● ●●● ● ●●●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●●
●●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●●
●●●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●●
●●●● ●
●
●
●
●
●
●●
●
●
● ●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●●●●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●
●
●●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
● ● ●
●
●●
●●
●
●●
●●
●●●●●●●
●●
●●
●
●
●
●●
●
●
●●
●
●●
●
●
●●
●
●
●
●●
●
● ●●●●
●
●
●
●
●
●●●●
●
●
●
●
●●●
●
●●
●
●
●●
●
●
●
●●
●
●●●
●●
●●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●●
●
●●
●●
●●
●
●
●
● ● ●●●●●
●
●
●●
●
●
●
●
●●
●●
●
●
●●
●●
●●
●●●
●●●●
●
●●
●
●
●●
● ●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●●
●●●●
●
●
●
●
●
●
●●
●
●●
●●●●
●
●
●
●
●
●
●●
●●
●
●●
●●
●●
●●
●●
●
●
●
●●
●●
●
●●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●
●
●
●●●●●●●● ●●
●
●
●
●●●
●
●
●
●
●
●●
●
●
●
●
●●
●●●
●
●
●
●
●
●●
●●
●
●●
●
●
●●
●
●
●●●
●
●
●●●●
●● ●
●
●
●
●
●●●
●●●●
●●●●●
●●●● ●●●●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●●
●●
●
●●●
●
●
●●
●
●●
● ●●
●
●
●
●
●
●
●
●
●
●●
● ● ●●●●● ●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●●●
●
●
●
●
●
●
●●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●●
●
●
●
●●●
●
●●
●
●
●
●
●●
●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●●
●
●●
●
●
●●●●
●
●●
●●
●●●●
●
●
●
●
●
●
●
●●●
●
●●●●
●
●
●
●●
●
●●
●●
●●
●
●●●
●●●●
●●
●●
●
●●
●● ● ● ●●●● ● ●● ●
●
●
●
●●
●
●
●
●
●
●
● ●●
●
●
●
●●●
●
●
●
●
●
●
●
●●●
●●
●
●●
●
●
●●●
●●●●
●●
● ●
●
●
●
●
●
●●
●●●
●●
●●
●
●
●●
●●
●
●●
●
●
●
●
●
●
●●
●
●●●
●●●●
●
●●
●●●●
●●
●
●
●
●
● ● ●●●●●● ● ● ● ●
●●
●●●
●
●
●
●●
●
●
●
●
●
●
●●
●●●●
●
●●
●
●●
●●●
●●●● ●●●
●
●●
●
●
●
●●●
●
●
●
●
●
●
●●
●●●
●
●●
●
●
●●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●●
●●●●●●●
●
●
●
●
●
●
●●●●
●
●●
●● ●●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●
●●
●●●
●●
● ●●●● ●
●
●●
●
●
●
●
●●
●
●
●●
●
●●
●
●●●●
●
●
●●
●
●●
●
●
●●
●●
●●
●●
●●
●
●●
●
●
●
●
●
●●
●●
●
●●●●
●
●
●
●
●
●●
●
●●●
●●●●
●●●●
●●●●●●●
●
●●
●●●
●●
●
●
●
●●
●●●●●
● ●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●●●
●
● ●● ●
●
●●●
●
●●●
●
●●●
●●●● ●●●
●
●
●
●
●●
●●●
●
●●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●●
●
●
●
●●
●
●●●
●
●
●
●
●
●
●●
●●
●
●●
● ●● ●●
●
●
●
●●
●●
●
●●●●●●●●●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●●●●
●●●
●
●●
●●●●●●●
●
●●●●
●●
●
●
●
●●●
●●●
● ●●●
●●
●●
●
●●●
●●
● ●●●●
●
●
●●
● ●●●
●●●●
● ●●●
●●
●
●●
●
●
●
●●●
●●
●
●●●●
●●
●●●●
●
●
●
●
●●
● ●●●●●
●●
●
●●●
●●●
●●
●●●●
●
●
●●
●●
●●
●●
●●●
●
●
●●●
●●
●
●●●●●●
●●●●
●●●●●
●
●
●
●
●●
●●●●
●●
●
●●●
●
●●● ●●●●●●● ●●●●
●
●
●●
●●
●
●●
●●●
●
●
●
●●
●●
●
●
●
●
●●●
●
●●
●●●
●●
●
●●
●●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●●
●
●
●●
●●●●
●
●●●
●
●
●●
●
●●●●
●●●●● ●●●● ●
●●●● ● ● ● ●●● ● ●
●
●
●●
●●
●●
●
●
●●● ●●●
●●
●
●
●
●●
●
●●●
●●
●
●
●
●●●●
●● ●●●●●● ● ●●
●
●●
●●●
●●
●
●
●●●
●●● ●●●
●
●
●●
●●
●
●
●●●
●●
●
●●
●
●
●
●●
●●
●
●●
●●
●●●
●
●●
●
●
●●●
●
●
●
●
●●
●
●
●●●
●
●
●
●●
●●●●
●
●●
●
●
●●●
●
●
●
●
●
●
●●●
●
●
●
●
●●
●
●●
●●●●
●●●
●●
●
●
●●
●
●
●●
●
●
●●●●●●●●●●●●
●
●
●
●
●
●●
●
●
●
●●
●
●●
●●●●
● ●●●●●● ●●●●●●●
●
●
●●
●●
●●
●●
●
●
●
●
●
●
●
●●
●●●
●●
●
●●●●
●●
●●
●●
●●●
●●
●
●
●
●
●●
●
●
●
●●●
●●
●
●
●●●
●
●
●
●
●
●
●
●●
●
●●●
●●
●●
●
●
●
●
●
●●
●
●●●●●●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●●
●●●
●
●
●●
●●●
●●
● ●●●●
●
●●
●●
●
●
●●●
●
●●
●●●●
●
●
●
●●
●●●
●
●
●●●●●● ●●● ● ● ●
●●
●
●
●●●
●
●
●●
●●●
●
●●
●
●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●●
●●
●●
● ●●
●●
●
●●●●
●
●●● ● ● ●●● ●● ●
●●●●● ●● ●●
●●
●
●●
●●
●
●●●●
●
●
●●
●
●
●
●
●
●●●
●
●●
●
●●
●
●
●
●
●●
●
●●
●●
●●●●
●●●● ●●
●
●
●
●
●●●
●●●●●
●
●●
●●
●●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●●●
●
●●
●●●●●
●
●
●●
●
●●●●●
●●●
●
●
●
●
●
●
●●
●●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●●
●
●●
●●
●
●
●
●●
●●
●
●
●
●●
●●
●●●
●
●
●●●
●
●
●●●
●
●●●●●●●●
●
●●●● ● ●●
●●
●
●
●
●●
●●●
●●●●●
●●
●
●●●
●●
●●
●
● ●
●
●●
●
●
●●●● ●●● ●
●
●
●
●
●●
●●
●
● ● ● ●● ●●
●
●
●●
●●
●
●●
●●
●
● ●●●
●● ●
●
●●
●
●
●
●●●
●● ●
●
●
●
●
●●
●
●●
●
●
●●
●●●● ● ● ●●●●●
●
●
●
●●
●
●●●
●●●
●●
●
●●
●
●
●
●
●
●●
●●
●
●●●● ●●●●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●●●●
●
●●
●
●
●
●
●●
●●●
●●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●
●●
●
●●
●●●
●●
● ●●●●● ● ●●●●●● ●● ● ●
●●●
●
●●
●●●●
●●
●●●
●●●
●
●●●
●●●●●
●
●●
●●
●●●●●●● ●
● ●●●
●●●●●●●●
●●
●●●
●●●● ●●●●
●● ● ● ●
●●
●●
●
●●●
●●●●●
●
●
●●●●
●
●●
●●
● ●●
● ●●●● ● ●
●●
●●
●●
●
●●
●●●
●●
●
●●
●
●
●●●●●●●● ●●
●
●
●
●
●
●●
●●
●● ●
●
●●
●
●●●
●●●
●●
●●●●
●●●
●
●●
●●
●
●
●●
●
●●
●●
●●●
● ●● ● ● ●
●●
●
●●
●●
●
●
●
●●
●●
●●
●
●
●●
●
●
●
●
●●
●●●
●
●
●
●●●
●
●●●●●●
●
●
●
●●
●●●
●●●●
●
●
●●
●
●
●● ● ●●●
●
●
●
●
●●
●●●● ●●
● ●●●
●●
●●
●●●
●●
●●●
●●
●●●●
●●
●
●
●●
●
●●
●●
●
●
●●●●
●●
●●●●●
●●
●
●
●●●
● ●
●●●●
● ●●
●●
●●
●●
●
●●
●●
●
●●
●●
●●
● ●
● ● ● ●●
●●
●
●
●●
●●●●●●●●●●
●
●
●
●
●●●
●●
●●
●●●●
●
●●
●
●●●
●
●
●●
●●●●●●●●●
● ●● ● ● ●● ●
● ●● ● ●
●
●
●
●●●
●
●
●●
●●
●
●
●●●
●
●
●
●
●
●●●
●
●●●●●●
●●
●
●●
●●
●
●●●
●●
● ●●●
●●●● ● ●
●● ● ●
●
●
●●
●●
●●●●
●●●
●●●
●●●
●●
●●
●●
●
●●●
●●
●●
●●●
●
●●●● ● ●
●●
●
●●●●
● ● ●●●●
●
●
●
●● ●●●
●● ●●●●●●
●
●●●
●●
●
●●●
●
●●
●●●●
●●●
●
●
●
●●
●●●
● ●
●● ● ●● ● ●●●●●
●●
●
●●
●●
●
●●●
●●
●●
●
●●●●
●●
●●●
●●
●●
●●●
●●
●●
●●●
●●●
●●
●●
●
●●●
●
●
●●
●●●●
●●●●
●●
●●●
●●●
●●
●●●●●●
●●
●●●
●
●●
●● ●●●●●
●● ● ●● ●
●
●
●●●●●
●
●● ●
●●
●●●●●●
●●●●
●●
●●●●
●●
●●●
●●●
●●
●●●
●●
●
●
●
●●
●●●●
●●
●
●
●●
●
●●
●
●
●●●
●●
●●●
●●
●
●●●
●●●●●●●●●●●
●
●●
●
●●●
●●
●●●
●●
●
●
●●
●
●
●● ●
●●
●●
●
●●●
●●
●● ● ● ●
●●●
●●
●●
●● ● ●
●
●
●
●●●●
●
● ●●●●● ●●● ●
●
●●●●●●●●
●●●
●
●●● ●●●●
●●●●
●
●●●●
●●●
●
● ●●
●●
●●●● ●●
●
● ●
●●
●●
●●●
●●
●●
●
●
●
●●
●● ●●
●●●●
●
●●●●
●●●●●
●●
●●
●
●●
●
●●
●●●
●●
● ●●●●
●
●●
●
●●●
●●●●
●●
●●
●
●
●
●● ● ● ●
●●
●●
●●●●●
●●
●
● ●
●●●
● ●●●
●
●●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●●●
●●●●
●●●●
●
●●●
●●
●
●●
●●
●
●● ●●●● ●●●
●
●●●●●●
●●●
●●
●
●
●
●●
● ●●●
●
●
●
●●
●
●● ●●●●●●●●
●●●●●●
●
●●
●●
●●
●●●
●
●●
●●
●●
●
●
●●
●●
●●● ● ●●
●
●
●●
● ●●●● ●●●●●
●
●
● ● ● ●●
● ●●
●●
●●●
●
●●●●●●●
● ● ●●●● ●
●●
●●●●●●
●●●●
●●
● ●
●
●●●●
●●
●●
●
●●
●
●●●
●
●
●
●●● ●
●●
●●
●
●●●●●
●●●●
●●
●●
●●●●●●●●●
●
●
●
●●●●
●
●●●
●
●●●
●
●
●●
●●● ●● ●●●●
●●●
●
●
●●●●●●
●
●
●●
●
●
●●●●
●
●
●● ●●●
●●
●● ●
●●
●●
●●
●
● ●● ●●
●●●●●
●●
●●
●
●●
●●●●●●
●●
● ●●
●●
●
●●●●●●●●●●
● ●●
●
●●
●
●●●●
●●●
●
●
●●●
●
●●●●●●●
●●
● ●
●●●
●
●●●
● ●●●●●●●
● ●●● ●
●●●●●
●●●
●●●●
●●●●
●●
●●●●● ●●
●●
● ●●
●
●
●● ●●
●●●
●●
●● ● ●
●
● ● ● ● ● ●●
●● ●● ●●●●●
● ●
●
●
● ●●
●
● ●
●●●●
●●●●●
●●●
●
●●
● ●●●●
●●●
●
●●●●
●
●●●●●
● ●●
●
●
●● ●●
●●●
● ●●●● ●
●
●
●
●●●●
●
●
●
●
●
●●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●● ●●●●● ●
●●●● ● ●●●
●●
● ●● ●● ●●● ● ● ●● ● ● ●● ● ●● ● ● ●
●
●
●●●● ●●●●●●●●
●
●●● ● ●● ● ●●● ● ●● ●●●
●
●● ●
●●
●●●
●
●
●●
●
●●●
●
●●●●
●
●● ●●
●
●●
●●
●●●●●
●● ●● ●
●● ●
●●●●●●●●
●●● ● ●●●● ● ●● ● ●
●
●●
●●●●●●●● ●●●●● ● ●●●●● ●●●●●●●● ●●●
●●
●●●
●●●●●●●●●
●
●●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●●●● ●● ●●● ●●
● ●●● ● ● ●●●● ●● ●●
●●
●
● ●
● ●● ● ● ●●
●
●
●
●●
●
●● ●● ● ●
●●●
●
●
●●●●● ●
● ●●
●
●●●
●
●●●● ●●
●●●
●●●●●●●●●● ●● ●●●● ● ●●●
● ● ●●●●
●●
● ●●●●●
●● ●●●● ●
●●●
●
●●
●●● ●
●●●● ● ● ● ● ●
● ●
●●●
●● ●
●
●
● ●●●● ● ●●●●●●
●
●●
●●●●●
●● ●
●●●
●
● ● ●●●
●●● ●● ● ●●●● ● ● ● ●●
●●●● ● ●● ●● ●
●
●
●● ●●●●● ●●●
●●
●
●●●●●
●●
●
●
●●●
●
●● ●●●●●●●
●● ●● ●
●
●
●●
●● ● ●● ● ●●●
●
● ●
● ●●●
●●●
●●●●● ●●● ● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●● ●● ●●●●
● ●●●
● ● ● ● ●
● ●●● ● ●
●
●● ●● ●
●
●
●●
●
●
●
●
●●
●● ●●● ● ●●
● ● ●● ● ●
●● ●
●
●● ●● ● ●● ● ●
● ●
●
●●
● ● ● ● ●●
●
●
●● ● ● ●●●●
●● ● ● ●●
●●●● ●● ●●●●●●
● ● ● ● ● ●● ●●● ●●●
●● ●
● ●●●
●
●
●
● ●●
●●● ●
● ●●
●
● ●● ●●
●●●●● ● ● ● ●● ●●●●●● ● ● ●
●
●
● ● ● ●
●
●
●●● ●● ● ●
● ●
●
●
●
●
●●● ●
● ●●
●
●
●●● ●
●
●
●●●
●
●
●
● ● ●● ●
●
●
●●
●
●
●
●
●
●
● ●● ●●●● ● ● ●
●
●
●
●●●
●
●
●
●
● ●●
●
●
● ●●●●● ●●●
●●
●
●
●
●● ● ●● ● ●
● ●
●● ●
●
●
●
●
● ●
● ●● ●
●●
●●
●
●
●● ●●
●
● ●
●
●
● ● ● ●
●
●
●●
●
●●
● ●● ● ●
●● ● ●
●
●
● ●
●
●
●
●
●
●
● ●●
●
● ●
●
●
● ● ● ●
●
● ●
● ● ●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
−2
●
●
●
●
●
●
●
●
●
●
logFC
●●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ● ●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
0
5
10
15
Average logCPM
13
Download