基因家族分析(保姆级教程二------鉴定)

太久没有更新了,最近忙着组装好几个基因组,后面我也会吧基因组组装的一些东西分享出来哦~
那就步入正题吧,我们在前面准备好了数据之后,就可以开始鉴定所需要的基因家族成员了,这样才能开始后续的分析

先从,最最最最基础的linux的一些使用开始吧,要是不知道在自己电脑上怎么安装linux系统可以参考下面网址哟~
https://www.jianshu.com/p/821e1b409e95?v=1689247563616

1、最最最最基础的就是需要在linux中安装软件了,就像买了一个新手机一样;安装软件当然需要一个软件商店喽
就需要首先安装一个linux中的软件商店,叫做conda,有Anaconda和Miniconda两种,区别的话.......感兴趣的可以了解一下,自己电脑上推荐Miniconda,不占内存,哈哈哈哈

#首先用mkdir software  &&  cd software  创建一个文件夹
#安装Anaconda
#下载
wget -c http://mirrors.aliyun.com/anaconda/archive/Anaconda3-5.3.1-Linux-x86_64.sh?spm=a2c6h.25603864.0.0.49f16323pglbMi -P ~/software
#运行安装包(一路yes)
bash ~/software/Anaconda3-5.3.1-Linux-x86_64.sh
#启动conda程序
source ~/.bashrc

#安装Miniaconda
##Download Miniaconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-Linux-x86_64.sh -P ~/software
bash ~/software/Anaconda3-5.3.1-Linux-x86_64.sh  ##一路yes
source ~/.bashrc

#生成.condarc文件
 conda config --set show_channel_urls yes
#添加conda镜像源
 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
 conda config --set show_channel_urls yes


2、安装完conda就需要借助conda安装基因家族分析需要的软件(工具)

#基因家族成员鉴定的软件,也就几个,三下五除二就能搞定!!!
 conda install seqtk -y
 conda install seqkit -y
 conda install blast -y
 conda install hmmer -y

没啦,是不是几分钟!

3、那我们就开始正式鉴定家族成员,继续以CYP超家族为例吧

#你们是不是进ubuntn系统里面去找不到自己电脑上的文件呀??很简单,一个命令!!
cd /mnt/  #就可以看到你的c盘d盘f盘啥的

############################################################
###废话少说,解释一下下面那些带着$的符号。

#对氨基酸序列进行结构域搜索
hmmsearch --cut_tc --domtblout CYP.domtblout -o CYP.hmmout CYP.hmm genome.pep.fa

#基于E-value值进行过滤
awk '$7<0.01 && $1 !~ /^#/ {print $0 }' CYP.domtblout > CYP.domtblout.filter

#提取预测的目标基因ID
awk '{print $1}' CYP.domtblout.filter | sort -u > CYP.domtblout.filter.id

#构建blast比对数据库
makeblastdb -in Ath.CYP.pep.fa -dbtype prot

#blastp比对
blastp -query  $fasta  -db  Ath.CYP.pep.fa -evalue 1e-10 -outfmt '6 std qlen slen ' -out CYP.blastout

#blast结果基于identity30%过滤
awk '$3 > 30 && $4> 155  {print $1}' CYP.blastout | sort -u > CYP.blastout.filter.id

###具体情况具体分析,二选一即可
#合并hmm和blast结果,也就是取交集(避免缺漏)
cat CYP.domtblout.filter.id  CYP.blastout.filter.id | sort -u > CYP.geneID
##当然也可以取交集(更加精确)
cat CYP.domtblout.filter.id  CYP.blastout.filter.id | sort | uniq -C | awk '$1 == 2 {print $2}'  > CYP.geneID

#提取目标基因的pep和cds序列
seqtk subseq genome.pep.fa CYP.geneID >CYP.pep.fasta
seqtk subseq genome.cds.fa CYP.geneID > CYP.cds.fasta

现在就得到家族基因的基因ID,蛋白序列和cds序列了!很简单吧!

还有其他复杂一点的家族基因,比如多结构域的、结构域嵌合的等,下次再说吧......
我也要去搬砖去了,呜呜呜~~~

你可能感兴趣的:(基因家族分析(保姆级教程二------鉴定))