编程练习

这里提供一些题目,同学们可以检验一下学习的效果。

DNA序列的简单分析

有如下两个从NCBI下载的文件,分别是人类血红蛋白mRNA序列和CDS序列,将两个文件下载下来并进行后边要求的分析。

ftp://ftp.biolab.wang/data/Human_hemoglobin_mRNA.fasta

ftp://ftp.biolab.wang/data/Human_hemoglobin_CDS.fasta

其中一条RNA序列信息示例如下:

>NM_000559.3 Homo sapiens hemoglobin subunit gamma 1 (HBG1), mRNA
ACACTCGCTTCTGGAACGTCTGAGGTTATCAATAAGCTCCTAGTCCAGACGCCATGGGTCATTTCACAGA
GGAGGACAAGGCTACTATCACAAGCCTGTGGGGCAAGGTGAATGTGGAAGATGCTGGAGGAGAAACCCTG
GGAAGGCTCCTGGTTGTCTACCCATGGACCCAGAGGTTCTTTGACAGCTTTGGCAACCTGTCCTCTGCCT
CTGCCATCATGGGCAACCCCAAAGTCAAGGCACATGGCAAGAAGGTGCTGACTTCCTTGGGAGATGCCAC
AAAGCACCTGGATGATCTCAAGGGCACCTTTGCCCAGCTGAGTGAACTGCACTGTGACAAGCTGCATGTG
GATCCTGAGAACTTCAAGCTCCTGGGAAATGTGCTGGTGACCGTTTTGGCAATCCATTTCGGCAAAGAAT
TCACCCCTGAGGTGCAGGCTTCCTGGCAGAAGATGGTGACTGCAGTGGCCAGTGCCCTGTCCTCCAGATA
CCACTGAGCTCACTGCCCATGATTCAGAGCTTTCAAGGATAGGCTTTATTCTGCAAGCAATACAAATAAT
AAATCTATTCTGCTGAGAGATCACACA

其中一条CDS序列信息示例如下:

>lcl|NM_000558.5_cds_NP_000549.1_1 [gene=HBA1] [db_xref=CCDS:CCDS10399.1] [protein=hemoglobin subunit alpha] [protein_id=NP_000549.1] [location=38..466] [gbkey=CDS]
ATGGTGCTGTCTCCTGCCGACAAGACCAACGTCAAGGCCGCCTGGGGTAAGGTCGGCGCGCACGCTGGCG
AGTATGGTGCGGAGGCCCTGGAGAGGATGTTCCTGTCCTTCCCCACCACCAAGACCTACTTCCCGCACTT
CGACCTGAGCCACGGCTCTGCCCAGGTTAAGGGCCACGGCAAGAAGGTGGCCGACGCGCTGACCAACGCC
GTGGCGCACGTGGACGACATGCCCAACGCGCTGTCCGCCCTGAGCGACCTGCACGCGCACAAGCTTCGGG
TGGACCCGGTCAACTTCAAGCTCCTAAGCCACTGCCTGCTGGTGACCCTGGCCGCCCACCTCCCCGCCGA
GTTCACCCCTGCGGTGCACGCCTCCCTGGACAAGTTCCTGGCTTCTGTGAGCACCGTGCTGACCTCCAAA
TACCGTTAA
  1. 分别使用AWK、Python、R等各做一次,仅使用基本函数,将序列的信息整理到一个叫Human_hemoglobin_info.tsv的表中,至少包括这些列:gene_id, gene_symbol, gene_length, gc_content, protein_name, protein_id, protein_length。注:示例序列中NM_000559.3为gene_id, HBG1为gene_symbol。关于fasta格式的规范自己上网搜索一下,比如看看这个和这个。
  2. 使用R语言将上边所得到的seq_length与protein_length以散点图的形式展现出来,同时用颜色深浅表示gc_content的高低,将gene_symbol标注在点的旁边,不要压住点,gene_symbol间不要有重叠。

SSH登陆失败分析

现有一个截取secure文件中包含sshd.*Failed password for字段的行所得的文件,链接如下:

ftp://ftp.biolab.wang/data/SSH_Failed_Password.txt

这里记录了服务器几天内被攻击的情况,可以看到来自不同IP地址的攻击者尝试不同的用户名和端口以及密码进行几万次的登陆尝试。面对这个几万行的文件,我们知道用户名、端口、密码等做好保密工作和设置足够的复杂度很重要。而对于其他的有用信息却不容易看出来。因此,就需要对文件进行分析,把有用地信息展现出来。请按如下要求对这个文件进行分析,将尽可能多地信息展现出来:

  1. 尽可能多地展现信息,这是个开放性地问题,自己去思考有哪些信息可以展现出来
  2. 不限制编程语言的使用,但估计R语言会更方便一些
  3. 展现方式不限,使用表格、图片等方式可能更方便查看
  4. 不用按照以上要求,你可以告诉我还能做什么

会有更多,敬请期待


本网页已被访问次数(Times visited):8181; 最后编辑时间(Last modified): 2020/10/01 10:51