0
A
回答
3
我不認爲你可以得到這個信息扔NCBI Web服務。
使用XSLT:
<?xml version='1.0' encoding="ISO-8859-1" ?>
<xsl:stylesheet
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
version='1.0'
>
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:apply-templates select="//select[@id='DATABASE']"/>
</xsl:template>
<xsl:template match="select[@id='DATABASE']">
<xsl:for-each select=".//option">
<xsl:value-of select="@value"/>
<xsl:text> </xsl:text>
<xsl:value-of select="."/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
和xsltproc的:
xsltproc --html stylesheet.xsl "http://blast.ncbi.nlm.nih.gov/Blast.cgi?PROGRAM=blastn&BLAST_PROGRAMS=megaBlast&PAGE_TYPE=BlastSearch&SHOW_DEFAULTS=on&LINK_LOC=blasthome" 2> /dev/null
返回;
dbindex/9606/ref_contig dbindex/9606/alt_contig_HuRef dbindex/9606/rna Human genomic plus transcript (Human G+T)
dbindex/10090/alt_contig dbindex/10090/ref_contig dbindex/10090/rna Mouse genomic plus transcript (Mouse G+T)
nr Nucleotide collection (nr/nt)
refseq_rna Reference mRNA sequences (refseq_rna)
refseq_genomic Reference genomic sequences (refseq_genomic)
chromosome NCBI Genomes (chromosome)
est Expressed sequence tags (est)
est_others Non-human, non-mouse ESTs (est_others)
gss Genomic survey sequences (gss)
htgs High throughput genomic sequences (HTGS)
pat Patent sequences(pat)
pdb Protein Data Bank (pdb)
alu Human ALU repeat elements (alu_repeats)
dbsts Sequence tagged sites (dbsts)
wgs Whole-genome shotgun reads (wgs)
env_nt Environmental samples (env_nt)
2
我不完全,你打算用這個東西,而是一套完整的由NCBI使用的數據庫是在他們的FTP站點:ftp://ftp.ncbi.nih.gov/blast/db/ 如果你只在數據庫名稱感興趣,只是看在第一個位置之前。 - 大部分數據庫都足夠大,可以分割。 爲了做好一大堆過濾(例如生物體),他們使用別名文件,這些文件通過GI編號來限制這些較大的數據庫中的一個或多個。
0
某些FTP API需要以編程方式獲取這些庫。但是,即使壓縮,這些文件也相當大。可能您至少應該檢查下載網站上提供的版本是否與您已下載的緩存版本不同。 Java FTP庫在http://www.javaworld.com/javaworld/jw-04-2003/jw-0404-ftp.html進行審查。
0
你的問題對我來說還不清楚。但是,這裏是一個使用BioPerl的程序,它將從任何數據庫(在'db'下指定)和任何搜索項(在'term'下指定)獲取信息。然後這將在給定數據庫中保存一個文件,其中包含與您的搜索詞相關的所有NCBI序列。
########## http://www.bioperl.org/wiki/HOWTO:EUtilities_Cookbook #########
#!/usr/bin/perl -w
BEGIN {push @INC,"path to BioPerl";}
use Bio::DB::EUtilities;
my $factory = Bio::DB::EUtilities->new(-eutil => 'esearch',
-email => '[email protected]',
-db => 'nucleotide',
-term => 'search terms here',
-usehistory => 'y');
my $count = $factory->get_count;
# get history from queue
my $hist = $factory->next_History || die 'No history data returned';
print "History returned\n";
# note db carries over from above
$factory->set_parameters(-eutil => 'efetch',
-rettype => 'fasta',
-history => $hist);
my $retry = 0;
my ($retmax, $retstart) = (500,0);
open (my $out, '>', 'db:protein_term-VP1_AND_Parvovirus-NOT_dependovirus,patent,partial.fa') || die "Can't open file:$!";
RETRIEVE_SEQS:
while ($retstart < $count) {
$factory->set_parameters(-retmax => $retmax,
-retstart => $retstart);
eval{
$factory->get_Response(-cb => sub {my ($data) = @_; print $out $data});
};
if ([email protected]) {
die "Server error: [email protected] Try again later" if $retry == 5;
print STDERR "Server error, redo #$retry\n";
$retry++ && redo RETRIEVE_SEQS;
}
#say "Retrieved $retstart";
$retstart += $retmax;
}
close $out;
相關問題
- 1. 數據庫編程
- 2. 獲得與數據庫
- 3. 從數據庫中獲得
- 4. 如何獲得數據庫
- 5. F#數據庫編程與C#數據庫編程相同嗎?
- 6. C++ GUI數據庫編程
- 7. 數據庫編程概念
- 8. Qt - 數據庫編程
- 9. 編程和數據庫
- 10. 附加數據庫編程
- 11. 數據庫編程數據驗證
- 12. 數據庫設計 - 如何獲得循環數據庫條目?
- 13. 獲得從數據庫(ASP.NET)ID
- 14. 獲得數據庫前5名排名
- 15. 數據庫無法獲得連接
- 16. 如何獲得TotalItemSize每個數據庫
- 17. MySQL和PHP - 從數據庫中獲得
- 18. 如何獲得從WordPress數據庫get_results
- 19. 從數據庫中獲得通知
- 20. MVC從數據庫中獲得
- 21. 從數據庫中獲得ddl
- 22. 從遠程數據庫獲取數據到sqlite數據庫
- 23. 無法設置數據源編程方式,獲得EXC_BAD_ACCESS
- 24. 編程方式獲得登錄貓數據
- 25. 查詢遠程MySQL數據庫並獲得結果集
- 26. 編程獲得的圖像
- 27. 獲得緩存名編程
- 28. 以編程方式編輯SQLite數據庫中的數據
- 29. 編程決定Java或.NET,數據庫或沒有數據庫
- 30. 需要從mysql數據庫中獲得產品數據
僅供參考:http://biostar.stackexchange.com/是另一個不錯的地方問這種與生物信息學有關的問題 – Pierre 2010-09-14 18:35:05
謝謝!的確非常有用 – 2010-09-20 16:13:30