Сохранение vcf в npz, а затем загрузка в Python. Нет ошибки, но нет вывода - PullRequest
1 голос
/ 19 февраля 2020

Я пытаюсь проанализировать данные генома из огромного (сжатого 1,75 ГБ) vcf-файла, используя Python. Техник предложил мне использовать scikit-allel и дал мне эту ссылку: http://alimanfoo.github.io/2017/06/14/read-vcf.html. Я не смог установить модуль на свой компьютер; но я успешно установил его на кластере, к которому я получаю доступ через vpn. Там я успешно открыл файл и смог получить доступ к данным. Но я могу получить доступ к кластеру только через интерфейс командной строки, и это не так дружелюбно, как Spyder на моем компьютере; поэтому я пытался вернуть данные. Ссылка на GitHub говорит, что я могу сохранить данные в файл npz, который я могу прочитать прямо в numpy Python; поэтому я пытался это сделать.

Сначала я попытался allel.vcf_to_npz('existing_name.vcf','new_name.npz',fields='calldata/GT') на кластере. Это создало (подозрительно маленький) новый файл npz в кластере, который я скачал. Но когда я открыл Spyder на своем компьютере и набрал genotypes=np.load('real_genotypes.npz'), новая переменная с именем genotypes не появилась в обозревателе переменных. Добавление строки print(genotypes) производит <numpy.lib.npyio.NpzFile object at 0x00000__________>

Далее, думая, что я должен скопировать все, чтобы быть уверенным, я попытался allel.vcf_to_npz('existing_name.vcf','new_name.npz',fields='*',overwrite=True) Это создало файл 2.10GB. После долгой загрузки я попробовал то же самое, но получил те же результаты: нет новой переменной, когда я пытаюсь загрузить файл np., и <numpy.lib.npyio.NpzFile object at 0x000001DB0DEC7F88>, когда я прошу его напечатать.

Когда я пытался чтобы найти эту проблему в Google, я увидел этот вопрос: Загрузить сжатые данные (.npz) из файла, используя numpy .load . Но мой случай выглядит иначе. Я не получаю сообщение об ошибке; Я просто ничего не получаю. Так что не так?

Спасибо

...