情况介绍
这是最后一片的id的重命名论坛了,没有以后了,有也会继续在这上面以补丁的形式添加。
之前的注释,比如NCC和BA,虽然改了名字,但是这些排序上相邻的基因在基因组上的坐标不是相邻的,这样可能有些不太美观,主要是没法看duplication的基因,观察这些规律等等。因此,这一版本将重新对注释文件中的基因按照坐标进行排序,然后重新命名。注释的内容实际上没有改变,只是ID名字再次更新。
- 先按照染色体分成11个注释内容
- 每个染色体上的注释文件,按照基因在染色体上的顺序进行重新排序(递增)
操作流程
- 分割BA的注释文件成11个染色体的注释
awk '{if ($1 ~ /^Chr[0-9]+$/) print > $1".gff"}' female_mark1_rename.gff3- 提取基因ID和起始、终止位置和正反链4列内容
- 这里只放一个染色体
awk '$3=="gene"{split($9,a,";"); id=a[1]; sub(/^ID=/,"",id); print id "\t" $4 "\t" $5 "\t" $7}' Chr01.gff > chr01.txt- 按照坐标对基因进行排序
- 按照起始和终止位置,对基因进行排序,递增(起始和终止)
sort -k2,2n -k3,3n chr01.txt > chr01_sorted.txt- 根据先前排序号的基因id,提取注释文件
- 按照排过顺序的基因id提取得到的注释文件也是排序好的
while read id start end strand; do
grep "$id" Chr01.gff
done < chr1_sorted.txt > Chr01_sorted.gff- 修改注释文件的id
- 示例:TgF01G00020,前缀Tg已经写好,这里需要输入的只有01G和F部分,至于基因ID编号则是按照文本从上到下自动命名;因为上一步,基因排序过了,所以没问题
bash convert3.sh -i Chr01_sorted.gff -c 01G -t F -o Chr01_convert.gff- 合并所有的注释文件
cat \
Chr01_convert.gff \
Chr02_convert.gff \
Chr03_convert.gff \
Chr04_convert.gff \
Chr05_convert.gff \
Chr06_convert.gff \
Chr07_convert.gff \
Chr08_convert.gff \
Chr09_convert.gff \
Chr10_convert.gff \
Chr11_convert.gff > female_ba.gff3- 检查一下数量,看看有没有漏掉的
- 36172,数量ok
grep -cP '^\S+\s+\S+\s+gene\s' female_ba.gff3- 每个gene之间插入一个空行,这样视觉上更好看一下,每个基因也分的更加清楚,对注释内容本身没有影响
awk 'NR>1 && $3=="gene"{print ""} {print}' female_ba.gff3 > female_ba_last.gff3- 提取蛋白序列和cds序列
gffread female_ba_last.gff3 -g female_chr_rename.fna -y female_ba_last.protein.fa
gffread female_ba_last.gff3 -g female_chr_rename.fna -x female_ba_last.cds.fa