使用Swiss-Prot根据同源基因进行注释

该博客详细介绍了如何从UniProt下载植物蛋白数据,将其合并并提取fasta序列,接着利用DIAMOND创建索引并进行序列比对。比对后,通过Python脚本筛选最佳匹配并提取GO、KEGG等注释信息。整个流程涵盖了生物信息学中的序列处理和比对分析关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步: 在uniprot下载UniProt 上植物dat格式的注释文件。

wget ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/taxonomic_divisions/uniprot_sprot_plants.dat.gz
wget ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/taxonomic_divisions/uniprot_trembl_plants.dat.gz

将两个dat合并到成一个文件

zcat uniprot_sprot_plants.dat.gz uniprot_trembl_plants.dat.gz > uniprot_plants.dat

第二步: 从dat中提取fasta序列

dat=uniprot_plants.dat
awk '{if (/^ /) {gsub(/ /, ""); print} else if (/^AC/) print ">" $2}' $1 > ${1%%.dat}_AC.fasta

第三步: 建立DIAMOND或NCBI BLAST+索引

diamond makedb --in uniprot_plants_AC.fasta -d uniprot_plants_AC

第四步: 使用DIAMOND或NCBI BLAST+进行比对

diamond blastp -d /data/database/UniProt-Plant/uniprot_plants_AC.dmnd -q proteins.fasta --evalue 1e-5 > blastp.outfmt6

第五步: 从DIMAMOND或NCBI BLAST+的比对结果中筛选每个query的最佳subject

python -m jcvi.formats.blast best -n 1 blastp.outfmt6

第六步: 使用add_annotation_from_dat.py(代码在GitHub上)根据blastp输出从dat中提取GO/KEGG/同源基因。运行在Python2/3环境中,需要安装BioPython

python ~/myscripts/add_annotation_from_dat.py blastp.outfmt6.best /data/database/UniProt-Plant/uniprot_plants.dat

之后会输出swiss_annotation.tsv, 输出信息包括如下几列

  • gene id
  • uniprot accession
  • identity
  • homology species
  • EnsemblPlants
  • GO ID
  • GO component, CC/MF/BP
  • evidence
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值