Literature DB >> 24564449

Evaluation of read count based RNAseq analysis methods.

Yan Guo, Chung-I Li, Fei Ye, Yu Shyr.   

Abstract

BACKGROUND: RNAseq technology is replacing microarray technology as the tool of choice for gene expression profiling. While providing much richer data than microarray, analysis of RNAseq data has been much more challenging. To date, there has not been a consensus on the best approach for conducting robust RNAseq analysis.
RESULTS: In this study, we designed a thorough experiment to evaluate six read count-based RNAseq analysis methods (DESeq, DEGseq, edgeR, NBPSeq, TSPM and baySeq) using both real and simulated data. We found the six methods produce similar fold changes and reasonable overlapping of differentially expressed genes based on p-values. However, all six methods suffer from over-sensitivity.
CONCLUSIONS: Based on the evaluation of runtime using real data and area under the receiver operating characteristic curve (AUC-ROC) using simulated data, we found that edgeR achieves a better balance between speed and accuracy than the other methods.

Entities:  

Mesh:

Year:  2013        PMID: 24564449      PMCID: PMC4092879          DOI: 10.1186/1471-2164-14-S8-S2

Source DB:  PubMed          Journal:  BMC Genomics        ISSN: 1471-2164            Impact factor:   3.969


Background

The process by which information from a gene is used in the synthesis of a functional gene product is called gene expression. The process of gene expression is used by all known life including eukaryotes, prokaryotes, and viruses to generate the macromolecular machinery for life. Gene expression analysis is essential for biomedical research. The introduction of microarray technology has helped biomedical research make significant advances in the last decade by allowing high-throughput gene expression screening on all known genes. Recently, the introduction of RNAseq technology has had a revolutionary impact on the field of expression research. RNAseq refers to the use of next-generation sequencing (NGS) technologies to sequence cDNA in order to get information about a sample's RNA content. Compared to microarray technology, the RNAseq method offers several distinct advantages. First, the detection range of RNAseq is not limited to a set of predetermined probes as with microarray technology, so RNAseq is capable of identifying new genes. Second, the resolution of a microarray is limited to the gene level for most arrays and the exon level for specially designed exon arrays. On the other hand, RNAseq can detect expression at the gene, exon, transcript, and coding DNA sequence (CDS) levels. Finally and most importantly, RNAseq can detect structural variants such as alternative splicing and gene fusion. With the maturity of NGS technologies, the price of RNAseq has become comparable to microarrays. Many researchers have predicted the inevitable replacement of microarray by RNAseq [1-3] based on the competitive price and additional genomic information contained in RNAseq data. With the rich genomic information RNAseq technology brings, it also comes with complication in the analysis phase. To date, the research community has not yet come to a consensus on the best approach for analyzing RNAseq data. The most popular normalization method for microarray data is Robust Multi-array Average (RMA) [4], a form of quantile normalization. For RNAseq, one of the popular normalization methods is Reads per Kilobase per Million mapped reads (RPKM) [5] or Fragments Per Kilobase of transcript per Million mapped reads (FPKM) [6]. The RPKM of a gene is computed as follows: , where is the number of reads mapped to the gene, is the total number of reads mapped to all genes, and is the length of the gene. FPKM is computed similarly to RPKM, except it accounts for the scenario in which only 1 end of a paired-end read is mapped. In addition to RPKM and FPKM, other read count methods based on Possion, negative binomial, and Bayesian methods also exist. Each method has unique strengths and weaknesses. In this study, we focus on read count-based methods and systematically evaluate 6 RNAseq R packages including DESeq [7], DEGseq [8], edgeR [9], baySeq [10], TSPM [11] and NBPSeq [12] using both real and simulated data. BaySeq is considered an empirical Bayes approach to detect patterns of differential expression, DESeq and NBPSeq are based on a negative binomial model, DEGseq and TSPM are based on a Poisson model, and edgeR uses empirical Bayes estimation and exact tests based on the negative binomial.

Method

The real RNAseq datasets were selected from The Cancer Genome Atlas (TCGA) [13,14]. TCGA is a massive, comprehensive, and collaborative project to catalogue genomic data for over 20 types of cancers by the National Cancer Institute (NCI), the National Human Genome Research Institute (NHGRI), and 27 institutes and centers of the National Institute of Health (NIH). Gene expression profiling by RNAseq is one of the major components of genomic data collected by TCGA. Breast cancer is the only cancer type in TCGA that collected expression data on a large quantity of tumor-normal paired samples. Thus we selected breast cancer tumor-normal paired data (53 pairs) as our primary source of real RNAseq data. Differentially expressed genes between tumor and normal were identified using all six methods at the significance level of 0.05 with Benjamin-Hochberg False discovery rate (BH FDR) adjustment. To evaluate the consistency between the six methods, we computed pairwise Spearman's correlations as well as intraclass correlation (ICC) for fold change values of all genes, along with the corresponding p-values. In addition, we evaluated each method's running time. For each gene, the count is drawn from the negative binomial distribution with the mean and dispersion parameters estimated from the TCGA breast cancer dataset. For a given gene m, the fold change is calculated as where is drawn from the gamma distribution with shape parameter 0.87 and rate parameter 1.36 (parameters are estimated from the TCGA breast cancer dataset), is the lower bound of fold change, and We evaluated the methods using datasets simulated to present different scenarios corresponding to a given combination of the following parameters: sample size (5 or 10), proportion of differentially expressed genes (5% or 10%), ratio of up-regulated vs. down-regulated (1:1 or 3:1), lower bound of fold change (1.5 or 1.1), and lower bound of depth (5 or 1). A total of the seven most representative scenarios are shown in Table 1. For each scenario, 30 datasets were simulated from a negative binomial distribution. To evaluate the performance of the six methods, we calculated the number of genes that are significantly differentially expressed (N), the rate of false positives (FPR), and the rate of true positives (TPR) across 30 simulation datasets for each scenario. False discovery rate (FDR) at levels of 0.1, 0.05 and 0.01 were used as the cutoffs. In order to measure the overall performance, we also computed the area under the curve (AUC) across 30 simulation datasets under each scenario.
Table 1

Scenarios in the simulation comparison study

ScenarioSample sizeDE (%)Up/downLower bound of fold change Lower bound of depth
I10101:11.55
II2101:11.55
III1051:11.55
IV10103:11.55
V10101:11.15
VI10101:11.51
VII2101:11.11
Scenarios in the simulation comparison study

Results and discussion

We performed differential expression analysis on the 53 tumor-normal paired samples from TCGA using all six methods. Out of 16,146 genes, DEGseq identified the most number of significant genes at 15,226. That is, 94.3% of all genes were identified by DEGseq as statistically significantly differentially expressed between tumor and normal, which implies that DEGseq is over-sensitive. DESeq on the other hand identified the least number of differentially expressed genes with 7,171, which is still too many to be biologically plausible. NBPSeq, edgeR, TSPM, and baySeq identified 10,017, 10,457, 9,519, and 13,203 differentially expressed genes respectively (Figure 1). In terms of up-regulated genes vs. down-regulated genes, DESeq, edgeR, and NBPSeq identified more up-regulated genes, while TSPM and DEGseq identified more down-regulated genes. BaySeq does not provide fold change or test statistics, thus no direction of gene expression change can be determined through p-value alone. A unique characteristic associated with baySeq is that there is a randomization factor built into its computation model. Using baySeq to analyze the same dataset on same parameter settings twice will generate slightly different results. In our scenario, the difference can be as many as 100 genes.
Figure 1

Number of significantly differentially expressed up-regulated and down-regulated genes for each method.

Number of significantly differentially expressed up-regulated and down-regulated genes for each method. Next we computed the overlap of differentially expressed genes between methods for both up-regulated and down-regulated genes. BaySeq was excluded from this analysis due to its lack of directionality (Figure 2). For down-regulated genes, 2,521 were identified by the rest of five methods, and for up-regulated genes, 4,067 were identified by all five methods. DESeq, edgeR, and NBPSeq observed the fewest singleton genes (defined as genes identified by only 1 method) in terms of both up-regulated and down-regulated genes. TSPM observed a moderate number of singleton genes, and DEGseq observed the most, which is also a reflection of its over-sensitivity.
Figure 2

Venn diagram of the overlap in differentially up-regulated and down-regulated genes among five methods (excluding baySeq).

Venn diagram of the overlap in differentially up-regulated and down-regulated genes among five methods (excluding baySeq). We studied the relationship of fold change and p-value vs. identification frequency of significantly expressed genes detected by the six methods (Figure 3). As expected, genes identified by all six methods had a stronger signal (e.g., a higher fold change value) than genes identified by fewer methods. The singleton genes had the lowest fold change values (Figure 3 left). However, for p-value the pattern was not clear. No significant association between p-value and identification frequency was observed.
Figure 3

The relationship of fold change and p-value vs. identification frequency.

The relationship of fold change and p-value vs. identification frequency. We also tested the consistency among the six methods at overall significance levels. Pair-wise Spearman's correlation coefficient of fold change values was computed (Figure 4). Most correlation coefficients are very close to 1, which indicates that the six methods are highly consistent in terms of ranking genes according to fold change despite difference in normalization method. We also computed intraclass correlation coefficients (ICC) using both fold change and p-value as well. The ICC based on fold change was 0.975 which strongly suggests that a high degree of agreement among the five methods (excluding baySeq because no fold change can be calculated) as the fold change value is only affected by different normalization techniques used by different methods (Figure 5) However, the ICC for p-value was only 0.50, indicating that these methods have a low agreement in terms of ranking the differentially expressed genes. In addition, baySeq produced the worst p-value correlation with regard to the other methods. To assess accuracy, one has to know a priori which genes are differentially expressed between normal and tumor. Hence, we can only calculate it in a simulation.
Figure 4

Pair-wise Spearman's correlation coefficients of fold change computed among six methods.

Figure 5

Intraclass correlation coefficients among six methods using fold change and p-value.

Pair-wise Spearman's correlation coefficients of fold change computed among six methods. Intraclass correlation coefficients among six methods using fold change and p-value. For simulated data, we compared the number of genes that are significantly differentially expressed. In contrast to the results from real data, baySeq identified the smallest number of differentially expressed genes, while DEGseq identified largest number of differentially expressed genes, significantly more than other methods (Table 2). DESeq, edgeR and NBPSeq identified similar numbers of differentially expressed genes. The similar performance of DESeq, edgeR, and NBPseq is probably due to the fact that these methods are based on similar principles except the estimation of the dispersion parameter. Among all six methods, baySeq has the smallest FPR, and DEGseq has the largest FPR. This indicates that baySeq was more conservative compared to other methods. Among DESeq, edgeR and NBPSeq, the largest FPR was found by NBPSeq, followed by DESeq or edgeR. In general, the FPR of DESeq was smaller than the FPR of edgeR. For TPR, the largest TPR was found by DEGseq (i.e. it also found too many false positives), followed by TSPM. As expected, DESeq, edgeR and NBPSeq obtained similar results in TPR. After comparing the results under scenarios I and II, we found that sample size has a large effect, especially for TPR. As sample size decreases, Ndecreases, FPR increases, and TPR decreases, respectively. TSPM shows the strongest effects on sample size among the methods. After comparing the results under scenarios I and III, we found that the proportion of differentially expressed genes has a relatively small effect on FPR and TPR for all methods. As the proportion decreases, all of N, FPR, and TPR decrease. After comparing the results under scenarios I and IV, we found that the proportions of up-regulated and down-regulated genes have a large effect on Nand FPR for TSPM and NBPSeq. After comparing the results under scenarios I, V, and VI, we found that the level of treatment effects and depth of reads have small effects for all of the methods under reasonable sample size. Comparing the results under scenarios I and VII, all methods are sensitive to the sample size, level of treatment effects, and depth.
Table 2

Performance comparison under different scenarios

FDR = 0.1FDR = 0.05FDR = 0.01

NsFPRTPRNsFPRTPRNsFPRTPR
IDESeq7590.00900.67796790.00540.63045500.00200.5316
Edger8250.01150.72167400.00680.67996140.00230.5934
DEGseq88140.87350.953288640.85730.857384150.83060.9402
NBPSeq11670.04800.73469720.03220.68287230.01530.5850
Bayseq7290.00600.67506540.00270.62965430.00060.5384
TSPM23070.16870.789318150.01200.730612020.06630.6050
IIDESeq2890.01530.15151750.00960.0890590.00370.0255
Edger2390.01380.11391300.00800.0580380.00280.0127
DEGseq83790.82920.916282150.81190.908179210.78010.8923
NBPSeq3080.02070.12191940.01340.0729700.00540.0213
Bayseq1890.00700.1260880.00290.0617100.00030.0067
TSPM2910.02620.05572620.02340.05132170.01910.0447
IIIDESeq3630.00560.62003190.00340.57392550.00130.4860
Edger4010.00680.67293540.00410.63012840.00140.5414
DEGseq84510.83910.959882880.82220.955580020.79250.9462
NBPSeq5670.02410.67674740.01690.62833460.00840.5335
Bayseq3320.00310.60522950.00150.56152420.00040.4763
TSPM8510.05290.68926510.03540.63114260.0180.5035
IVDESeq7580.00900.67706780.00550.62905440.00190.5269
Edger8280.01170.72257390.00680.67806130.00230.5923
DEGseq93260.92970.959290810.90350.949488120.87480.9384
NBPSeq18600.12520.733312990.07070.66227920.02770.5423
Bayseq7280.00660.66866530.00320.6345400.00080.5332
TSPM73870.33740.751530050.25750.687919310.15240.5593
VDESeq6860.00840.61036110.00500.56634940.00180.4779
Edger7470.01070.65076670.00620.61095490.00200.5315
DEGseq87630.86850.945486090.85200.941183540.82470.9312
NBPSeq10490.04310.66128780.02930.61426480.01390.5226
Bayseq6670.00550.61865980.00260.57464930.00060.4886
TSPM20720.14880.732416170.10470.674710720.05750.5544
VIDESeq7890.00860.68166790.00510.63315470.00180.5305
Edger8250.01060.73017410.00600.68696150.0020.5975
DEGseq88110.87210.961886750.85760.956784360.83180.9493
NBPSeq10700.03800.72839100.02560.67906890.0220.5788
Bayseq7220.00550.67276460.00230.62545350.00050.5310
TSPM19200.12770.771114850.00860.70679500.04180.5736
VIIDESeq2330.01250.12111440.00800.0725530.00340.0220
Edger2000.01210.09131090.00700.0457340.00260.0106
DEGseq84290.83460.918482550.81630.909179490.78400.8929
NBPSeq2530.01700.09911530.01080.0562590.00470.0165
Bayseq1560.00540.1076700.00210.050870.00020.0047
TSPM2960.00240.05712660.02360.05372190.01910.0476
Performance comparison under different scenarios In Table 3, we summarized the average AUC-ROC for each scenario. For each scenario, DEGseq has less satisfying performance compared to the other methods. Under scenarios II, V, and VII, the average AUC-ROC of baySeq was the largest. Those three scenarios were simulated for the dataset with small sample size or small treatment effects. This indicates that baySeq is the best performing method when the dataset has a small sample size or small treatment effect. Under other scenarios (i.e. I, III, IV, VI), the best performance was generally obtained by edgeR and DESeq, followed by NBPSeq and TSPM.
Table 3

Average area under ROC curve (AUC-ROC) under different scenarios

AUC
IIIIIIIVVVIVII

MethodsDESeq0.92840.77170.90970.92810.89210.93260.7427
Edger0.93220.76080.92130.93230.90010.93930.7336
DEGseq0.60810.60460.64130.57220.60310.61310.6000
NBPSeq0.91290.75590.92090.84960.88280.92060.7330
Bayseq0.92800.78430.90130.92400.90130.92970.7660
TSPM0.87440.73410.91090.76880.85050.88700.7176
Average area under ROC curve (AUC-ROC) under different scenarios We also measured the runtime for each method running on the TCGA breast cancer dataset. On a Dell 3500 with a 2.8GHz CPU and 12 GB RAM, DESeq took the most time to finish with over 2 hours followed by NBPSeq (77 minutes), baySeq (47 minutes). TSPM and edgeR took significantly less time in comparison with 6 and 2 minutes, respectively. DEGseq was the speediest of the six, finishing in only 12 seconds. Combining information from both runtime and AUC, edgeR performed best with relatively short runtime and good AUC-ROC.

Conclusions

In this study, we systematically evaluated six read count-based RNAseq analysis methods using both real and simulated data. BaySeq is the most unique method out of the six, because it is based on an empirical Bayesian approach which produces no fold change or test statistics to infer the direction of the gene expression difference. This inconvenient feature of baySeq forces users to go back to the raw expression value to determine the direction. Another unique characteristic of baySeq is the randomization steps involved in its model. For the same data with the same parameter settings, baySeq produces slightly different results. Granted, genes with the strongest fold change will always be detected by baySeq, but this minor inconsistency between runs of baySeq does produce some inconvenience. From our simulation study, we found that the performances of DESeq, edgeR, and NBPSeq are similar in most cases. This result is expected because all three methods are based on a negative binomial model and differ principally in the way the dispersion parameter is estimated. One of the issues we observed with these six read count-based RNAseq analysis methods is that they tend to be over-sensitive. For a traditional microarray study, the number of differentially expressed genes identified by a simple method such as a t-test is highly dependent on the sample size. We have tested these six methods using smaller sample sizes such as 2 vs. 2, but the majority of the methods still produced huge amounts of differentially expressed genes (sometimes over 50% of total genes), which is a clear sign of over-sensitivity. Through more thorough analysis, we found that the five methods (excluding baySeq) produced very similar fold changes but less similar ranks of p-value. Given these facts, we would recommend using the combined criteria of fold change and p-value to filter out more false positives. Combined with evaluation of runtime from real data and AUC-ROC from simulated data, edgeR achieved a good balance between speed and accuracy. We are far from reaching a consensus on the best RNAseq analysis approach. Several unique characteristics of RNAseq data contribute to the difficulty of RNAseq data analysis. The value for non-expression in RNAseq is zero, which means there are no reads aligned to the gene. In microarray, there is always background intensity for non-expressed genes, thus we can always take log transformations of the intensity data. In contrast, due to the large number of zeros in RNAseq data (often more than 50%), we cannot take a log transformation. The range of RNAseq data is between 0 and 50,000, compared to microarray's 2 to 15 after RMA normalization. This huge range of RNAseq data can result in many false high fold changes. Also, there are many sequencing and alignment artifacts that can skew RNAseq data. For example, GC content plays an important factor in the sequenceability of a gene, and the exon's length has a large effect on alignment accuracy. To date, only 1 RNAseq package, DESeq takes the paired data information into consideration. In summary, even though there are a large number of RNAseq analysis tools at our disposal, given the uniqueness of RNAseq data and the number of unsolved problems, there is still much room left to improve RNAseq analysis.

Competing interests

The authors declare that they have no competing interests.

Authors' contributions

Yan Guo and Chung-I performed the analysis and wrote the manuscript. Fei Ye and Yu Shyr provided significant scientific input. All authors read and approved the final manuscript.
  12 in total

1.  The beginning of the end for microarrays?

Authors:  Jay Shendure
Journal:  Nat Methods       Date:  2008-07       Impact factor: 28.547

2.  Mapping and quantifying mammalian transcriptomes by RNA-Seq.

Authors:  Ali Mortazavi; Brian A Williams; Kenneth McCue; Lorian Schaeffer; Barbara Wold
Journal:  Nat Methods       Date:  2008-05-30       Impact factor: 28.547

3.  DEGseq: an R package for identifying differentially expressed genes from RNA-seq data.

Authors:  Likun Wang; Zhixing Feng; Xi Wang; Xiaowo Wang; Xuegong Zhang
Journal:  Bioinformatics       Date:  2009-10-24       Impact factor: 6.937

4.  baySeq: empirical Bayesian methods for identifying differential expression in sequence count data.

Authors:  Thomas J Hardcastle; Krystyna A Kelly
Journal:  BMC Bioinformatics       Date:  2010-08-10       Impact factor: 3.169

Review 5.  RNA-Seq: a revolutionary tool for transcriptomics.

Authors:  Zhong Wang; Mark Gerstein; Michael Snyder
Journal:  Nat Rev Genet       Date:  2009-01       Impact factor: 53.242

6.  Comprehensive molecular characterization of human colon and rectal cancer.

Authors: 
Journal:  Nature       Date:  2012-07-18       Impact factor: 49.962

7.  Transcript assembly and quantification by RNA-Seq reveals unannotated transcripts and isoform switching during cell differentiation.

Authors:  Cole Trapnell; Brian A Williams; Geo Pertea; Ali Mortazavi; Gordon Kwan; Marijke J van Baren; Steven L Salzberg; Barbara J Wold; Lior Pachter
Journal:  Nat Biotechnol       Date:  2010-05-02       Impact factor: 54.908

8.  Integrated genomic analyses of ovarian carcinoma.

Authors: 
Journal:  Nature       Date:  2011-06-29       Impact factor: 49.962

9.  Differential expression analysis for sequence count data.

Authors:  Simon Anders; Wolfgang Huber
Journal:  Genome Biol       Date:  2010-10-27       Impact factor: 13.583

10.  Large scale comparison of gene expression levels by microarrays and RNAseq using TCGA data.

Authors:  Yan Guo; Quanhu Sheng; Jiang Li; Fei Ye; David C Samuels; Yu Shyr
Journal:  PLoS One       Date:  2013-08-20       Impact factor: 3.240

View more
  31 in total

1.  PairedFB: a full hierarchical Bayesian model for paired RNA-seq data with heterogeneous treatment effects.

Authors:  Yuanyuan Bian; Chong He; Jie Hou; Jianlin Cheng; Jing Qiu
Journal:  Bioinformatics       Date:  2019-03-01       Impact factor: 6.937

2.  Statistical strategies for microRNAseq batch effect reduction.

Authors:  Yan Guo; Shilin Zhao; Pei-Fang Su; Chung-I Li; Fei Ye; Charles R Flynn; Yu Shyr
Journal:  Transl Cancer Res       Date:  2014-06-01       Impact factor: 1.241

3.  In vivo commensal control of Clostridioides difficile virulence.

Authors:  Brintha P Girinathan; Nicholas DiBenedetto; Jay N Worley; Johann Peltier; Mario L Arrieta-Ortiz; Selva Rupa Christinal Immanuel; Richard Lavin; Mary L Delaney; Christopher K Cummins; Maria Hoffman; Yan Luo; Narjol Gonzalez-Escalona; Marc Allard; Andrew B Onderdonk; Georg K Gerber; Abraham L Sonenshein; Nitin S Baliga; Bruno Dupuy; Lynn Bry
Journal:  Cell Host Microbe       Date:  2021-10-11       Impact factor: 21.023

4.  RNentropy: an entropy-based tool for the detection of significant variation of gene expression across multiple RNA-Seq experiments.

Authors:  Federico Zambelli; Francesca Mastropasqua; Ernesto Picardi; Anna Maria D'Erchia; Graziano Pesole; Giulio Pavesi
Journal:  Nucleic Acids Res       Date:  2018-05-04       Impact factor: 16.971

5.  lncRNA expression in the auditory forebrain during postnatal development.

Authors:  Yan Guo; Pan Zhang; Quanhu Sheng; Shilin Zhao; Troy A Hackett
Journal:  Gene       Date:  2016-08-18       Impact factor: 3.688

6.  A multi-model statistical approach for proteomic spectral count quantitation.

Authors:  Owen E Branson; Michael A Freitas
Journal:  J Proteomics       Date:  2016-05-31       Impact factor: 4.044

7.  Practicability of detecting somatic point mutation from RNA high throughput sequencing data.

Authors:  Quanhu Sheng; Shilin Zhao; Chung-I Li; Yu Shyr; Yan Guo
Journal:  Genomics       Date:  2016-04-02       Impact factor: 5.736

8.  Differential Gene Expression Reveals Candidate Genes for Drought Stress Response in Abies alba (Pinaceae).

Authors:  David Behringer; Heike Zimmermann; Birgit Ziegenhagen; Sascha Liepelt
Journal:  PLoS One       Date:  2015-04-29       Impact factor: 3.240

9.  Transcriptional maturation of the mouse auditory forebrain.

Authors:  Troy A Hackett; Yan Guo; Amanda Clause; Nicholas J Hackett; Krassimira Garbett; Pan Zhang; Daniel B Polley; Karoly Mirnics
Journal:  BMC Genomics       Date:  2015-08-14       Impact factor: 3.969

10.  Transfer RNA detection by small RNA deep sequencing and disease association with myelodysplastic syndromes.

Authors:  Yan Guo; Amma Bosompem; Sanjay Mohan; Begum Erdogan; Fei Ye; Kasey C Vickers; Quanhu Sheng; Shilin Zhao; Chung-I Li; Pei-Fang Su; Madan Jagasia; Stephen A Strickland; Elizabeth A Griffiths; Annette S Kim
Journal:  BMC Genomics       Date:  2015-09-24       Impact factor: 3.969

View more

北京卡尤迪生物科技股份有限公司 © 2022-2023.