拟南芥中基因家族序列的提取

1.拟南芥基因组数据的下载

phytozome 是一个收录植物基因组数据的网站,数据整理比较规范,已 经提供了去除可变剪切的 cds 和 protein 序列文件。只有 gff3 文件需要 过滤处理

  1. 对拟南芥的注释文件gff3文件进行ID处理,最终得到以下4个文件

基因组文件:Ath.genome.fasta

基因注释文件:Ath_final.gff3 cds

序列文件:Ath.cds.fasta

蛋白序列文件:Ath.pep.fasta

3.从拟南芥数据库 geneFamily 中下载我们关注的基因家族信息

手动将列表信息复制粘贴至notepad++软件中并保存

然后查阅拟南芥的基因组Ath_genome.fasta文件发现其gene_id全是大写字母,而上述的存在大小写,需将其全部转换成大写ID

awk 命令

然后说说 awk 命令(文本三剑客之一),你可以使用它的 toupper 和 tolower 选项来进行相同的操作。同样是上例,脚本中的命令可以使用以下方式代替执行:

bash 复制代码
$ cat SPL_Ath.list | awk '{print toupper($0)}' >> SPL_Ath.idlist
$cat SPL_Ath.idlist

AT2G47070
AT1G27370
AT1G27360
AT3G60030
AT5G50570
AT1G20980
AT3G57920
AT1G76580
AT5G43270
AT2G33810
AT1G53160
AT3G15270
AT1G69170
AT5G18830
AT1G02065
AT2G42200

上边是将字符转换为大写字符,下边则是相反操作,转换为小写字符:

复制代码
$ cat SPL_Ath.list | awk '{print tolower($0)}' >> test2.list
  1. 基于SPL_Ath.idlist的ID信息去蛋白质序列文件提取对应的氨基酸序列
bash 复制代码
##首先安装seqtk软件
conda install -y seqtk
##再利用subseq选项根据id列表提取对应的序列
seqtk subseq Ath.pep.fasta SPL_Ath.idlist > SPL_Ath.pep.fasta

出现错误,没有提取序列成功;查阅一看发现是目标序列的ID"AT2G47070"和拟南芥蛋白质序列的ID"ATCG00500.1"(从Phytozome网站下载的)名称不一致

查阅发现从Emsembl网站下载的才是和自己的ID命名格式相同

bash 复制代码
##利用subseq选项根据id列表提取对应的序列
seqtk subseq Arabidopsis_thaliana.TAIR10.pep.all.fa SPL_Ath.idlist > SPL_Ath.pep.fasta
复制代码
##利用sed命令配合正则表达式

cat test1.fasta | sed  's/.*gene:\(.*\) transcript:.*/>\1/p' |less -S

##保存结果

cat test1.fasta | sed  's/.*gene:\(.*\) transcript:.*/>\1/p' > pep.fasata

ID替换成基因的id

bash 复制代码
seqtk subseq Arabidopsis_thaliana.TAIR10.pep.all.fa SPL_Ath.idlist > SPL_Ath.pep.fasta

利用seqtk命令进行序列的提取

参考来源:

在Linux命令行内直接进行大小写转换 | 良许Linux教程网 (lxlinux.net)

相关推荐
快乐的韭菜根根23 分钟前
ubuntu 安装slurm并配置
linux·运维·ubuntu
数字新视界24 分钟前
机房动环监控提升运维效率
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
U-Mail邮件系统1 小时前
自建邮箱服务器有哪些软件?三款主流邮件服务器软件推荐
运维·服务器
倒头就睡的小比特2 小时前
Linux基础指令3
linux·服务器
Smoothcloud润云2 小时前
PyTorch推理服务模型热切换与失败回滚实战:降低版本更新中断
服务器·人工智能·pytorch·python·深度学习·gpu
天远数科3 小时前
零信任架构实战:基于天远贷前风险报告构建自动化消金信贷风控与多头共债排查网关
运维·人工智能·架构·自动化
梦帮科技3 小时前
Kali Linux Scapy 畸形报文构造学——深度解剖非法 TCP Flags 与反常序列号
linux·爬虫·神经网络·算法·数学建模·系统架构·模拟退火算法
半杯咖啡半行码4 小时前
Linux 驱动开发入门:内核模块编程基础
linux·服务器·网络
别动我齐刘海4 小时前
Linux 系统调试学习2
linux·运维·c++·人工智能·学习·机器学习·机器人
龙虾电话4 小时前
语音机器人打断不进去:VAD 双阈值迟滞里一个共用的 bool,和它引发的连锁误判
linux