生信喵 发表于 2022-6-29 16:55:44

MCScanX共线性分析

利用 MCScanX 绘制共线性图
       MCScanx:Multiple Collinearity Scan toolkit,MCScanX 是检测基因共线性和进化分析的软件。需要使用基因集进行自身比对。MCScanX 的输入需要两个文件:*.blast 和 *.gff。文件前缀名需要完全一致。*.blast 文件可以直接用 all-vs-all 出结果。首先将预测的蛋白质文件的 fasta文件整合一下。另外的列表文件,需要从 gff 文件中提取获得。一共分为四列,分别是第一列是物种名和染色体编号,第二列是基因号,第三列是起始位置,第四列是终止位置。
       网址:https://github.com/wyp1125/MCScanx

一、安装 mscanx
git clone https://github.com/wyp1125/MCScanX.git
cd MCScanx
make       准备输入文件
#下载参考序列与gff文件
#https://www.ncbi.nlm.nih.gov/genome/?term=Klebsiella%20pneumoniae
wget https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/240/185/GCF_000240185.1_ASM24018v2/GCF_000240185.1_ASM24018v2_genomic.fna.gz
wget https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/240/185/GCF_000240185.1_ASM24018v2/GCF_000240185.1_ASM24018v2_genomic.gff.gz
wget https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/240/185/GCF_000240185.1_ASM24018v2/GCF_000240185.1_ASM24018v2_protein.faa.gz

#处理gff或者bed格式文件
perl -F'\t' -lane 'next unless $F eq "CDS";print join qq{\t},$F,$F[-1]=~s/ID=cds-([^;]+).Parent=.*$/$1/r,$F,$F' GCF_000240185.1_ASM24018v2_genomic.gff >ref.gff
grep ">" mgh78578.faa | awk '{print "contig\t"$1"\t"$3"\t"$5}' | sed -e 's/>//' >mgh78578.gff

#合并文件
cat GCF_000240185.1_ASM24018v2_protein.faa mgh78578.faa >all.faa
cat cat ref.gff mgh78578.gff >test/all.gff
二、运行软件
#blast比对
makeblastdb -in all.faa -dbtype prot -out all -parse_seqids
blastp -query all.faa -db all -out all.blast -evalue 1e-10 -num_threads 12 -outfmt 6 -num_alignments 5

#运行结果
mkdir all;
mv all.blast all.gff all
~/biosoft/MCScanX/MCScanX all/all       *.collinearity: 成对的共线性区域
       *.tandem: 串联基因
       *.html: 共线性可视化的 html 文件,里面有很多小文件,文件名称是根据参考基因组染色体编号来的。

三、下游分析
#过滤duplicate_gene
~/biosoft/MCScanX/duplicate_gene_classifier all/all

#下游分析,将downstream_analyses程序拷贝至结果目录
#案例地址:https://github.com/wyp1125/MCScanx#the-following-is-the-list-of-executable-programs
cp ~/biosoft/MCScanX/downstream_analyses/* .

#1 Detect_syntenic_tandem_arrays
detect_collinear_tandem_arrays -g os_sb.gff -b os_sb.blast -c os_sb.collinearity -o exam1.txt

#2 Dissect_multiple_alignment
dissect_multiple_alignment -g os_sb.gff -c os_sb.collinearity -o exam2.txt

#3 dot_plotter
java dot_plotter -g os_sb.gff -s os_sb.collinearity -c dot.ctl -o exam3.png

#4 dual_synteny_plotter
java dual_synteny_plotter -g os_sb.gff -s os_sb.collinearity -c dot.ctl -o exam4.png

#5 Circle_plotter
java circle_plotter -g os_sb.gff -s os_sb.collinearity -c circle.ctl -o exam5.png

#6 Bar_plotter
java bar_plotter -g os_sb.gff -s os_sb.collinearity -c bar.ctl -o exam6.png

#7 add_kaks_to_synteny.pl
perl add_kaks_to_synteny.pl -i os_sb.collinearity -d cds_file -o exam7

#8 group_collinear_genes.pl
perl group_collinear_genes.pl -i os_sb.collinearity -o exam8.cluster
页: [1]
查看完整版本: MCScanX共线性分析