Я пытаюсь проанализировать данные генома из огромного (сжатого 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 . Но мой случай выглядит иначе. Я не получаю сообщение об ошибке; Я просто ничего не получаю. Так что не так?
Спасибо