2015-08-06 4 views
1

Мне нужно преобразовать очень большой файл .bam в .bed-файл, хотя я нашел решение, используя параллельные параллельные параллельные параллельные параллельные SEG и gnuParallel, для двух кластеров я могу получить доступ только к поддержке slurm и планировщики крутящего момента, и я мало знаю о tcsh, я даже не могу модифицировать сценарий для удовлетворения требований slurm и крутящего момента.Сообщение об ошибке при использовании многопроцессорной обработки Python

Благодаря я знаю немного о Python, я планирую использовать модуль многопроцессорной Python, чтобы сделать это, однако, следующий код поднять странное сообщение:

«Python неожиданно завершает работу при использовании calignmentfile.so плагин»

# The code here is just a test code, ignore its real meaning. 
import multiprocessing as mp 
import pysam 

def work(read): 
    return read.query 
    # return read.split()[0] 

if __name__ == '__main__': 
    cpu = mp.cpu_count() 
    pool = mp.Pool(cpu) 

    sam = pysam.AlignmentFile('foo.bam', 'rb') 
    read = sam.fetch(until_eof=True) 

    # f = open('foo.text', 'rb') 
    # results = pool.map(work, f, cpu) 

    results = pool.map(work, read, cpu) 
    print(results) 

Означает ли это сообщение, которое считывает из pysam.AlignmentFile() не поддерживает параллелизм, или Python не поддерживает такого рода параллельно? Я использую обычный текстовый файл для проверки этого фрагмента кода, он работает хорошо (например, код был прокомментирован).

ответ