Illumina / BeadArrayFiles

Python library to parse file formats related to Illumina bead arrays
45 stars 33 forks source link

Error from a call to a function from IlluminaBeadArrayFiles #16

Open mirrorlake999 opened 5 years ago

mirrorlake999 commented 5 years ago

Hi there,

We have written a GWAS QC pipeline starting with GTC files.

Recently when we try to run this pipeline with a new .bpm file (Illumina Omni5Exome-4 v1.3), we encountered some errors.

The error is caused by a call to a function from IlluminaBeadArrayFiles, the gtc parsing library that Illumina made. It’s this call that’s causing the error: norm = gtc.get_normalized_intensities(manifest.normalization_lookups)

Below is how I run the related code:

**>>> from IlluminaBeadArrayFiles import GenotypeCalls, BeadPoolManifest, code2genotype

manifest_file = 'InfiniumOmni5Exome-4v1-3_A1.bpm' gtc_file = '203423200004_R01C01.gtc' gtc = GenotypeCalls(gtc_file) manifest = BeadPoolManifest(manifest_file) norm = gtc.get_normalized_intensities(manifest.normalization_lookups) Traceback (most recent call last): File "", line 1, in File "IlluminaBeadArrayFiles/GenotypeCalls.py", line 581, in get_normalized_intensities return [normalization_transforms[lookup].normalize_intensities(x_raw, y_raw) for (x_raw, y_raw, lookup) in zip(self.get_raw_x_intensities(), self.get_raw_y_intensities(), normalization_lookups)] IndexError: list index out of range**

Here is the .bpm file used: https://support.illumina.com/array/array_kits/infinium_humanomni5exome_beadchip_kit/downloads.html Infinium Omni5Exome-4 v1.3 Manifest File (BPM Format - GRCh37) 185 MB Nov 20, 2016

Attached is the testing etc file in the above code. Please note that you need to change the file extension from ".gtc.txt" to ".gtc" for testing.

Would you please take a look at the issue and help me with this request?

Thanks.

Jia

jjzieve commented 3 years ago

@mirrorlake999 Hi, sorry for the late response on this. This should be fixed in develop. Can you confirm?

1teaspoon commented 3 years ago

@jjzieve Hi I am receiving the same error as in the original post. From your reply sounds like this issue has been fixed recently? Would you please point me to version I can try out? Thank you!

jjzieve commented 3 years ago

@1teaspoon The develop branch should have this fix. If you're seeing this issue still, it might be something else? Can you post more details?

1teaspoon commented 3 years ago

@jjzieve Let me pull the latest develop and try it out. The version I am using is pretty old. Thanks!

rmoran7 commented 2 years ago

Did this solve your issue ? This happened for me on the latest release and it is still an issue. Using a customer GSAv3 chip.

jjzieve commented 2 years ago

@rmoran7 I'd be surprised that this same issue is impacting a GSAv3 chip. The original issue had to do with byte-wrapping from a normalization lookup iirc, and would only impact large chips (e.g. Omni5). Can you post your error? Maybe there's a mismatch between the manifest used to generate the GTCs and the one used when calling this lib?

rmoran7 commented 2 years ago

Thanks for this, there was a slightly different manifest used. Solved by re-downloading the original manifest. Thanks.