用python学生信之实践四,如何提取基因信息ncRNA

论坛 期权论坛 期权     
Rice blast   2019-7-13 08:01   3228   0
今天来探讨以下如何提取基因信息

数据:稻瘟病菌ncRNA
什么是ncRNA?ncrna即非编码RNA(Non-coding RNA)是指不编码蛋白质的RNA,包括rRNA,tRNA,snRNA,snoRNA 和microRNA 等多种已知功能的 RNA,还包括未知功能的RNA。这些RNA的共同特点是都能从基因组上转录而来,但是不翻译成蛋白,在RNA 水平上就能行使各自的生物学功能了。非编码RNA 从长度上来划分可以分为3类:小于50 nt,包括microRNA,siRNA,piRNA;50 nt到500 nt,包括rRNA,tRNA,snRNA,snoRNA,SLRNA,SRPRNA 等等;大于500 nt,包括长的mRNA-like 的非编码RNA,长的不带polyA 尾巴的非编码RNA等等(百度百科)。
数据的获取:http://fungi.ensembl.org/info/website/ftp/index.html 真菌数据 库



    下载后我们将其放在ncrna文件夹里,用linux系统命名操作为

  1. $ mkdir ncrna
复制代码
  1. $ mv Magnaporthe_oryzae.MG8.ncrna.fa.gz  ./ncrna/Mo_ncrna.gz #重命名
复制代码
  1. $cd ncrna/;ls
复制代码
  1. Mo_ncrna.gz
复制代码
  1. $gzip -d Mo_ncrna.gz #  解压
复制代码
查看一下文件内容

  1. $ cat Mo_ncrna |head -n 10
复制代码


可以看到标题为> 后面的内容,下面是rna序列,典型的fasta格式
提取标题,查看有多少个ncRNA
  1. $cat Mo_ncrna |grep '>' >title.txt #将标题存在title.txt文件
复制代码
  1. $wc -l title.txt #查看有多少行
复制代码
  1. 327 title.txt
复制代码
数据库里有327个ncRNA。

下面用python脚本统计每个ncRNA的长度和类型。

  1. f = open('ncrna.txt','w')
复制代码
  1. for line in open('Mo_ncrna','r'):
复制代码
  1.     if '>' in line:   
复制代码
  1.         f.write('\n'+line.split(' ')[0]+','+ line.split(' ')[4]+','+line.split(' ')[7]+ '\n')
复制代码
  1.     else:
复制代码
  1.         f.write(line.strip())
复制代码
  1. f.close()              
复制代码
        输出为excel文件
  1. f = open('ncran_excel.csv','w')
复制代码
  1. for line in open('ncrna.txt','r'):
复制代码
  1.     if '>' in line:
复制代码
  1.         f.write(line.strip()+',')
复制代码
  1.     else:
复制代码
  1.         f.write(line.strip() +',' +str(len(line))+ '\n')
复制代码
  1. f.close()
复制代码

这样我们就把稻瘟菌中的ncRNA整理出来了。        
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP