如何下载一个物种的全部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="\n")
我的脚本可以用,但是不一定很快。
我用awk试了很久,没有成功。
2018年3月16日
如何下载一个物种的全部EST序列 | NCBI | 表达序列标签的更多相关文章
- 【tomcat ecplise】新下载一个tomcat,无法成功启动,或者启动了无法访问localhost:8080页面/ecplise无法添加新的tomcat/ecplise启动tomcat启动不起来
今天转头使用ecplise,于是新下载一个tomcat7来作为服务器使用 但是问题来了: [问题1:全新的tomcat启动即消耗了不可思议的时间,并且启动了之前其他tomcat中的很多项目] [注意: ...
- GitHub的使用(下)—— 如何下载一个已存在的 Repository
导读:本篇主要介绍如何使用EGit下载GitHub上已存在的库.如果不是为了下载一个Java Project,直接在Eclipse中导入使用,那可以使用GitHub的桌面程序(GitHub for W ...
- C#多线程下载一个文件
这里只是说明多线程下载的理论基础,嘿嘿,并没有写多线程下载的代码,标题党了,但是我相信,看完这个代码就应该能够多线程的方式去下载一个文件了. 多线程下载是需要服务器支持的,这里并没有判断服务器不支持的 ...
- Python requests库如何下载一个图片资源
原文地址https://blog.csdn.net/u011541946/article/details/77700074 前面一篇文章介绍了response对象的一些常用API,也已经提到,我们的重 ...
- 下载一个新的app之后,如果分析、鉴赏?
一直对新的事物还是比较好奇的,所以希望以后每隔几天就下载一个app,去体验,但是之前体验的时候,都是大概看看功能.竞品分析.流畅度等等,却没有一个完整的方法论,所以,这篇文章就是总结一下更为具体的方法 ...
- Gym 101064 D Black Hills golden jewels 【二分套二分/给定一个序列,从序列中任意取两个数形成一个和,两个数不可相同,要求求出第k小的组合】
D. Black Hills golden jewels time limit per test 2 seconds memory limit per test 256 megabytes input ...
- 安装rpy2 报错<cdef source string>:23:5: before: blah1 解决办法就是直接下载一个rpy2的轮子
win7上安装rpy2, python环境是3.6.1. 使用pip install rpy2直接安装rpy2,对应的版本时rpy2 3.0.5 报如下错误: ERROR: Complete outp ...
- 代码实现:当我们下载一个试用版软件,没有购买正版的时候,每执行一次就会提醒我们还有多少次使用机会用学过的IO流知识,模拟试用版软件,试用10次机会,执行一次就提示一次您还有几次机会,如果次数到了提示请购买正版
package com.loaderman.test; import java.io.BufferedReader; import java.io.FileReader; import java.io ...
- 扩增子分析解读4去嵌合体 非细菌序列 生成代表性序列和OTU表
本节课程,需要先完成 扩增子分析解读1质控 实验设计 双端序列合并 2提取barcode 质控及样品拆分 切除扩增引物 3格式转换 去冗余 聚类 先看一下扩增子分析的整体流程,从下向上逐层分析 分 ...
随机推荐
- QT5下的caffe项目属性
TEMPLATE = app CONFIG += console c++11 CONFIG -= app_bundle CONFIG -= qt SOURCES += /home/aimhabo/ca ...
- ol3开发离线地图
注意:国内地图均经过加密,尤其是百度地图,经过了二次加密,通常情况下都会存在偏差.所以最好是利用地图下载器下载后面带有“无偏差”的地图,否则需要对经纬度进行转化. 1.需要的前端库文件有jquery. ...
- linux内核中的PTP clock是什么?
答: Precise Time Protocol(PTP),这是一种高精度时间同步协议,PTP是在硬件级实现的,因此需要硬件支持才能实现高精度时间同步
- hexo在github和coding.net部署并分流(一)
安装GIT和Node.JS 首先在自己的电脑上安装好git和node.js,这一步怎么做自己搜索,安装软件都是下一步下一步,应该不难,GIT安装完成后打开git cmd输入 git config -- ...
- POJ 2409 Let it Bead
思路 同这道题,只是颜色数从3变成c 代码 #include <cstdio> #include <algorithm> #include <cstring> #d ...
- Learning to Track at 100 FPS with Deep Regression Networks ECCV 2016 论文笔记
Learning to Track at 100 FPS with Deep Regression Networks ECCV 2016 论文笔记 工程网页:http://davheld.git ...
- -第3章 jQuery方法实现下拉菜单显示和隐藏
知识点 jquery 的引入方式 本地下载引入 在线引入 children 只获取子元素,不获取孙元素 show() 显示. hide() 隐藏. 完整代码 <!-- Author: XiaoW ...
- 在服务器端对sshd做白名单
1.添加用户 #useradd aaa #passwd aaa -->输入密码:123456 添加3个用户,bbb和ccc与aaa添加一样 2.添加白名单 #vim /etc/ssd/sshd_ ...
- Go 字典(Map)
比较熟悉 Python 的对于字典肯定不会陌生,在 Go 中 map 就是 Python 中字典的概念,它的基本格式是 map[keyType]valueType .map 的读取和设置和 slice ...
- layer 弹出层 回调函数调用 弹出层页面 函数
1.项目中用到layer 弹出层,定义一个公用的窗口,问题来了窗口弹出来了,如何保存页面上的数据呢?疯狂百度之后,有了结果,赶紧记下. 2.自己定义的公共页面方法: layuiWindow: func ...