открывая архив gzip, символы после трех каналов ("|||") не видны - PullRequest
0 голосов
/ 15 мая 2018

Мой входной файл - сжатый файл, содержащий геномную информацию. Я пытаюсь проанализировать содержимое построчно и столкнулся со странной проблемой.

Любая строка выглядит примерно так:

AC = 26; AF = 0,00519169; AN = 5008; NS = 2504; DP = 17308; EAS_AF = 0; AMR_AF = 0,0072; AFR_AF = 0,0015; EUR_AF = 0,0109; SAS_AF = 0,0082; AA = A |||; VT = SNP

Однако, когда я распечатываю то, что читается в ...

import gzip
with gzip.open(myfile.gz, 'rt') as f:
for line in f:
    print(line)

Строка выглядит так:

AC = 26; AF = 0,00519169; AN = 5008; NS = 2504; DP = 17308; EAS_AF = 0; AMR_AF = 0,0072; AFR_AF = 0,0015; EUR_AF = 0,0109; SAS_AF = 0,0082; AA = A * ||| 1015 *

Какая бы информация ни шла после "|||" был усечен.

Более того, я даже не могу искать строки для строк, которые следуют за "|||" (например, "VT=SNP" in line всегда возвращает False) Я также не могу line.strip("|||")

Любой совет, что вызывает это или что мне нужно посмотреть?

Спасибо за любую помощь

РЕДАКТИРОВАТЬ: хорошо, похоже, что-то не так с файлом gzip. Я распаковал его, и скрипт работал нормально. Затем я снова сжал его, и скрипт снова запустился нормально (используя gzip.open). Есть ли какой-нибудь простой способ сравнить два сжатых файла (то есть тот, который не читается должным образом с тем, который работает), чтобы я мог получить подсказку об основной причине?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...