Skip to content

UnboundLocalError: local variable 'fh' referenced before assignment #2

@OlivierBakker

Description

@OlivierBakker

I am running into an issue when trying to read annotation files generated per chromosome, seems to stem from: https://github.com/CBIIT/ldsc/blob/main/ldscore/parse.py line 223, some input would be much appreciated!

*********************************************************************
* LD Score Regression (LDSC)
* Version 3.0.1
* (C) 2014-2019 Brendan Bulik-Sullivan and Hilary Finucane
* Broad Institute of MIT and Harvard / MIT Department of Mathematics
* GNU General Public License v3
*********************************************************************
Call: 
./ldsc.py \
--out vitiligo_27723757__4 \
--h2 vitiligo_27723757.sumstats.gz \
--ref-ld-chr <abs_path>/ldsc/refdata/GRCh38/baselineLD_v2.2/baselineLD. \
--w-ld-chr <abs_path>/ldsc/refdata/GRCh38/weights/weights.hm3_noMHC. \
--overlap-annot  \
--print-coefficients  \
--frqfile-chr <abs_path>/ldsc/refdata/GRCh38/frq/1000G.EUR.QC. 

Beginning analysis at Thu Apr 23 19:24:23 2026
Reading summary statistics from vitiligo_27723757.sumstats.gz ...
RuntimeWarning: compression has no effect when passing a non-binary object as input for file vitiligo_27723757.sumstats.gz
Read summary statistics for 1161415 SNPs.
Reading reference panel LD Score from <abs_path>/ldsc/refdata/GRCh38/baselineLD_v2.2/baselineLD.[1-22] ... (ldscore_fromlist)
Read reference panel LD Scores for 1189841 SNPs.
Removing partitioned LD Scores with zero variance.
Reading regression weight LD Score from <abs_path>/ldsc/refdata/GRCh38/weights/weights.hm3_noMHC.[1-22] ... (ldscore_fromlist)
Read regression weight LD Scores for 1187349 SNPs.
After merging with reference panel LD, 1161415 SNPs remain.
After merging with regression SNP LD, 1158568 SNPs remain.
Removed 28 SNPs with chi^2 > 80 (1158540 SNPs remain)
Total Observed scale h2: 0.2224 (0.0271)
Categories: baseL2_0 Coding_UCSCL2_0 Coding_UCSC.flanking.500L2_0 Conserved_LindbladTohL2_0 Conserved_LindbladToh.flanking.500L2_0 CTCF_HoffmanL2_0 CTCF_Hoffman.flanking.500L2_0 DGF_ENCODEL2_0 DGF_ENCODE.flanking.500L2_0 DHS_peaks_TrynkaL2_0 DHS_TrynkaL2_0 DHS_Trynka.flanking.500L2_0 Enhancer_AnderssonL2_0 Enhancer_Andersson.flanking.500L2_0 Enhancer_HoffmanL2_0 Enhancer_Hoffman.flanking.500L2_0 FetalDHS_TrynkaL2_0 FetalDHS_Trynka.flanking.500L2_0 H3K27ac_HniszL2_0 H3K27ac_Hnisz.flanking.500L2_0 H3K27ac_PGC2L2_0 H3K27ac_PGC2.flanking.500L2_0 H3K4me1_peaks_TrynkaL2_0 H3K4me1_TrynkaL2_0 H3K4me1_Trynka.flanking.500L2_0 H3K4me3_peaks_TrynkaL2_0 H3K4me3_TrynkaL2_0 H3K4me3_Trynka.flanking.500L2_0 H3K9ac_peaks_TrynkaL2_0 H3K9ac_TrynkaL2_0 H3K9ac_Trynka.flanking.500L2_0 Intron_UCSCL2_0 Intron_UCSC.flanking.500L2_0 PromoterFlanking_HoffmanL2_0 PromoterFlanking_Hoffman.flanking.500L2_0 Promoter_UCSCL2_0 Promoter_UCSC.flanking.500L2_0 Repressed_HoffmanL2_0 Repressed_Hoffman.flanking.500L2_0 SuperEnhancer_HniszL2_0 SuperEnhancer_Hnisz.flanking.500L2_0 TFBS_ENCODEL2_0 TFBS_ENCODE.flanking.500L2_0 Transcr_HoffmanL2_0 Transcr_Hoffman.flanking.500L2_0 TSS_HoffmanL2_0 TSS_Hoffman.flanking.500L2_0 UTR_3_UCSCL2_0 UTR_3_UCSC.flanking.500L2_0 UTR_5_UCSCL2_0 UTR_5_UCSC.flanking.500L2_0 WeakEnhancer_HoffmanL2_0 WeakEnhancer_Hoffman.flanking.500L2_0 GERP.NSL2_0 GERP.RSsup4L2_0 MAFbin1L2_0 MAFbin2L2_0 MAFbin3L2_0 MAFbin4L2_0 MAFbin5L2_0 MAFbin6L2_0 MAFbin7L2_0 MAFbin8L2_0 MAFbin9L2_0 MAFbin10L2_0 MAF_Adj_Predicted_Allele_AgeL2_0 MAF_Adj_LLD_AFRL2_0 Recomb_Rate_10kbL2_0 Nucleotide_Diversity_10kbL2_0 Backgrd_Selection_StatL2_0 CpG_Content_50kbL2_0 MAF_Adj_ASMCL2_0 GTEx_eQTL_MaxCPPL2_0 BLUEPRINT_H3K27acQTL_MaxCPPL2_0 BLUEPRINT_H3K4me1QTL_MaxCPPL2_0 BLUEPRINT_DNA_methylation_MaxCPPL2_0 synonymousL2_0 non_synonymousL2_0 Conserved_Vertebrate_phastCons46wayL2_0 Conserved_Vertebrate_phastCons46way.flanking.500L2_0 Conserved_Mammal_phastCons46wayL2_0 Conserved_Mammal_phastCons46way.flanking.500L2_0 Conserved_Primate_phastCons46wayL2_0 Conserved_Primate_phastCons46way.flanking.500L2_0 BivFlnkL2_0 BivFlnk.flanking.500L2_0 Human_Promoter_VillarL2_0 Human_Promoter_Villar.flanking.500L2_0 Human_Enhancer_VillarL2_0 Human_Enhancer_Villar.flanking.500L2_0 Ancient_Sequence_Age_Human_PromoterL2_0 Ancient_Sequence_Age_Human_Promoter.flanking.500L2_0 Ancient_Sequence_Age_Human_EnhancerL2_0 Ancient_Sequence_Age_Human_Enhancer.flanking.500L2_0 Human_Enhancer_Villar_Species_Enhancer_CountL2_0 Human_Promoter_Villar_ExACL2_0 Human_Promoter_Villar_ExAC.flanking.500L2_0
Lambda GC: 1.194
Mean Chi^2: 1.2539
Intercept: 1.0821 (0.0113)
Ratio: 0.3234 (0.0446)
Reading annot matrix from <abs_path>/ldsc/refdata/GRCh38/baselineLD_v2.2/baselineLD.[1-22] ... (annot)
Error parsing .annot file.
############ local variable 'fh' referenced before assignment
Traceback (most recent call last):
  File "<abs_path>/bin/ldsc.py", line 640, in <module>
    sumstats.estimate_h2(args, log)
  File "<abs_path>/lib/python3.9/site-packages/ldscore/sumstats.py", line 364, in estimate_h2
    overlap_matrix, M_tot = _read_annot(args, log)
  File "<abs_path>/lib/python3.9/site-packages/ldscore/sumstats.py", line 88, in _read_annot
    overlap_matrix, M_tot = _read_chr_split_files(args.ref_ld_chr, args.ref_ld, log,
  File "<abs_path>/lib/python3.9/site-packages/ldscore/sumstats.py", line 146, in _read_chr_split_files
    out = parsefunc(_splitp(chr_arg), _N_CHR, **kwargs)
  File "<abs_path>/lib/python3.9/site-packages/ldscore/parse.py", line 223, in annot
    chrs = get_present_chrs(fh, num+1)
UnboundLocalError: local variable 'fh' referenced before assignment

Analysis finished at Thu Apr 23 19:25:09 2026
Total time elapsed: 46.4s
Traceback (most recent call last):
  File "<abs_path>/bin/ldsc.py", line 640, in <module>
    sumstats.estimate_h2(args, log)
  File "<abs_path>/lib/python3.9/site-packages/ldscore/sumstats.py", line 364, in estimate_h2
    overlap_matrix, M_tot = _read_annot(args, log)
  File "<abs_path>/lib/python3.9/site-packages/ldscore/sumstats.py", line 88, in _read_annot
    overlap_matrix, M_tot = _read_chr_split_files(args.ref_ld_chr, args.ref_ld, log,
  File "<abs_path>/lib/python3.9/site-packages/ldscore/sumstats.py", line 146, in _read_chr_split_files
    out = parsefunc(_splitp(chr_arg), _N_CHR, **kwargs)
  File "<abs_path>/lib/python3.9/site-packages/ldscore/parse.py", line 223, in annot
    chrs = get_present_chrs(fh, num+1)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions