091-NCBI Entrez direct序列处理小工具

刘小泽写于19.3.12

许多时候我们需要从NCBI下载数据或者仅仅是想找基因对应什么物种,几条序列直接搜索没问题,但是批量操作肯定存在更简单的办法

软件安装看这里

https://anaconda.org/bioconda/entrez-direct

具体使用

根据accession number下载基因序列

esearch -db nucleotide -query "NC_001552" | efetch -format fasta 

根据taxon ID提取蛋白序列

esearch -db "protein" -query "txid3072[Organism]" | efetch -format fasta

根据bioproject下载序列

esearch -db bioproject -query "PRJNA285593" | elink -target nuccore|efetch -format fasta

从基因组中提取CDS序列

esearch -db protein -query 302315370| elink -target nuccore|efetch -format ft| grep -A 4 --no-group-separator CDS

esearch -db protein -query 302315370 | elink -target nuccore|efetch -format fasta_cds_na| grep YP_003815423.1

根据蛋白accession number提取taxon ID

esearch -db protein -query "NP_066243"| elink -target taxonomy |efetch -format uid
#use gi instead
esearch -db protein -query "10314000"| elink -target taxonomy |efetch -format uid

利用essumary提取taxon ID

esearch -db nucleotide -query "NC_001552"|esummary|grep TaxId

下载所有refseq蛋白序列

esearch -db "protein" -query "txid10239[Organism] AND refseq[filter]"|efetch -format fasta

根据基因组accession number获取蛋白信息

#下载序列
elink -db nucleotide -id JN420361.1 -target protein|efetch -format fasta
#获取GI号
elink -db nucleotide -id JN420361.1 -target protein|efetch -format uid
#获取accession number
elink -db nucleotide -id JN420361.1 -target protein|efetch -format acc

根据基因ID获取物种名(目测这还是个比较常用的需求,因为比对序列后需要统计有多少序列比对到什么物种,就可以批量操作)

cat genebank.name | while read i;do esearch -db protein -query $i| elink -target taxonomy |\
	efetch -format xml |xtract -pattern TaxaSet -element ScientificName|cut -f1 ;done
Yunze Liu
Yunze Liu
Bioinformatics Sharer

Co-founder of Bioinfoplanet(生信星球)

Next
Previous

Related