2014-11-12 3 views
-1

Во-первых, я использую Python.Число конкретных символов за каждый миллион

Я пытаюсь найти количество конкретных символов (пар оснований) на каждые миллионы символов внутри хромосомы.

Например:

Я хотел бы иметь количество раз, A, G, Т и С, и А, G, Т и С появляются в пределах импортируемого файла.

Я могу (пока), чтобы подсчитать количество этих символов для всего файла, используя «Счетчик», но не знакомы с тем, как разбить его на каждый миллион?

Заранее благодарен!

+1

Не совсем уверен, что вы просите. Но разве вы не можете просто разделить результирующее число на 1 миллион? – Scironic

+0

Или ... разделите по сумме и умножьте на миллион. Это домашняя проблема? – wwii

+0

Я не могу разделить результирующее число на миллион, поскольку это даст мне среднее, а не определенное количество символов в первом миллионе. – snacbox52

ответ

0

Если файл импорта выглядит как последовательность символов:

agtcAGTCagtcAGTCagtcAGTCagtcAGTC ...

, то вы можете применить этот подход:

file = 'c:\\test\\chromosome.txt' 

aCount = [] 
gCount = [] 
tCount = [] 
cCount = [] 
ACount = [] 
GCount = [] 
TCount = [] 
CCount = [] 

step = 1000000 
start = 0 
end = step 

with open(file, 'r') as chromosome: 
    data = chromosome.read() 

while end < len(data): 
    aCount.append(data.count('a', start, end)) 
    gCount.append(data.count('g', start, end)) 
    tCount.append(data.count('t', start, end)) 
    cCount.append(data.count('c', start, end)) 
    ACount.append(data.count('A', start, end)) 
    GCount.append(data.count('G', start, end)) 
    TCount.append(data.count('T', start, end)) 
    CCount.append(data.count('C', start, end)) 

    start = end 
    end += step 

В конце концов вы получите 8 списков. Каждый список будет содержать количество вхождений определенных символов на миллион.

Смежные вопросы