blast的原理就是將想要明確注釋的sequence(這個sequence就是query)先打斷,即一條sequence變成多條sub-sequence(sub-sequence也就是word),然后拿這些sub-sequence與數據庫中的序列比較(數據庫中的序列是已經注釋過的),然后將這些word向兩邊延展,延展方式是將單個word(就是圖中黃色的線)對應的sequence(就是圖中黑色的線)保持不變,拿其他word的信息mapping到黑色線上。
聯系到實際實驗就是,我手頭的pep文件中的34條蛋白質序列就是34個query(就是黃色線),在blast中,先將這34條序列每一條都打斷,然后與斑馬雀.fa的數據庫(就是黑色線)相互匹配,所以得到的結果是某一條scaffold(黑色線)與某一個gene(黃色線)的匹配情況。目的是想知道在某個物種中,某些gene的分布情況。
由此產生的gff文件中的內容是:
1.scaf_id
2.gene_name
3.scaf_len(整個一條sacffold的length)
4.sacf_start(可以mapping到這個gene_name的word的起始位點)
5.scaf_end(可以mapping到這個gene_name的word的終止位點,scaf_start與scaf_end之間的內容包括了exon和intron)
6.block_number(是scaf_start與scaf_end之間的gene_name的exon個數)
7.block_start(某個block的起始位點,此處可能有多個,如果block_number是3,則有3個block,也就有3個block_start)
8.block_end(某個block的終止位點,此處可能有多個,如果block_number是3,則有3個block,也就有3個block_end)
9.identify(某個block的identify,此處可能有多個,如果block_number是3,則有3個block,也就有3個identify)
10.align_rate