有時我們手頭會有一批資料,或者是只有大量的某些id。比方說:accession number
、gi、geneid、symbol、go
、unigene
、pubmed、taxid等等。事實大部分資料庫都會有提供一些專門的檔案或工具來實現這些資料間大批量的一一對應。
先來講講ncbi
的。
ncftp /gene/data > ls下面主要解釋一下一些常用的檔案。asn_binary/ gene2sts gene_refseq_uniprotkb_collab.gz
asn_old/ gene2unigene
go_process.xml
gene2accession.gz gene_group.gz mim2gene
gene2go.gz gene_history.gz misc/
gene2pubmed.gz gene_info/ readme
gene2refseq.gz gene_info.gz
1,gene2accession.gz,這裡面的資料比較多,包含有ncbi
所有的accession。但主要有以下的:
tax_id geneid nucleotide_accession nucleotide_gi protein_accession protein_gi2,gene2go.gz,主要是gene與go之間的一一對應。裡面的資料主要有:
tax_id geneid go_id go_term3,gene2pubmed.gz,主要是gene與pubmed id的一一對應。3702 814629 go:0003676 ucleic acid binding
tax_id geneid pubmed4,gene2unigene,gene與unigene資料庫的一一對應_id9 1246500 9873079
geneid unigene_cluster5,gene2refseq.gz,這個就不多講。跟gene2accession.gz類似。不過其中的accession都是refseq1268433 aga.201
資料庫的。
6,gene_info.gz,是ncbi的gene資料庫。包含有gene的gene_name(symbol
),第幾號染色體等。主要有:
tax_id geneid symbol
chromosome description
大概就這些。如果你會用linux
,這些大批量的一一對應是非常簡單的。在go/embl/uniprot等也有類似的批量對應。以後有需要有講到。
大批量刪除 如何解決大批量資料儲存的效能問題
一 背景在行業中所有基於實體的orm框架,均存在同乙個問題 在批量運算元據時,效能表現乏力。因為在批量儲存資料時,可能既包含新增的記錄,又包含更新或刪除的記錄,一般的orm框架必須為每一條記錄生成一條sql語句,然後一條一條的執行,這樣執行的效能非常差,而通常的優化方案是將資料分批儲存,但在資料量特...
mysql大批量更新資料
大批量的更新資料如果再使用傳統的 update 方法一條一條的更新,效率是很慢的,而且效能差,也很容易造成阻塞。1 使用mysql 自有的語句構建批量更新 update tble set price case id when 16 then 7.6 when 19 then 8.86 when 20...
solr大批量資料匯出
需求 有100個core,每個core4000w資料量。把所有資料匯出來。方案1.直接對每個core通過httpsolrclient先取出總條數,然後通過每次分頁讀n行,直到讀完,這個方案肯定不行,因為越到後面,讀取速度越慢,不用想都要很長時間。方案2.深度分頁 通過游標,可以使分頁速度很快。sol...