1.1)GFF3
GFF3允許使用#作為注釋符號 ,除去注釋外,主體部分共有9列。
1) seqid :序列的id。(The name of the sequence where the feature is located.)
2)source:注釋的來源,一般指明產生此gff3文件的軟件或方法(e.g. Augustus or RepeatMasker)。如果未知,則用點(.)代替。
3)type: 類型,此處不受約束,但為下游分析方便,建議使用gene,repeat_region,exon,CDS,或SO對應編號等。
4)start:起始位置,從1開始計數(區別於bed文件從0開始計數)。
5)end:終止位置。
6)score:得分,注釋信息可能性說明,可以是序列相似性比對時的E-values值或者基因預測是的P-values值。”.”表示為空。(indicates the confidence of the source on the annotated feature)
7)strand:“+”表示正鏈,“-”表示負鏈,“.”表示不需要指定正負鏈,“?” 表示未知.
8)phase :步進。僅對編碼蛋白質的CDS有效,本列指定下一個密碼子開始的位置。可以是0、1或2,表示到達下一個密碼子需要跳過鹼基個數。
9)attributes:屬性。一個包含眾多屬性的列表,格式為“標簽=值”(tag=value),不同屬性之間以分號相隔。
1.2)GTF2
1) seqname: 序列的名字。通常格式染色體ID或是contig ID。
2) source:注釋的來源。通常是預測軟件名或是公共數據庫。
3) start:起始位置,從1開始計數。
4) end:終止位置。
5) feature :基因結構.根據所使用軟件不同,feature types必須注明。CDS,start_codon,stop_codon是一定要含有的類型。
6) score :這一列的值表示對該類型存在性和其坐標的可信度,不是必須的,可以用點“.”代替。
7) strand:鏈的正向與負向,分別用加號+和減號-表示。
8) frame:密碼子偏移,可以是0、1或2。
9) attributes:必須要有以下兩個值:
gene_id value: 表示轉錄本在基因組上的基因座的唯一的ID。gene_id與value值用空格分開,如果值為空,則表示沒有對應的基因。
transcript_id value: 預測的轉錄本的唯一ID。transcript_id與value值用空格分開,空表示沒有轉錄本。

2)GFF3和GTF2之間的異同及相互轉換。
---------------------------------------------------

gffread my.gff3 -T -o my.gtf #gff2gtf
gffread merged.gtf -o- > merged.gff3 #gtf2gff
3) 習題
---------------------------------------
3.1)gff3格式的功能是是什么?目前有幾版?
3.2)gff3共有多少列?每一列的含義是什么?
3.3)gff3中的第8列代表的0,1,2分別代表什么含義?
3.4)gff3第9列不同屬性之間是用什么符號分割的?
3.5)gtf2和gff3格式上有何異同?
3.6)gtf2和gff3在功能上有什么差異?
3.7)gtf2第9列中不同屬性用什么符號分割?
3.8)如何將gtf和gff之間相互轉換?
3.9)統計test.gff文件中組裝出來的染色體條數
3.10)統計test.gff文件中lnc_RNA個數
3.11)統計基因組文件test.gff中有多少個基因
3.12)求最長基因的長度
3.13)查找一個基因下有3個轉錄本的基因個數
3.14)求相位為2的cds個數
3.15)找出基因含有最多的外顯子的個數
3.16) 將test.gff轉化為test.gtf
3.17)統計test.gtf中transcript的個數
3.18)根據test.gtf統計位於正鏈上的exon的個數
3.19)將test.gtf中所有的gene ID都統計出來
3.20) 找出test.gtf中位於正鏈上的最長的基因
4) 參考資源
---------------------------------------
https://en.wikipedia.org/wiki/General_feature_format
http://boyun.sh.cn/bio/?p=1602

