更新NCBI中taxdmp資料

2021-07-09 22:18:00 字數 2645 閱讀 5117

2.將names.dmp和nodes.dmp改為txt檔案,然後匯入db。注意:由於這兩個表有上百萬條記錄,不可能每次都重新完全匯入。幸運的是ncbi的taxid是順序編碼,因此記下上次的最大taxid,然後只本次檔案中之後的新taxid匯入即可了。匯入nodes.txt時注意,是否所有列都對齊了。

3.使用oracle遞迴查詢功能,將蜘蛛目6893下所有的tax_id篩選出來存在sig_taxdmp_names和sig_taxdmp_nodes中。注意:ftp中dmp檔案匯入時,會在每一字段的前或後加上空格,即十六進製制字元0x09的文字字元,在查詢時需要用replace函式將其全部去掉,否則遞迴查詢會出錯。在ncbi_node中,tax_id列後面有乙個0x09,parent_tax_id前後都有0x09. 使用遞迴語句查詢所有蜘蛛目taxa並生成mv的**是

create materialized view sig2_taxdmp_nodes as

select

replace(tax_id,chr(to_number('09')),'') as tax_id,

replace(parent_tax_id,chr(to_number('09')),'') as parent_tax_id,

replace(rank,chr(to_number('09')),'') as rank,

replace(embl_code,chr(to_number('09')),'') as embl_code,

replace(division_id,chr(to_number('09')),'') as division_id,

replace(inherited_div_flag,chr(to_number('09')),'') as inherited_div_flag,

replace(genetic_code_id,chr(to_number('09')),'') as genetic_code_id,

replace(inherited_gc_flag,chr(to_number('09')),'') as inherited_gc_flag,

replace(mitochondrial_genetic_code_id,chr(to_number('09')),'') as mitochondrial_genetic_code_id,

replace(inherited_mgc_flag_from_parent,chr(to_number('09')),'') as inherited_mgc_flag_from_parent,

replace(genbank_hidden_flag_lineage,chr(to_number('09')),'') as genbank_hidden_flag_lineage,

replace(hidden_subtree_root_flag,chr(to_number('09')),'') as hidden_subtree_root_flag,

replace(comments,chr(to_number('09')),'') as comments

from ncbi_nodes

connect by replace(parent_tax_id,chr(to_number('09')),'') = prior replace(tax_id,chr(to_number('09')),'')  -- 找出所有parent_id等於當前記錄dept_id的記錄。

start with replace(tax_id,chr(to_number('09')),'') = '6893'     

create materialized view sig2_taxdmp_names as

select

(replace(ncbi_taxdmp_names.tax_id,chr(to_number('09')),'')

||'-'||

replace(ncbi_taxdmp_names.name_txt,chr(to_number('09')),'')

||' '||'@'||

replace(ncbi_taxdmp_names.name_class,chr(to_number('09')),''))

as names,

replace(ncbi_taxdmp_names.tax_id,chr(to_number('09')),'') as tax_id,

replace(ncbi_taxdmp_names.name_txt,chr(to_number('09')),'') as name_txt,

replace(ncbi_taxdmp_names.unique_name,chr(to_number('09')),'') as unique_name,

replace(ncbi_taxdmp_names.name_class,chr(to_number('09')),'') as name_class,

replace(ncbi_taxdmp_names.note,chr(to_number('09')),'') as note

from ncbi_taxdmp_names

inner join sig2_taxdmp_nodes

onreplace(ncbi_taxdmp_names.tax_id,chr(to_number('09')),'') = replace(sig2_taxdmp_nodes.tax_id,chr(to_number('09')),'')  

資料結構(更新中)

常見的資料結構 棧 佇列 鍊錶 陣列 樹 圖 堆 雜湊表等 棧 stack 又名堆疊,它是一種運算受限的線性表。其限制是 僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧 入棧或壓棧 push 它是把新元素放到棧頂元素的上面,使之成為新的棧...

資料庫問題 更新中

資料庫問題 1 資料乙個字段最大儲存長度 varchar 等漢字4000個,英文8000個,相當於8kb。text型別資料最大2g,使用sql語句一次最多插入8kb 8000位元組 oracle資料庫問題 1 oracle中單雙引號都可以 2 sqlserver中,只能用單引號。3 三個資料庫 引數...

關於Flex中的資料更新

現在才發現,利用flex做 開發是一件極其痛苦的事情。flex已經完全改變了傳統的 開發中的思路。flex用sharedobject取代了session,用state取代了超鏈。但是,不可否認,flex提供了十分豐富的元件庫,還有一些開源的元件可用。如果認真做下來,最後 效果還是很不錯的 說一下在f...