生物学知识:基因家族的形成方式 转载自https://www.omicsclass.com/article/494
基因家族(英语:Gene family),是来源于同一个祖先,由一个基因通过基因重复而产生两个或更多的拷贝而构成的一组基因,它们在结构和功能上具有明显的相似性,编码相似的蛋白质产物。
基因家族的形成(加倍和扩张)
1.染色体組多倍化( Whole genome duplication or polyploidization)(WGD):大部分植物都经历过古老的全基因组复制事件(WGD)or多倍化,它是一种大规模的染色体倍增事件,一次性增加一个物种所有基因的剂量,导致基因组中保留着大量染色体倍增的片段。全基因组复制造成的重复区通常是一大片区域中所有基因的重复,而不是单个基因或几个基因的重复。高等植物,很多都经历过多倍化过程如棉花(AADD),花生(AABB),小麦(AABBDD)等等,那么基因组在多倍化的过程中,就会发生基因的成倍增加: 2.串联复制(Tandem duplication) (TD):串联复制主要发生在染色体重组区域,串联复制形成的基因家族成员通常紧密排列在同一条染色体上,形成一个序列相似、功能相近的基因簇。 3.染色体片段复制(Segmental duplication)(SD):导致复制的基因距离较远,甚至位于不同的染色体。 4.反转录转座(Retrotransposition):反转录转座是指件已经转录和剪切的mRNA,再经过逆转录过程形成cDNA,然后随机插入到染色体的某一位置形成新的重复基因的过程。经反转录转座形成的新基因往往由于缺少必要的调控序列,通常都是不能表达的假基因。 5.外显子重复和改组(Exon duplication and shuffling ) 大片段复制的家族基因,及反转录转座也会导致加倍的家族基因位于不同的染色体 严格区分的话,应该用共线性的方法去查找大片段复制的基因,如mcscan去查找:因为大片段复制的基因周围的基因也有相似性,而反转录转座就不同了,周围的其他基因不相似。
0.收集需要比较的物种的蛋白序列,并获取每个基因编码的最长的蛋白序列
1.使用OrthoFinder查找直系同源基因
2.Iqtree进化树构建
3.MCMCTREE估计分化时间,R8S用推断的物种树提取超度量树(ultrametric tree)
R8s的下载安装
wget -q https://sourceforge.net/projects/r8s/files/r8s1.81.tar.gz \
&& tar -zxvf r8s1.81.tar.gz \
&& cd r8s1.81/src \
&& cp Makefile.linux Makefile.linux.bak \
&& sed -i 's/continuousML.o //' Makefile.linux \
&& sed -i 's/continuousML.o:/#continuousML.o:/' Makefile.linux \
&& make -f Makefile.linux
4. 基因家族扩张与收缩分析(CAFE)
cafe结果可视化
安装cafe_fig,用于cafe产出文件可视化。
pip3 install ete3
git clone https://github.com/LKremer/CAFE_fig.git
cd CAFE_fig
python3 CAFE_fig.py -h
安装如果报错,缺少依赖包,就用pip3安装。
如果报错NameError: name 'ListType' is not defined,pip3 install scipy
可解决。
错误:qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found
解决办法:用conda安装pyqt5 conda install pyqt
ERROR:qt.qpa.screen: QXcbConnection: Could not connect to display :0.0
解决办法:
echo "export QT_QPA_PLATFORM='offscreen'" >>~/.bashrc
source ~/.bashrc
运行例子
python3 CAFE_fig.py example_result.cafe -pb 0.05 -pf 0.05 --dump test/ -g svg --count_all_expansions
示例输出结果,需要自己用AI调整SVG.
cafe结果可视化方法2:利用caft自带的脚本可视化
python2 ~/tools/CAFE/python_scripts/cafetutorial_report_analysis.py -i resultfile.cafe -o summary_run1
python ~/tools/CAFE/python_scripts/cafetutorial_draw_tree.py -i summary_run1_node.txt -t '(((chimp:6,human:6):81,(mouse:17,rat:17):70):6,dog:93) ' -d '(((chimp<3>,human<3>)<3>,(mouse<3>,rat<3>)<3>)<3>,dog<3>) ' -o summary_run1_tree_rapid.png
cafe自带的py脚本在其他人的github