當前位置:成語大全網 - 書法字典 - 基因家族:用python處理blast結果區域的擴展

基因家族:用python處理blast結果區域的擴展

Tblastn對候選HSP片段進行比對,我們需要根據壹定範圍的基因長度,將區域延伸去重疊,然後用exonerate或genewise建模。HSP區域的延伸依賴於基因的長度和靶基因組的scafflod或染色體的長度,這不是壹件容易的事情。

數據類和重寫槽用於保存數據,減少內存占用,加快讀取速度。attrgetter對列表字典結構進行排序。biopython裏的SeqIO.parse感覺挺慢的,不過也懶得重寫了。用SimpleFastaParser解析,據說速度更快。實際測試表明確實比較快,主要是用來存儲支架或者染色體的長度,防止其超出邊界。

去重疊的原理是先排序,再判斷上壹個區間的結束是否小於下壹個區間的開始。如果是假的,就會重疊,根據長度/分數判斷是刪除上壹個區間還是下壹個區間。

下面操作的結果仍然是blast的表格格式(之後可以通過壹些簡單的shell命令處理,轉換成bed格式,結合bedtools批量提取序列)。

註意:如果您需要復制的格式不是blast表格格式,只需使用壹些工具如awk/sed/perl/python/shell來更改格式。妳只需要第二列的id,第九列的序列開始,第十列的序列結束,第十二列的分數才有意義。作為用於排序的字段,其余字段可以是默認的。