Contenu connexe
Similaire à bioinfolec_7th_20071005
Similaire à bioinfolec_7th_20071005 (20)
bioinfolec_7th_20071005
- 7. X X ∩Y Y
p(x, y)
I(X; Y ) = p(x, y) log
p(x)p(y)
y∈Y x∈X
|X ∩ Y |
min(|X|, |Y |)
- 10. 321
|X ∩ Y |
=
min(|X|, |Y |) min(3778, 740)
321
= = 0.438
740
- 14. #!/usr/bin/env ruby
require 'rexml/document'
require 'open-uri'
def count(gene)
fp = open(quot;http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?
db=pubmed&term=quot;+gene)
source = fp.read
fp.close
doc = REXML::Document.new source
return doc.elements['/eSearchResult/Count'].text.to_i
end
def simpson(gene1_count, gene2_count, gene12_count)
if gene1_count <= 0 || gene2_count <= 0
return nil
elsif gene1_count < gene2_count
return gene12_count.to_f / gene1_count.to_f
end
return gene12_count.to_f / gene2_count.to_f
end
- 15. def main(gene1,gene2)
gene1_count = count(gene1)
gene2_count = count(gene2)
gene12_count = count(gene1 + quot;+quot; + gene2)
s = simpson(gene1_count, gene2_count, gene12_count)
puts [gene1, gene2, gene1_count, gene2_count, gene12_count, s].join
(quot; quot;)
end
main(ARGV[0],ARGV[1])