frankvogt / vcf2gwas

Python API for comprehensive GWAS analysis using GEMMA
GNU General Public License v3.0
90 stars 29 forks source link

error #13

Open adriludwig opened 2 years ago

adriludwig commented 2 years ago

Hi! First of all, thanks very much for developing this tool. I'm trying to run and I got the following error. Let me know please if you have some clues why and what to do. Thanks!

QC for Chromosome: 3R Traceback (most recent call last): File "/data/adriana/conda/envs/vcf2gwas/lib/python3.9/site-packages/vcf2gwas/starter.py", line 616, in QC.geno_QC(snp_file2_org, dir_temp, qc_dir, chrom_list, Log) File "/data/adriana/conda/envs/vcf2gwas/lib/python3.9/site-packages/vcf2gwas/utils.py", line 1032, in geno_QC allel.vcf_to_zarr(vcf, zname, fields='*', region=i, overwrite=True) File "/data/adriana/conda/envs/vcf2gwas/lib/python3.9/site-packages/allel/io/vcf_read.py", line 947, in vcf_to_zarr raise ValueError(msg) ValueError: Found two or more fields with the same name when compared case-insensitive: ['variants/NUMALT', 'variants/numalt']; this is not supported because it causes problems on platforms with a case-insensitive file system, which is usually the default on Windows and Mac OS. Please rename fields so they are distinct under a case-insensitive comparison via the rename_fields argument.

frankvogt commented 2 years ago

Hi,

Looks like your VCF file contains a "NUMALT" and a "numalt" column when it should only contain one of those (see the error message: "this is not supported because it causes problems on platforms with a case-insensitive file system, which is usually the default on Windows and Mac OS. Please rename fields so they are distinct under a case-insensitive comparison"). The best way to fix the problem is to rename or drop one of these columns in the VCF file (via bcftools or vcftools). Alternatively you could try to run the analysis with you VCF file as it is without the quality control by adding the -nq / --noqc option to your vcf2gwas command (but no guarantees that it will work then).

Best, Frank