案例CS实验课留学生试题计算机专业题目:关于DNA序列问题
当前位置:以往案例 > >案例CS实验课留学生试题计算机专业题目:关于DNA序列问题
2019-06-09

实验课试题(仔细阅读提示)

一、 写程序并打印出结果。

有一条短DNA序列

ACTGATCGATTACGTATAGTAGAATTCTATCATACATATATATCGATGCGTTCAT

1. 计算该DNA序列的AT含量。

提示:使用+,-,*,/和()。

2. DNA序列的互补链

3. DNA序列有EcoRI限制性内切酶的识别位点GAATTC(*代表切割位点)。计算酶切后两个片段的大小。

二、基因组DNA片段序列

ATCGATCGATCGATCGACTGACTAGTCATAGCTATGCATGTAGCTACTCGATCGATCGATCGATCGATCGATCGATCGATCGATCATGCTATCATCGATCGATATCGATGCATCGACTACTAT

1. 该序列含有两个外显子和一个内含子。第一个外显子从序列开始到第63个核苷酸,第二个外显子从第91个核苷酸到结尾。

写出程序打印出该基因组DNA片段序列的编码区域。

2. 计算编码区域在该基因组DNA片段序列中所占的百分比例。

3. 将该基因组DNA片段序列的编码序列用大写字母,非编码序列用小写字母打印出来。

三、基因组DNA序列剖分

文件genomic_dna.txt中有基因组DNA序列

ATCGATCGATCGATCGACTGACTAGTCATAGCTATGCATGTAGCTACTCGATCGATCGA

TCGATCGATCGATCGATCGATCGATCATGCTATCATCGATCGATATCGATGCATCGACT

ACTAT

同样,第一个外显子从序列开始到第63个核苷酸,第二个外显子从第91个核苷酸到结尾。

将该基因组DNA片段序列的编码序列和非编码序列分开,并写入两个不同的文件。

四、FASTA文件格式被广泛用于DNA和蛋白质序列存储,通常格式如下:

>sequence_name

ATCGACTGATCGATCGTACGAT

其中,sequence_name用于描述序列,>号表示起始处。通常这一行有公共数据库中的序列号(accession number),可以直接用于查询。

单个FASTA文件也可以包含多条序列,如:

>sequence_one

ATCGATCGATCGATCGAT

>sequence_two

ACTAGCTAGCTAGCATCG

>sequence_three

ACTGCATCGATCGTACCT

1. 创建一个FASTA文件,内含如下三条序列,且所有序列中只含ATGC,而且核苷酸字母都是大写形式。

>ABC123

ATCGTACGATCGATCGATCGCTAGACGTATCG

>DEF456

actgatcgacgatcgatcgatcacgact

>HIJ789

ACTGAC-ACTGT–ACTGTA—-CATGTG

2. 分别创建三个文件,每个文件只含有一条序列。文件名用序列名,后缀名用fasta

五、文件input.txt中有几条DNA序列,一条一行。每条序列开头有相同的14个碱基(测序接头序列)。

写出程序a)切掉这些接头序列,并将剩余序列写到一个新文件中;b)将每条序列长度打印到屏幕上。

六、文件genomic_dna.txt包含一段基因组DNA序列;文件exons.txt列有外显子的起始和结束位置。每个外显子单独成行,起始和结束位置由逗号分隔。

写出程序提取外显子片段,连接在一起后,输出到一个新文件中。

七、定义一个函数,有两个参数:蛋白质序列和氨基酸残基,返回蛋白质中该氨基酸的百分比含量。使用以下条件来测试函数:

assert my_function("MSRSLLLRFLLFLLLLPPLP","M") == 5

assert my_function("MSRSLLLRFLLFLLLLPPLP","r") == 10

assert my_function("MSRSLLLRFLLFLLLLPPLP","L") == 50

assert my_function("MSRSLLLRFLLFLLLLPPLP","Y") == 0

八、氨基酸残基百分比(二)

修改函数,参数可以有多个氨基酸残基,而不是一个。没有参数,函数返回疏水性氨基酸残基(A, I, L, M, F, W, YV)的百分比。函数需要通过以下测试:

assert my_function("MSRSLLLRFLLFLLLLPPLP","M") == 5

assert my_function("MSRSLLLRFLLFLLLLPPLP","M","L") == 55

assert my_function("MSRSLLLRFLLFLLLLPPLP",["F","S","L"] == 70

assert my_function("MSRSLLLRFLLFLLLLPPLP") == 65

九、data.csv文件里面是一些基因的数据。每行是单个基因的信息,按如下顺序提供:物种名,序列,基因名和表达水平,且被逗号分隔。以下问题都将使用这个文件的数据。

输出所有基因名称:

1. 属于两种果蝇(Drosophila melanogasterDrosophila simulans)的基因。

2. 基因长度为90-110碱基。

3. 基因AT含量小于0.5,而且表达水平高于200

4. 基因名称以“k“或”h“开头,不包括果蝇Drosophila melanogaster的基因。

5. 打印出每个基因的信息,包括基因名,AT含量是否高(大于0.65),低(低于0.45),还是中等(介于0.450.65之间)。

附加题:

十、阅读框指将DNA序列分成连续的、不重叠的密码子。一条DNA序列有6种可能的阅读框:正链(5’-3’)和负链(3’-5’)各三个。

如序列AGGTGACACCGCAAGCCTTATATTAGC的三个可能的正向阅读框是:

AGG TGA CAC CGC AAG CCT TAT ATT AGC

A GGT GAC ACC GCA AGC CTT ATA TTA GC

AG GTG ACA CCG CAA GCC TTA TAT TAG C

分别为阅读框12,和3

一个阅读框可以编码蛋白,包含起始密码子(ATG)和终止密码子(TAATAGTGA)。如ATGAAATAG 是长度为9的一个阅读框。

读入序列文件dna.example.fasta,回答问题:

最长的阅读框多长?最长的阅读框位于哪条序列中?该阅读框的起始密码子的序列位置?

十一、重复序列指DNA序列的一部分以多拷贝形式出现。重复序列可以在正链、负链出现,我们只考虑正链。同样,重复序列可以重叠。如ACACA包含两个拷贝的ACA(第一个位置和第三个位置)。给定序列长度n,你的代码应能找到dna.example.fasta文件中所有长度为n的重复序列。另外,还需确定重复序列出现的次数,以及出现次数最多的给定长度的重复序列。


在线提交订单