# 共线性 ## 数据 - 修订id后的gff3,暂时在用户上传的input文件夹里Ft_final.gff3; - 物种蛋白文件Ft.pep.fasta,在上传的input里; ## diomand比对 - 构建diamond数据库 (1)构建数据库: diamond makedb --in Ft.pep.fasta --db Ft.pep.fasta (2)使用diamond blastp进行比对,Ft.blast这个命名方式需以blast结尾,Ft.blast这个命名方式需以blast结尾, --max-target-seqs 5保持5 1e-10或者5; diamond blastp --query Ft.pep.fasta --db Ft.pep.fasta --out Ft.blast --outfmt 6 --max-target-seqs 5 --evalue 1e-10 - 用blastp构建数据库 (1)构建数据库 makeblastdb -in Ft.pep.fasta -dbtype prot -out Ft.pep.fasta (2)比对 blastp -query Ft.pep.fasta -db Ft.pep.fasta -outfmt 6 -out Ft.blast -num_threads 10 -num_alignments 5 -evalue 1e-10 ## 过滤gff3文件,染色体、基因、起始、终止 - awk -F ";"以分号为分割符,保存文件名必须与blast的文件名输出一致"Ft"; awk '$3=="mRNA"' Ft_final.gff3 | awk -F ";" '{print $1}'|awk '{print $1"\t"$9"\t"$4"\t"$5}'|sed 's/ID=//' > Ft.gff ## 种内基因复制模式分析,复制基因分类,只需要Ft前缀,会自动查找blast和gff - 分析 duplicate_gene_classifier ./Ft > Ft.dup_class.log - 统计 (1)cat Ft.dup_class.log (2)less Ft.gene_type |cut -f 2| sort | uniq -c ## 种内共线性分析ll MCScanX ./Ft ## 种内共线性分圈图 - 数据 (1)Ft.genome.fasta (2)Ft.SPL.geneID (3)共线性分析"MCScanX ./Ft"的结果Ft.collinearity (4)过滤gff3文件“染色体 基因id 起始 终止”Ft.gff (5)绘图配置文件ideogram.conf、circos.conf、ticks.conf - 计算染色体长度 seqkit fx2tab -l -n -i Ft.genome.fasta |grep "^Ft" |awk '{print $1"\t"$2}' > genome.len - 生成染色体文件,即核型信息文件,共7列 awk '{print "chr\t-\t"$1"\t"$1"\t0\t"$2"\tchr"NR}' genome.len > Ft.karyotype.circos.txt - 生成ciscos作图数据文件 perl scripts/get_mcscanx_circos.pl Ft.gff Ft.collinearity Ft.SPL.geneID Ft.SPL.circos - 绘图 circos ## 微共线图:microsynteny绘图,微供线性。展示部分, 超过10条就不好展示 - 数据 (1)Ft.collinearity (2)Ft_final.gff3 - 绘图 (1)选取需要图示的共线性块信息,生成文件为2列,为块内共线性基因对 awk '$1 ~ /^0-/' Ft.collinearity | awk -F "\t" '{print $2"\t"$3}'|head -n 10 > blocks (2)准备好基因位置信息及方向文件 awk '$3=="mRNA"' Ft_final.gff3 | awk -F ";" '{print $1}'|awk '{print $1"\t"$4"\t"$5"\t"$9"\t.\t"$7}'|sed 's/ID=//' > Ft.bed (3)绘制微共线性图:--shadestyle=line线性;--genelabelsize 6 (4-5-6都行) conda activate bgpy310 - 编辑绘图配置文件(需要学习这个) vim blocks.layout - 绘制1:默认 python -m jcvi.graphics.synteny blocks Ft.bed blocks.layout --shadestyle=line --glyphstyle=arrow --genelabelsize 6 - 绘制2:制定微共线性图的线条颜色 (1)vim blocks g*FtPinG0003151100.01.T01 FtPinG0005492300.01.T01 (2)python -m jcvi.graphics.synteny blocks Ft.bed blocks.layout --shadestyle=line --glyphstyle=arrow --genelabelsize 6