-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathquiz.html
More file actions
1817 lines (1726 loc) · 80.6 KB
/
quiz.html
File metadata and controls
1817 lines (1726 loc) · 80.6 KB
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
73
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>生信刷题神器</title>
<style>
:root {
--primary: #007AFF; /* iOS Blue */
--success: #34C759; /* iOS Green */
--error: #FF3B30; /* iOS Red */
--bg: #F2F2F7; /* iOS System Gray 6 */
--card-bg: #FFFFFF;
--text-main: #1C1C1E;
--text-sub: #8E8E93;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background-color: var(--bg);
color: var(--text-main);
margin: 0;
padding: 0;
display: flex;
justify-content: center;
min-height: 100vh;
}
/* 模拟手机容器 */
#app-container {
width: 100%;
max-width: 480px; /* iPhone Pro Max width approx */
background-color: var(--bg);
display: flex;
flex-direction: column;
height: 100vh;
overflow: hidden;
box-shadow: 0 0 20px rgba(0,0,0,0.1);
}
/* 顶部导航 */
header {
background: var(--card-bg);
padding: 15px 20px;
padding-top: env(safe-area-inset-top, 20px); /* 适配刘海屏 */
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #E5E5EA;
z-index: 10;
}
h1 {
font-size: 18px;
font-weight: 600;
margin: 0;
}
/* 模式切换开关 */
.mode-switch {
display: flex;
background: #E5E5EA;
border-radius: 8px;
padding: 2px;
}
.mode-btn {
padding: 6px 12px;
font-size: 13px;
border: none;
background: transparent;
border-radius: 6px;
cursor: pointer;
font-weight: 500;
transition: all 0.2s;
}
.mode-btn.active {
background: #fff;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
color: var(--primary);
}
/* 进度条 */
.progress-bar {
height: 4px;
background: #E5E5EA;
width: 100%;
}
.progress-fill {
height: 100%;
background: var(--primary);
width: 0%;
transition: width 0.3s ease;
}
/* 内容区域 */
#content-area {
flex: 1;
overflow-y: auto;
padding: 20px;
padding-bottom: 80px; /* 留出底部按钮空间 */
}
.card {
background: var(--card-bg);
border-radius: 16px;
padding: 20px;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
margin-bottom: 20px;
}
.question-tag {
font-size: 12px;
color: var(--primary);
background: rgba(0,122,255,0.1);
padding: 4px 8px;
border-radius: 4px;
display: inline-block;
margin-bottom: 10px;
}
.question-text {
font-size: 17px;
line-height: 1.5;
font-weight: 500;
margin-bottom: 20px;
}
/* 选项样式 */
.options-list {
display: flex;
flex-direction: column;
gap: 12px;
}
.option-btn {
background: #F2F2F7;
border: 2px solid transparent;
padding: 16px;
border-radius: 12px;
text-align: left;
font-size: 15px;
cursor: pointer;
transition: all 0.2s;
position: relative;
}
.option-btn:active {
transform: scale(0.98);
}
/* 状态样式 */
.option-btn.correct {
background: rgba(52, 199, 89, 0.15);
border-color: var(--success);
color: #006400;
}
.option-btn.wrong {
background: rgba(255, 59, 48, 0.15);
border-color: var(--error);
color: #8B0000;
}
.option-btn.disabled {
pointer-events: none;
opacity: 0.8;
}
/* 解析区域 */
.analysis-box {
margin-top: 20px;
background: #F9F9F9;
border-radius: 12px;
padding: 15px;
border-left: 4px solid var(--primary);
display: none; /* 默认隐藏 */
animation: fadeIn 0.3s ease;
}
.analysis-title {
font-weight: 600;
font-size: 14px;
margin-bottom: 8px;
color: var(--text-sub);
}
.analysis-content {
font-size: 14px;
line-height: 1.6;
color: var(--text-main);
}
/* 底部导航栏 */
.footer-nav {
position: fixed;
bottom: 0;
width: 100%;
max-width: 480px;
background: rgba(255,255,255,0.95);
backdrop-filter: blur(10px);
border-top: 1px solid #E5E5EA;
padding: 15px 20px;
padding-bottom: env(safe-area-inset-bottom, 20px);
display: flex;
justify-content: space-between;
align-items: center;
}
.nav-btn {
background: var(--primary);
color: white;
border: none;
padding: 12px 24px;
border-radius: 25px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
min-width: 100px;
}
.nav-btn:disabled {
background: #C7C7CC;
cursor: not-allowed;
}
.nav-btn.secondary {
background: #E5E5EA;
color: var(--text-main);
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
/* 收藏和错题按钮 */
.action-buttons {
display: flex;
gap: 10px;
margin-top: 15px;
padding-top: 15px;
border-top: 1px solid #E5E5EA;
}
.action-btn {
flex: 1;
padding: 10px;
border: 2px solid #E5E5EA;
background: white;
border-radius: 10px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
gap: 5px;
transition: all 0.2s;
}
.action-btn:active {
transform: scale(0.95);
}
.action-btn.active {
border-color: var(--primary);
color: var(--primary);
background: rgba(0, 122, 255, 0.1);
}
.action-btn.error-active {
border-color: var(--error);
color: var(--error);
background: rgba(255, 59, 48, 0.1);
}
/* 筛选模式切换 */
.filter-switch {
display: flex;
background: #E5E5EA;
border-radius: 8px;
padding: 2px;
margin: 15px 20px;
}
.filter-btn {
flex: 1;
padding: 8px 10px;
font-size: 13px;
border: none;
background: transparent;
border-radius: 6px;
cursor: pointer;
font-weight: 500;
transition: all 0.2s;
white-space: nowrap;
}
.filter-btn.active {
background: #fff;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
color: var(--primary);
}
/* 统计信息 */
.stats-bar {
background: var(--card-bg);
padding: 10px 20px;
border-bottom: 1px solid #E5E5EA;
display: flex;
justify-content: space-around;
font-size: 12px;
}
.stat-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 3px;
}
.stat-value {
font-size: 18px;
font-weight: 600;
color: var(--primary);
}
.stat-label {
color: var(--text-sub);
}
</style>
</head>
<body>
<div id="app-container">
<header>
<div id="progress-text" style="font-size: 14px; color: var(--text-sub);">1 / 85</div>
<div class="mode-switch">
<button class="mode-btn active" onclick="setMode('quiz')">刷题</button>
<button class="mode-btn" onclick="setMode('study')">背题</button>
</div>
</header>
<div class="stats-bar">
<div class="stat-item">
<div class="stat-value" id="stat-total">85</div>
<div class="stat-label">总题数</div>
</div>
<div class="stat-item">
<div class="stat-value" id="stat-favorite">0</div>
<div class="stat-label">已收藏</div>
</div>
<div class="stat-item">
<div class="stat-value" id="stat-error">0</div>
<div class="stat-label">错题数</div>
</div>
</div>
<div class="filter-switch">
<button class="filter-btn active" onclick="setFilter('all')">全部题目</button>
<button class="filter-btn" onclick="setFilter('favorite')">收藏夹</button>
<button class="filter-btn" onclick="setFilter('error')">错题本</button>
</div>
<div class="progress-bar">
<div class="progress-fill" id="progress-fill"></div>
</div>
<div id="content-area">
<div class="card">
<div class="question-tag" id="q-category">分类</div>
<div class="question-text" id="q-text">题目加载中...</div>
<div class="options-list" id="options-container">
</div>
<div class="action-buttons">
<button class="action-btn" id="btn-favorite" onclick="toggleFavorite()">
<span id="favorite-icon">☆</span>
<span>收藏</span>
</button>
<button class="action-btn" id="btn-mark-error" onclick="toggleError()">
<span>📝</span>
<span id="error-text">标记错题</span>
</button>
</div>
<div class="analysis-box" id="analysis-area">
<div class="analysis-title">💡 答案解析</div>
<div class="analysis-content" id="analysis-text"></div>
</div>
</div>
</div>
<div class="footer-nav">
<button class="nav-btn secondary" onclick="prevQuestion()" id="btn-prev">上一题</button>
<button class="nav-btn" onclick="nextQuestion()" id="btn-next">下一题</button>
</div>
</div>
<script>
// 题目数据 (整合了之前提取的23道题)
const questions = [
{
id: 1,
category: "数据库",
question: "UCSC 的 dbSNP track 提供的信息包括?",
options: [
"A. SNP 的等位基因频率和临床意义",
"B. SNP 所在的表观修饰区域",
"C. 仅包含 SNP 位置",
"D. RNA 表达水平"
],
answer: 0,
analysis: "dbSNP track 最核心的信息包括 SNP 的位置、等位基因频率 (Allele Frequency) 和临床意义 (Clinical Significance)。表观修饰属于 ENCODE track,表达属于 GTEx track。"
},
{
id: 2,
category: "数据库",
question: "使用 Table Browser 提取 SNP 周围基因,常用操作是?",
options: [
"A. 选择 intersection,与 RefGene 表交集",
"B. 导出为 FASTQ",
"C. 使用 LiftOver 转换坐标",
"D. 启动 Genome Graphs 模块"
],
answer: 0,
analysis: "Intersection(交集)功能用于查找两个 Track 之间的重叠关系,例如找出包含特定 SNP 的 Gene。LiftOver 用于版本转换,FASTQ 是测序数据格式。"
},
{
id: 3,
category: "数据库",
question: "Refseq和GenBank有何区别?",
options: [
"A. GenBank提供了非冗余数据",
"B. Refseq含有不同实验室提供的公开DNA序列",
"C. Refseq源于GenBank并提供非冗余的经过校正的数据",
"D. GenBank序列数据是源于Refseq"
],
answer: 2,
analysis: "GenBank 是归档库(冗余、未校正);RefSeq 是参考序列库(去冗余、专家校正、标准)。"
},
{
id: 4,
category: "NCBI",
question: "NM_001075891 代表哪种生物数据类型?",
options: [
"A. 完整的参考基因组序列",
"B. 编码蛋白质的RNA序列",
"C. 基因",
"D. 蛋白质序列"
],
answer: 1,
analysis: "NM_ 前缀代表审核过的 mRNA 序列;NC_ 是染色体;NP_ 是蛋白;XM_ 是预测 mRNA。"
},
{
id: 5,
category: "NCBI",
question: "索引编号为 NM_005368.2 的人类基因在哪个染色体上?",
options: [
"A. 2q13.1",
"B. Xq28",
"C. 11p15.5",
"D. 22q12.3"
],
answer: 3,
analysis: "NM_005368 对应 MYH9 基因,位于 22q12.3。"
},
{
id: 6,
category: "NCBI",
question: "想知道某基因在哪个组织中表达,哪个资源最合适?",
options: [
"A. GenBank",
"B. NCBI Gene",
"C. Entrez",
"D. PubMed"
],
answer: 1,
analysis: "NCBI Gene 数据库整合了表达谱数据(来自 GTEx 等),可以直接查看组织表达情况。"
},
{
id: 7,
category: "算法",
question: "K-mean是一种聚类算法,KNN是一种分类算法。",
options: [
"A. 对",
"B. 错"
],
answer: 0,
analysis: "正确。K-means 是无监督聚类;KNN (K近邻) 是监督分类。"
},
{
id: 8,
category: "算法",
question: "下面关于人工智能的哪个说法是正确的?",
options: [
"A. 和SVM相比,线性回归对高维数据分类性能更好",
"B. 深度学习比Logistic回归解释性更好",
"C. PCA是常见的维数约简的方法",
"D. 聚类是常见的监督学习方法"
],
answer: 2,
analysis: "PCA (主成分分析) 用于降维。聚类是无监督的;深度学习通常解释性较差。"
},
{
id: 9,
category: "序列比对",
question: "与PAM打分矩阵比较,BLOSUM打分矩阵的最大区别在哪里?",
options: [
"A. 结合了局部和全局比对的信息",
"B. 最好用于比较相关性很近的蛋白",
"C. 它是基于远相关蛋白的局部多序列比对",
"D. 它是基于近相关蛋白的全局多序列比对"
],
answer: 2,
analysis: "BLOSUM 是基于 BLOCKS 数据库中远缘相关蛋白的保守区域(局部)构建的;PAM 是基于近缘推导的。"
},
{
id: 10,
category: "进化",
question: "直系同源物 (Orthologs) 定义为?",
options: [
"A. 结构相似但序列一致性小的同源序列",
"B. 同一物种中由基因复制产生的同源序列",
"C. 同一物种具有冗余功能的同源序列",
"D. 不同物种中具有共同祖先的同源序列"
],
answer: 3,
analysis: "直系同源(Orthologs)源于物种形成;旁系同源(Paralogs)源于基因复制(B选项)。"
},
{
id: 11,
category: "序列比对",
question: "全局比对和局部比对的差异描述最佳的是?",
options: [
"A. 全局比对用于DNA,局部用于蛋白",
"B. 全局比对寻找全局最大化,局部选择局部最大化",
"C. 全局比对比对整条序列,而局部比对寻找最佳匹配子选项",
"D. 全局比对允许空位,局部不允许"
],
answer: 2,
analysis: "全局比对 (Needleman-Wunsch) 试图拉通全长;局部比对 (Smith-Waterman) 寻找高分片段。"
},
{
id: 12,
category: "序列比对",
question: "全局比对算法(如Needleman-Wunsch)可以确保找到最优比对。因为它是:",
options: [
"A. 只能用于蛋白质",
"B. 寻找最优子路径的方法",
"C. 穷举每一种可能的组合",
"D. 迭代递归的方法(动态规划)"
],
answer: 3,
analysis: "Needleman-Wunsch 基于动态规划,通过构建矩阵和回溯找到数学上的最优解,而非启发式近似。"
},
{
id: 13,
category: "BLAST",
question: "BLAST搜索中,哪个指标提供了假阳性个数的估计?",
options: [
"A. E值 (E-value)",
"B. 比特分数 (Bit Score)",
"C. 一致性百分比",
"D. 阳性百分比"
],
answer: 0,
analysis: "E-value (Expect Value) 指在随机情况下期望找到的更优匹配条数。E值越小越可信。"
},
{
id: 14,
category: "BLAST",
question: "标准化的BLAST分数(比特分数):",
options: [
"A. 可在不同BLAST搜索间比较(即便打分矩阵不同)",
"B. 必须相同打分矩阵才能比较",
"C. 与打分矩阵无关",
"D. 没有单位"
],
answer: 0,
analysis: "Bit Score 经过归一化,消除了搜索空间大小的影响,具有跨搜索的可比性。"
},
{
id: 15,
category: "BLAST",
question: "当BLAST检索的E值减小时:",
options: [
"A. 概率P值倾向于变大",
"B. K值也在减小",
"C. 比对分值倾向于变大",
"D. 极值分布偏斜度减小"
],
answer: 2,
analysis: "E值越小,说明匹配越非随机,通常对应的比对得分 (Score) 越高。"
},
{
id: 16,
category: "BLAST",
question: "寻找与查询序列相关的远缘蛋白质,哪个方法最好?",
options: [
"A. 物种特异数据库",
"B. DELTA-BLAST",
"C. PSI-BLAST",
"D. BLASTP"
],
answer: 2,
analysis: "PSI-BLAST 通过迭代构建位置特异性打分矩阵 (PSSM),对远缘同源蛋白极其敏感。"
},
{
id: 17,
category: "BLAST",
question: "PSI-BLAST中,如何最大程度减少矩阵污染?",
options: [
"A. 减少迭代次数",
"B. 去掉筛选步骤",
"C. 使用更短的索引序列",
"D. 降低E值的阈值"
],
answer: 3,
analysis: "降低 E-value 阈值(更严格)可以防止非同源序列(假阳性)进入下一轮迭代构建矩阵。"
},
{
id: 18,
category: "结构",
question: "SCOP数据库的顶层分类是?",
options: [
"A. Family",
"B. Fold",
"C. Class",
"D. Superfamily"
],
answer: 2,
analysis: "SCOP 层级:Class (类) -> Fold -> Superfamily -> Family。"
},
{
id: 19,
category: "结构",
question: "关于PDB数据库,正确的是?",
options: [
"A. 由NCBI独家管理",
"B. 包括蛋白质、核酸及糖类大分子的结构数据",
"C. 是二级结构数据库",
"D. 结构数量与序列数量相当"
],
answer: 1,
analysis: "PDB 存储所有生物大分子的三维结构信息。序列数远多于结构数。"
},
{
id: 20,
category: "结构",
question: "比较两个远缘同源蛋白质时:",
options: [
"A. 倾向于有更多共同的三维结构特征,而非序列一致性",
"B. 序列和结构相似水平相当",
"C. 无法归纳相似度",
"D. 序列一致性比结构特征更高"
],
answer: 0,
analysis: "结构比序列更保守。即便序列相似度极低,同源蛋白的三维折叠通常仍保持一致。"
},
{
id: 21,
category: "结构",
question: "相对于NMR,X射线晶体衍射的优点是更容易:",
options: [
"A. 测定大的蛋白质结构",
"B. 解析跨膜结构域",
"C. 制备样本",
"D. 解释数据"
],
answer: 0,
analysis: "NMR 受分子量限制(<30kDa),X-ray 理论上无上限,适合大分子。"
},
{
id: 22,
category: "结构",
question: "关于结构数据库,错误的说法是?",
options: [
"A. CATH是蛋白质二级结构数据库",
"B. SWISS-MODEL存有同源建模数据",
"C. PDB是最主要的三维结构库",
"D. SCOP是对结构分类的数据库"
],
answer: 0,
analysis: "CATH 是三维结构分类数据库(Class, Architecture, Topology, Homology),不是二级结构库。"
},
{
id: 23,
category: "结构",
question: "AlphaFold 中反映局部结构可信度的指标是?",
options: [
"A. TM-Score",
"B. RMSD",
"C. PAE",
"D. pLDDT"
],
answer: 3,
analysis: "pLDDT (0-100) 衡量逐残基的局部置信度;PAE 衡量结构域间相对位置误差。"
},
{
id: 24,
category: "分子进化分析",
question: "在最大似然(ML)方法中使用氨基酸替代模型的主要目的是什么?",
options: [
"A. 优化序列比对得分",
"B. 估计序列随时间演化的概率",
"C. 计算序列的 GC 含量",
"D. 判断序列的二级结构"
],
answer: 1,
analysis: "替代模型描述了氨基酸(或核苷酸)序列在进化过程中的替换规律和速率。在ML方法中,其核心目的是在给定进化树和模型参数的条件下,计算观察到当前序列的可能性。"
},
{
id: 25,
category: "分子进化分析",
question: "关于 Poisson 氨基酸替代模型,下列哪项正确?",
options: [
"A. 每种氨基酸替代概率不同",
"B. 所有氨基酸替代概率相同",
"C. 只能用于核酸序列",
"D. 只能用于远缘序列"
],
answer: 1,
analysis: "Poisson模型是所有氨基酸替代概率相同的均匀模型,是最简单的氨基酸替代模型。"
},
{
id: 26,
category: "分子进化分析",
question: "JTT 模型是基于什么数据构建的?",
options: [
"A. DNA 对齐",
"B. 小规模蛋白家族统计",
"C. 大规模蛋白序列统计",
"D. RNA 次级结构"
],
answer: 2,
analysis: "JTT (Jones-Taylor-Thornton) 模型是基于一个广泛的、可靠的亲缘很近的蛋白序列比对数据库(如Dayhoff数据库的PAM矩阵相关的数据库)统计得出的,适用于分析非同义氨基酸替换。"
},
{
id: 27,
category: "分子进化分析",
question: "PAM250 与 PAM30 相比,更适合:",
options: [
"A. 近缘序列",
"B. 远缘序列",
"C. 核酸比对",
"D. 仅用于 NJ 树"
],
answer: 1,
analysis: "PAM(Point Accepted Mutation)值代表进化距离,PAM值越高,表示序列间接受了更多的替换,因此适合用来比对更远缘(进化距离更大)的序列。"
},
{
id: 28,
category: "分子进化分析",
question: "BLOSUM 矩阵主要用于:",
options: [
"A. 分子进化树构建",
"B. 序列比对评分",
"C. 最大似然计算",
"D. 分支支持评估"
],
answer: 1,
analysis: "BLOSUM矩阵(Block Substitution Matrix)是基于局部序列比对中高度保守的\"块\"(blocks)计算得出,主要用于(蛋白质)序列比对的打分。"
},
{
id: 29,
category: "分子进化分析",
question: "在系统发育树中,bootstrap 支持值越高表示:",
options: [
"A. 树越长",
"B. 分支重复性越高",
"C. 替代模型越合适",
"D. 序列比对质量越差"
],
answer: 1,
analysis: "Bootstrap分析通过对原始数据进行有放回的重复抽样来构建大量树,Bootstrap支持值代表了某个分支(聚类关系)在这些重采样树中出现的比例。支持值越高,表明该分支在原始数据中被支持的程度越高,随机性越低。"
},
{
id: 30,
category: "分子进化分析",
question: "相对于 NJ,最大似然(ML)方法的优点是:",
options: [
"A. 速度更快",
"B. 可使用复杂替代模型计算 likelihood",
"C. 不需要序列比对",
"D. 只适合 DNA"
],
answer: 1,
analysis: "ML方法严格基于统计原理,能整合复杂的替代模型和进化速率异质性等参数进行计算,理论框架更严谨。执行速度慢是其主要缺点。"
},
{
id: 31,
category: "分子进化分析",
question: "无时间尺度标注的分子进化树中的分支长度代表什么?",
options: [
"A. 不同物种之间的相似性",
"B. 时间或进化时间",
"C. 物种的数量",
"D. 进化树的拓扑结构"
],
answer: 0,
analysis: "无时间尺度的进化树,其分支长度(长度可变)通常代表进化距离(如每个位点的期望替换数,如0.01代表1%的差异),而非绝对时间。"
},
{
id: 32,
category: "数据库",
question: "NCBI 数据库 ID \"NM_001075891\" 代表什么类型的数据?",
options: [
"A. 基因 ID",
"B. 编码蛋白质的 RNA 序列(mRNA,经验证)",
"C. 预测的编码蛋白质的 RNA 序列",
"D. 蛋白质序列"
],
answer: 1,
analysis: "NM_ 前缀表示经过实验验证的编码蛋白质的 mRNA 参考序列(RefSeq mRNA)。"
},
{
id: 33,
category: "数据库",
question: "NCBI 数据库 ID \"NC_000022.11\" 代表什么类型的数据?",
options: [
"A. 线粒体基因组",
"B. 质粒序列",
"C. 完整的参考基因组序列(染色体)",
"D. 基因片段"
],
answer: 2,
analysis: "NC_ 前缀表示完整的参考基因组序列,通常是染色体级别的序列。NC_000022 特指人类22号染色体。"
},
{
id: 34,
category: "数据库",
question: "NCBI 数据库中纯数字 ID \"4151\" 代表什么类型的数据?",
options: [
"A. 蛋白质 ID",
"B. 基因 ID(Gene ID)",
"C. 文献 PMID",
"D. 物种分类 ID"
],
answer: 1,
analysis: "纯数字 ID 通常代表 Gene ID(如 4151 对应 MBL1 基因)。NCBI Gene 数据库使用纯数字作为基因的唯一标识符。"
},
{
id: 35,
category: "数据库",
question: "NCBI 数据库 ID \"XM_013113132\" 代表什么类型的数据?",
options: [
"A. 经验证的 mRNA 序列",
"B. 预测的编码蛋白质的 RNA 序列(未经实验验证)",
"C. 非编码 RNA",
"D. 假基因序列"
],
answer: 1,
analysis: "XM_ 前缀表示通过基因组注释预测得到的 mRNA 序列,尚未经过实验验证。与 NM_ 的区别在于证据等级。"
},
{
id: 36,
category: "数据库",
question: "NCBI 数据库 ID \"NP_001369739\" 代表什么类型的数据?",
options: [
"A. mRNA 序列",
"B. 基因序列",
"C. 蛋白质序列",
"D. 染色体序列"
],
answer: 2,
analysis: "NP_ 前缀表示蛋白质序列(RefSeq Protein)。NP_ 序列通常与对应的 NM_ mRNA 序列配对。"
},
{
id: 37,
category: "基础知识",
question: "氨基酸\"天冬酰胺\"的单字母符号是?",
options: [
"A. N",
"B. D",
"C. Q",
"D. E"
],
answer: 0,
analysis: "天冬酰胺(Asparagine)的单字母符号是 N,三字母符号是 Asn。它是一种极性不带电荷的氨基酸。"
},
{
id: 38,
category: "基础知识",
question: "氨基酸\"色氨酸\"的单字母符号是?",
options: [
"A. T",
"B. W",
"C. Y",
"D. F"
],
answer: 1,
analysis: "色氨酸(Tryptophan)的单字母符号是 W,三字母符号是 Trp。它是唯一含有吲哚环的芳香族氨基酸,也是最大的标准氨基酸。"
},
{
id: 39,
category: "基础知识",
question: "氨基酸\"谷氨酰胺\"的单字母符号是?",
options: [
"A. E",
"B. Q",
"C. N",
"D. K"
],
answer: 1,
analysis: "谷氨酰胺(Glutamine)的单字母符号是 Q,三字母符号是 Gln。它是一种极性不带电荷的氨基酸,侧链比天冬酰胺多一个亚甲基。"
},
{
id: 40,
category: "基础知识",
question: "氨基酸\"苯丙氨酸\"的单字母符号是?",
options: [
"A. F",
"B. Y",
"C. W",
"D. P"
],
answer: 0,
analysis: "苯丙氨酸(Phenylalanine)的单字母符号是 F,三字母符号是 Phe。它是一种疏水性芳香族氨基酸,是人体必需氨基酸之一。"
},
{
id: 41,
category: "基础知识",
question: "氨基酸\"酪氨酸\"的单字母符号是?",
options: [
"A. T",
"B. Y",
"C. F",
"D. W"
],
answer: 1,
analysis: "酪氨酸(Tyrosine)的单字母符号是 Y,三字母符号是 Tyr。它是芳香族氨基酸,侧链含有酚羟基,可以被磷酸化修饰,在信号转导中起重要作用。"
},
{
id: 42,
category: "基因预测",
question: "以下哪一个工具主要用于真核生物基因结构预测?",
options: [
"A. BLASTN",
"B. GENSCAN",
"C. ClustalW",
"D. InterPro"
],
answer: 1,
analysis: "GENSCAN是一种用于人类(或脊椎动物)基因预测的\"从头预测\"软件,它根据基因的整体结构(外显子、内含子等)进行预测,是真核生物基因结构预测的经典工具。BLASTN用于核酸序列同源性比对;ClustalW用于多序列比对;InterPro是蛋白质家族和结构域数据库。"
},
{
id: 43,
category: "基因预测",
question: "使用 ORF Finder 工具时,主要预测的是什么?",
options: [
"A. 蛋白质三级结构",
"B. 信号肽位置",
"C. 潜在的蛋白编码区",
"D. microRNA 结合位点"
],
answer: 2,
analysis: "ORF(开放阅读框)是从起始密码子到终止密码子的可编码区。ORF Finder的功能正是识别这段连续序列,是寻找基因编码区的基础工具。蛋白质三级结构预测需要使用AlphaFold等工具;信号肽预测使用SignalP;microRNA结合位点预测使用miRDB等工具。"
},
{
id: 44,
category: "基因预测",
question: "若想验证预测的基因是否正确编码蛋白,可以将核苷酸序列翻译并比对数据库。通常使用哪种程序?",
options: [
"A. blastn",
"B. blastx",
"C. tblastn",
"D. blastp"
],
answer: 1,
analysis: "blastx的核心功能是将输入的核酸查询序列在内部翻译为所有可能的蛋白质序列(六个读码框),然后将翻译产物与蛋白质数据库进行比较。这是验证一段未知核酸序列能否编码一个已知功能蛋白的直接且标准的方法。blastn直接比对核酸;tblastn是蛋白查询核酸数据库;blastp是蛋白比对蛋白。"
},
{
id: 45,
category: "基因预测",
question: "给定一条未知蛋白序列,最常见的功能预测方法是:",
options: [
"A. 与已知蛋白比对(blastp)",
"B. 预测 GC 含量",
"C. 预测二级结构",
"D. 预测 miRNA 结合位点"
],
answer: 0,
analysis: "基于\"序列同源性往往意味着功能相似性\"的原理,使用blastp搜索蛋白质数据库,通过同源比对来推断未知蛋白的功能,是最常用和首选的策略。GC含量是核酸特征;二级结构预测有助于理解结构但不能直接推断功能;miRNA结合位点是针对mRNA的分析。"
},
{
id: 46,
category: "基因预测",
question: "在基因上游区域识别转录因子结合位点的意义是:",
options: [
"A. 确定密码子使用频率",
"B. 分析基因调控机制",
"C. 预测信号肽",
"D. 分析二级结构"
],
answer: 1,