「基因组」日常工作之修改注释文件和NCBI基因组下载

只想水一水,我某一天水别人的东西。
今天,看了半个小时的nextdenovo组装 segmentation fault 报错异常,终于从github上的回复看到了解决思路,老方法-排除法,顺利找到假done。
总会有奇奇怪怪的异常,最害怕没有见过的异常,所以hifi时代,为什么要给CLR和ont数据组装,我简直要崩溃!!!

0.常见注释文件gff3的问题类型

1.没有gene行,有mRNA行。(可以修改加上gene,mRNA行坐标跟gene一样,注意mRNA有没有完全一样坐标的行,这可能是有可变剪切的注释文件)
2.有mRNA行,没有gene行。(可以修改加上gene,mRNA行坐标跟gene一样)
3.没有mRNA行,有transcript行。(可能transcript和mRNA有区别,一般直接替换为mRNA即可)
4.没有CDS行,有exon。(不可用)
5.ID或patent ID错误。
6.gene行等信息太大,gffread无法提取。(awk过滤第九列)
7.第九列没有patent ID。(可添加)
8.注释文件中有序列信息。(grep -v过滤,可用))
9.NCBI的注释文件有mRNA,gene,CDS‘,exon,UTR以外的psegene,ncrna,一个gene分为多个part,一个gene对应的CDS方向有+有-,mRNA方向为?等等。(根据gffgread报错信息直接过滤对应的gene)
10.coge网站注释文件,其实是可变剪切的注释文件,有相同的gene行。(awk '!arr[$9]++' test.gff3)

1.ascp下载NCBI基因组

找到下载链接Mauremys reevesii:从路径genomes从截断,基因组下载从此光速完成:
https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/016/161/935/GCF_016161935.1_ASM1616193v1/GCF_016161935.1_ASM1616193v1_genomic.gff.gz

ascp安装

wget https://download.asperasoft.com/download/sw/connect/3.8.1/ibm-aspera-connect-3.8.1.161274-linux-g2.12-64.tar.gz
tar zxf ~/downloads/ibm-aspera-connect-3.8.1.161274-linux-g2.12-64.tar.gz  -C ~/biosoft/ #指定安装目录
cd ~/biosoft/
bash ibm-aspera-connect-3.8.1.161274-linux-g2.12-64.sh # 安装(我修改为bash解释器)
cd   # 去根目录
ls -a   # 查看是否有.aspera文件夹,如果看到.aspera文件夹,代表安装成功
echo 'PATH=$PATH:~/.aspera/connect/bin/' >> ~/.bashrc   # 永久添加环境变量
source ~/.bashrc #让当前变量生效
ascp --help

下载基因组命令:

ascp -i /home/pengzw/.aspera/connect/etc/asperaweb_id_dsa.openssh -QTr -l200m anonftp@ftp.ncbi.nlm.nih.gov:genomes/all/GCF/016/161/935/GCF_016161935.1_ASM1616193v1/GCF_016161935.1_ASM1616193v1_genomic.fna.gz ./
ascp -i /home/pengzw/.aspera/connect/etc/asperaweb_id_dsa.openssh -QTr -l200m anonftp@ftp.ncbi.nlm.nih.gov:genomes/all/GCF/016/161/935/GCF_016161935.1_ASM1616193v1/GCF_016161935.1_ASM1616193v1_genomic.gff.gz ./
2.日常之修改注释文件
修改注释文件第九列 类型1:gene一般保留ID即可;mRNA保留ID,mRNA parent ID是gene ID,cds和exon的parent ID是mRNA ID。NGDC下载的注释文件错误为CDS,exon,UTR的parent ID是gene ID。所以需要根据$3修改第九列,根据特征修改为mRNA ID。
less source.bak/GWHBEIJ00000000.1.gff.gz |head
#OriSeqID=Hic_asm_0 Accession=GWHBEIJ00000001.1
GWHBEIJ00000001.1   .   gene    638318  642045  .   +   .   ID=evm.TU.FRAGSCAFF_80.69;Accession=GWHGBEIJ000001.1;Name=EVM%20prediction%20FRAGSCAFF_80.69;transl_table=1
GWHBEIJ00000001.1   .   mRNA    638318  642045  .   +   .   ID=evm.model.FRAGSCAFF_80.69;Accession=GWHTBEIJ000002.1;Parent=evm.TU.FRAGSCAFF_80.69;Parent_Accession=GWHGBEIJ000001.1;Name=EVM%20prediction%20FRAGSCAFF_80.69;transl_table=1
GWHBEIJ00000001.1   .   five_prime_UTR  638318  638401  .   +   .   ID=evm.model.FRAGSCAFF_80.69.utr5p1;Parent=evm.TU.FRAGSCAFF_80.69;Parent_Accession=GWHTBEIJ000001.1;transl_table=1
GWHBEIJ00000001.1   .   five_prime_UTR  638511  638588  .   +   .   ID=evm.model.FRAGSCAFF_80.69.utr5p2;Parent=evm.TU.FRAGSCAFF_80.69;Parent_Accession=GWHTBEIJ000001.1;transl_table=1
GWHBEIJ00000001.1   .   five_prime_UTR  639455  639489  .   +   .   ID=evm.model.FRAGSCAFF_80.69.utr5p3;Parent=evm.TU.FRAGSCAFF_80.69;Parent_Accession=GWHTBEIJ000001.1;transl_table=1
GWHBEIJ00000001.1   .   exon    638318  638401  .   +   .   ID=evm.model.FRAGSCAFF_80.69.exon1;Parent=evm.TU.FRAGSCAFF_80.69;Parent_Accession=GWHTBEIJ000001.1;transl_table=1
GWHBEIJ00000001.1   .   exon    638511  638588  .   +   .   ID=evm.model.FRAGSCAFF_80.69.exon2;Parent=evm.TU.FRAGSCAFF_80.69;Parent_Accession=GWHTBEIJ000001.1;transl_table=1
GWHBEIJ00000001.1   .   exon    639455  639591  .   +   .   ID=evm.model.FRAGSCAFF_80.69.exon3;Parent=evm.TU.FRAGSCAFF_80.69;Parent_Accession=GWHTBEIJ000001.1;transl_table=1
GWHBEIJ00000001.1   .   CDS 639490  639591  .   +   0   ID=cds.evm.model.FRAGSCAFF_80.69.CDS1;Parent=evm.TU.FRAGSCAFF_80.69;Parent_Accession=GWHTBEIJ000001.1;Protein_Accession=GWHPBEIJ000001.1;transl_table=1


less source.bak/GWHBEIJ00000000.1.gff.gz |awk -F '[\t;]' '{if($3~/gene/) {print $1"\t"$2"\t"$3"\t"$4"\t"$5"\t"$6"\t"$7"\t"$8"\t"$9} else{print $0}}'| awk -F '[\t;]' '{if($3~/mRNA/) {print $1"\t"$2"\t"$3"\t"$4"\t"$5"\t"$6"\t"$7"\t"$8"\t"$9";"$11} else{print $0}}' >GWHBEIJ00000000.1.gff.bak

awk -F '[\t]' '{OFS="\t";if ($3~/CDS/||/exon/||/five_prime_UTR/||/three_prime_UTR/) {gsub("TU", "model", $9); print $0} else {print $0}}'  GWHBEIJ00000000.1.gff.bak >GWHBEIJ00000000.1.gff

修改注释文件添加gene行 类型2:
less Pyrus_bretschneideri_Chr_gene.gff|grep -v "^#"|perl -e '{while (<>){chomp;@a=split /\t/;if ($a[2]=~/mRNA/){if($a[8]=~/ID=(.*?);/){$gid="gene_".$1;}print "$a[0]\t$a[1]\tgene\t$a[3]\t$a[4]\t$a[5]\t$a[6]\t$a[7]\tID=$gid;\n${_}Parent=$gid;\n";}else{print "$_\n";}}}' > Pyrus_bretschneideri_Chr_gene_new.gff
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容