Я пытаюсь сжать и проиндексировать файл VCF и столкнулся с несколькими проблемами.
- Когда я использую bgzip/tabix, он выдает ошибку о том, что его невозможно проиндексировать из-за некоторых несортированных значений.
# code used to bgzip and tabix
bgzip -c fn.vcf > fn.vcf.gz
tabix -p vcf fn.vcf.gz
# below is the error returnd
[E::hts_idx_push] Unsorted positions on sequence #1: 115352924 followed by 115352606
tbx_index_build failed: fn.vcf.gz
- Когда я использую
bcftools sort
для сортировки этого VCF для решения # 1, он выдает ошибку из-за недопустимых записей.
# code used to sort
bcftools sort -O z --output-file fn.vcf.gz fn.vcf
# below is the error returned
Writing to /tmp/bcftools-sort.YSrhjT
[W::vcf_parse_format] Extreme FORMAT/AD value encountered and set to missing at chr12:115350908
[E::vcf_parse_format] Invalid character '\x0F' in 'GT' FORMAT field at chr12:115352482
Error encountered while parsing the input
Cleaning
- Я пробовал сортировать с помощью команд Linux, чтобы обойти № 2. Однако, когда я запускаю приведенный ниже код, размер
fout.vcf
составляет почти половинуfin.vcf
, что указывает на то, что что-то может пойти не так.
grep "^#" fin.vcf > fout.vcf
grep -v "^#" fin.vcf | sort -k1,1V -k2,2n >> fout.vcf
Пожалуйста, дайте мне знать, если у вас есть какие-либо советы относительно:
- Как я могу отсортировать/исправить проблемные входные данные в моем VCF безопасным и выполнимым способом. (Файл весит 340 ГБ, поэтому я не могу просто открыть файл и отредактировать.)
- Почему мой Linux
sort
может вести себя странно. (т.е. возвращаемый файл намного меньше оригинала.)
Любые комментарии или предложения приветствуются!