• 如何下载一个物种的全部EST序列 | NCBI | 表达序列标签


    EST:表达序列标签,expressed sequence tags 。

    顾名思义,很好理解,就是表达出来的序列,即从基因组DNA上表达出来的RNA,但是我们没法测序RNA,所以我们最终测的是表达序列的cDNA片段。

    “标签”:就是指这些序列可能比较短,但是可以用来标定一个物种。

    常见下载方式有两种:

    1. NCBI Web下载

    https://www.ncbi.nlm.nih.gov/dbEST/

    打开,搜索你要的物种,比如 Camellia ,可以看到结果EST (50287)。

    Web下载几个还行,想要批量下载就有点费力了,ncbi反爬虫,也不好爬。

    2. NCBI ftp下载

    ftp://ftp.ncbi.nih.gov/repository/dbEST/

    直接wget就可以批量下载了。

    for one in `seq 1 81`
    do
    echo $one
    wget ftp://ftp.ncbi.nih.gov/repository/dbEST/dbEST.reports.000000.${one}.gz
    done  

    下载后的文件格式是:

    IDENTIFIERS
    
    dbEST Id:       5
    EST name:       EST00006
    GenBank Acc:    M61958
    GDB Dsegment:   D0S2525E
    
    CLONE INFO
    Clone Id:       HHCSB86
    Source:         ATCC
    Id in host:     77063
    DNA type:       cDNA
    
    PRIMERS
    Sequencing:     M13 Forward
    PolyA Tail:     Unknown
    
    SEQUENCE
                    TGCACAACCAAGTTTTGTGACTACGGGAAGGCTCCCGGGGCAGAGGAGTACGCTCAACAA
                    GATGTGTTAAAGAAATCTTACTCCAAGGCCTTCACGCTGACCATCTCTGCCCTCTTTGTG
                    ACACCCAAGACGACTGGGGCCCNGGTGGAGTTAAGCGAGCAGCAACTNCAGTTGTNGCCG
                    AGTGATGTGGACAAGCTGTCACCCACTGACA
    
    Entry Created:  May 26 1992
    Last Updated:   Dec 18 2012
    
    PUTATIVE ID     Assigned by submitter
                    2',3'-cyclic nucleotide phoshodiesterase
    
    LIBRARY
    Id:             LIBEST_000004
    Lib Name:       LIBEST_000004 Hippocampus, Stratagene (cat. #936205)
    Organism:       Homo sapiens
    Vector:         lambdaZAP-II
    Description:    Female, 2 years; oligo-dT + random primed cDNA synthesis;
    

    信息是挺全面的,自己想要哪个物种就只能自己提取了。

    提取成FASTA的脚本我就不贴了(效率很重要,因为文件很大)。

     最后我还是自己写了个脚本,biopython实在是太慢了。

    import gzip
    inf = gzip.open("dbEST.reports.000000.49.gz","rb")
    raw_id = ""
    seq = ""
    
    for line in inf:
        if line.stratswith("GenBank Acc"):
            id = line.split(":")[1].strip()	
        if line.stratswith("SEQUENCE"):
    		seq = ""
    		while True:
    			rline = inf.readline()
    			seq+=rline.strip()
    			if not line.stratswith(" "):
    				break
    	if line.stratswith("Organism"):
    		organism = line.split(":")[1].strip()
    		if organism.startswith("Camellia"):
    			print(">"+id+"   "+organism, seq, sep="
    ")
    

      

    我的脚本可以用,但是不一定很快。

    我用awk试了很久,没有成功。

    2018年3月16日  

  • 相关阅读:
    网卡中断负载均衡
    【Linux】tcp缓冲区大小的默认值、最大值
    ssh RSA key变化后处理
    drop_caches控制page cache
    Linux的page cache使用情况/命中率查看和操控
    如何在vscode中调试vue-cli项目?
    vue-cli || webpack 打包的时候css里面写的背景图片的路径出错问题
    charles 的安装和手机配置 (我用的win7系统 ,和 iphone8 的配置)
    如何结合插件 vue-lazyload 来简单实现图片懒加载?
    cordova 和 java ( JDK ) 和 android-studio (SDK)的初始安装和配置
  • 原文地址:https://www.cnblogs.com/leezx/p/8583351.html
Copyright © 2020-2023  润新知