Research Article

Transcriptome Analysis of Spermophilus lateralis and Spermophilus tridecemlineatus Liver Does Not Suggest the Presence of Spermophilus-Liver-Specific Reference Genes

Algorithm 1

Python codes for overlap analysis by bootstrapping.
import random
from sets import Set
population = <total list of probes, n = 12575>
sample_size = 1258
def sample_wr(population, k):
# Chooses k random elements (with replacement) from a population
# From http://code.activestate.com/recipes/273085
n = len(population)
_random, _int = random.random, int
result = [None] * k
for i in xrange(k):
j = _int(_random() * n)
result[i] = population[j]
return result
distribution = range(2000)
for x in range(2000):
sample1 = Set(sample_wr(population, sample_size))
sample2 = Set(sample_wr(population, sample_size))
intersect = sample1.intersection(sample2)
distribution[x] = float(len(intersect)) / float(len(sample1))
mean = sum(distribution) / len(distribution)
variance = sum([(x mean)**2 for x in distribution]) / len(distribution)
print Population size:, len(population)
Print
print Bootstrap distribution:, distribution
print Bootstrap cycles:, len(distribution)
Print
print Bootstrap mean:, str(mean)
print Bootstrap standard deviation:, str(variance**0.5)