Open YHWen-bio opened 3 years ago
This problem is caused by the server default encoding. The server's default encoding must be 'en_utf-8' for it to work. I had this problem before too, when I modified the default encoding, it worked
The positioning of the specific problem: BeadArrayUtility.py - read_string() - "result = result.decode("utf-8")"
@tengfeixiaozhu This does not appear to be the same issue as https://github.com/Illumina/BeadArrayFiles/issues/20. Unless you're referring to the comment from @mikaelamo? I would try @wuzhaoqi1015 solution and if that works, I'd be happy to review a PR to fix it.
@wuzhaoqi1015 I modified the default encoding to "en_utf-8", But it's not worked and produce 'Exception: GTC file is incmoplete'. Do you know another solution? @jjzieve Is it worked?
@hbhwangg this is my locale info:
locale
LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=en_US.UTF-8
Another way to solve is edit the encoding in the code directly,
BeadArrayUtility.py - read_string() - "result = result.decode("utf-8")"
and, change ‘utf-8’ to your server locale
@hbhwangg Did you modify the encoding before the GTC creation (in iaap) or just for the parsing done by this script? My hunch is the scan date or some other field in the GTC is non-ASCII and BeadArrayFiles is failing to get the correct fields because the offset is wrong. GTC is not unicode compatible, unfortunately.
I used iaap-cli software convert idat file to gtc file. When use the gtc file produced by iaap-cli, the beadarrayfile package would produce the error Exception: GTC file is incomplete. The same issue with https://github.com/Illumina/BeadArrayFiles/issues/20 Are the two software incompatible? Looking forward to your reply!