Illumina / Pisces

Somatic and germline variant caller for amplicon data. Recommended caller for tumor-only workflows.
GNU General Public License v3.0
96 stars 16 forks source link

Pisces requests FileCompression.dll in Unix system #1

Open rmtsoa opened 8 years ago

rmtsoa commented 8 years ago

Hi: I am trying to use Pisces to call rare variants in Unix system. I have already installed mono, and downloaded the latest Pisces_5_1_3. However, I kept receiving error message:

8/9/2016 4:15:24 PM 1 ***** Starting ** 8/9/2016 4:15:24 PM 1 Version: 5.1.3.60. 8/9/2016 4:15:24 PM 1 Command-line arguments: . 8/9/2016 4:15:24 PM 1 -B A921AC366.bam -g /Users/rtsoa/Desktop/Reference_Genome/b37_reference -f 0.0001 -fo False -b 20 -q 100 -c 1200 -s 0.5 -a 20 -F 20 -gVCF True. 8/9/2016 4:15:24 PM 1 Exception reported:
System.Exception: Unable to process: FileCompression.dll ---> System.DllNotFoundException: FileCompression.dll at (wrapper managed-to-native) SequencingFiles.Compression.SafeNativeMethods:UncompressBlock (byte[],uint,byte[],uint) at SequencingFiles.BamReader.ReadBlock () <0x6c9ea8 + 0x00117> in :0 at SequencingFiles.BamReader.Read (System.Byte[]& data, UInt32 dataLength) <0x6c9ce0 + 0x000bf> in :0 at SequencingFiles.BamReader.LoadHeaderData () <0x6c9af0 + 0x0004b> in :0 at SequencingFiles.BamReader.Open (System.String filename) <0x6c9278 + 0x00293> in :0 at SequencingFiles.BamReader..ctor (System.String filename) <0x6c8e00 + 0x00033> in :0 at Pisces.Processing.WorkFactory.GetReferenceGenome (System.String genomePath) <0x6c8270 + 0x0015f> in :0 at Pisces.Program.Execute () <0x6c6e40 + 0x0009b> in :0 at Pisces.Program.Main (System.String[] args) <0x6bced8 + 0x0005b> in :0 --- End of inner exception stack trace ---.

Unhandled Exception: System.Exception: Unable to process: FileCompression.dll ---> System.DllNotFoundException: FileCompression.dll at (wrapper managed-to-native) SequencingFiles.Compression.SafeNativeMethods:UncompressBlock (byte[],uint,byte[],uint) at SequencingFiles.BamReader.ReadBlock () <0x6c9ea8 + 0x00117> in :0 at SequencingFiles.BamReader.Read (System.Byte[]& data, UInt32 dataLength) <0x6c9ce0 + 0x000bf> in :0 at SequencingFiles.BamReader.LoadHeaderData () <0x6c9af0 + 0x0004b> in :0 at SequencingFiles.BamReader.Open (System.String filename) <0x6c9278 + 0x00293> in :0 at SequencingFiles.BamReader..ctor (System.String filename) <0x6c8e00 + 0x00033> in :0 at Pisces.Processing.WorkFactory.GetReferenceGenome (System.String genomePath) <0x6c8270 + 0x0015f> in :0 at Pisces.Program.Execute () <0x6c6e40 + 0x0009b> in :0 at Pisces.Program.Main (System.String[] args) <0x6bced8 + 0x0005b> in :0 --- End of inner exception stack trace --- at Pisces.Program.Main (System.String[] args) <0x6bced8 + 0x0010b> in :0 8/9/2016 4:15:24 PM 1 **** Ending ***** [ERROR] FATAL UNHANDLED EXCEPTION: System.Exception: Unable to process: FileCompression.dll ---> System.DllNotFoundException: FileCompression.dll at (wrapper managed-to-native) SequencingFiles.Compression.SafeNativeMethods:UncompressBlock (byte[],uint,byte[],uint) at SequencingFiles.BamReader.ReadBlock () <0x6c9ea8 + 0x00117> in :0 at SequencingFiles.BamReader.Read (System.Byte[]& data, UInt32 dataLength) <0x6c9ce0 + 0x000bf> in :0 at SequencingFiles.BamReader.LoadHeaderData () <0x6c9af0 + 0x0004b> in :0 at SequencingFiles.BamReader.Open (System.String filename) <0x6c9278 + 0x00293> in :0 at SequencingFiles.BamReader..ctor (System.String filename) <0x6c8e00 + 0x00033> in :0 at Pisces.Processing.WorkFactory.GetReferenceGenome (System.String genomePath) <0x6c8270 + 0x0015f> in :0 at Pisces.Program.Execute () <0x6c6e40 + 0x0009b> in :0 at Pisces.Program.Main (System.String[] args) <0x6bced8 + 0x0005b> in :0 --- End of inner exception stack trace --- at Pisces.Program.Main (System.String[] args) <0x6bced8 + 0x0010b> in :0

tamsen commented 8 years ago

Hi, Have you tried moving libFileCompression.so into your exe folder? You should find it in src/AdditionalFilesForLinux/libFileCompression.so

rmtsoa commented 8 years ago

Hi Tamsen:

Thanks for taking time to answer my question. Yes, I have libFileCompression.so in the same exe folder (I copied the entire folder as instructed). I am not sure if this conflict is caused by the difference between Linux vs. Unix (should be the same, but I am not so certain anymore). In any case, I also just installed VisualMachine and Window10 for Mac, I will try that to see if it can solve the problem. However, I have other questions regarding variant calling using Pisces. I have target sequences with 10nts UMI, and I am trying to figure out the best strategy to call for the allele frequency. The reason I choose to use Pisces is because instead of using normal/tumor comparison to calculate the FDR, using Poisson distribution to calculate allele frequency for UMI based libraries makes a lot more sense. Especially, based on the PCR introduced errors can be fairly calculated based on the sequences shared with same UMI. Let me know if you have any thought about it.

Best

On Tue, Aug 23, 2016 at 1:33 PM, tamsen notifications@github.com wrote:

Hi, Have you tried moving libFileCompression.so into your exe folder? You should find it in src/AdditionalFilesForLinux/libFileCompression.so

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Illumina/Pisces/issues/1#issuecomment-241869138, or mute the thread https://github.com/notifications/unsubscribe-auth/AQFvGvg-YlUYCO0IR-uKYSBSVCY5aGvUks5qi1k2gaJpZM4JgpIU .

tamsen commented 8 years ago

re CompressionLib issue: Hm, I typically use on Linux, CentOS 6.8. What are your system specs? I can try to reproduce.

This is how I submit to our cluster:

pcmd='/packages/mono-4.0.2/bin/mono /home/Pisces.exe -B /scratch/control_S22.bam -g /Homo_sapiens/UCSC/hg19/Sequence/WholeGenomeFasta -gVCF True ' echo $pcmd | qsub -N Pics -pe threaded 16-20 -M you@yoursmtp.com -m eas

Running from native windows would solve the problem. Pisces will not run from Mac at the moment (the compression lib is not currently compiled for mac).

re UMIs: Should work well for accurate ultra low frequency. You are inputting a bam where the reads have been UMI - compressed, and the base calling Q scores have been raised accordingly?

tamsen commented 7 years ago

Follow up:

We have heard of people having problems with libFileCompression.so in systems with very old zlib versions that don't support the recent API (and by recent I mean v1.2.3, which is pretty old).

Maybe check your zlib version? If your version is old, consider upgrading.

A sledge-hammer solution (use with caution!) would be install zlib v1.2.3, and override the library path before calling mono.

export LD_LIBRARY_PATH=/path/to/zlib.so/directory:$LD_LIBRARY_PATH

We hope to avoid these types of issues in our Pisces 5.2.x releases.

rmtsoa commented 7 years ago

HI Tamsen:

I learned a hard way that Unix and Linex are not exactly the same. In order for me to get Pisces to work properly, I need to set up the new pipeline based on the Linex system. Thank you so much for following up. I am still very interested to use Pisces for my cancer project. As much as I love the algorithm built in Pisces, but it is still not yet compatible with UMI reads. I wonder if you have heard of Mageri, https://github.com/mikessh/mageri? Is there a way to incorporate this in to Pisces to get more precise mutation calculation?

Thanks, Rosemarie

On Fri, Feb 3, 2017 at 10:07 AM, tamsen notifications@github.com wrote:

Follow up:

We have heard of people having problems with libFileCompression.so in systems with very old zlib versions that don't support the recent API (and by recent I mean v1.2.3, which is pretty old).

Maybe check your zlib version? If your version is old, consider upgrading.

A sledge-hammer solution (use with caution!) would be install zlib v1.2.3, and override the library path before calling mono.

export LD_LIBRARY_PATH=/path/to/zlib.so/directory:$LD_LIBRARY_PATH

We hope to avoid these types of issues in our Pisces 5.2.x releases.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Illumina/Pisces/issues/1#issuecomment-277319064, or mute the thread https://github.com/notifications/unsubscribe-auth/AQFvGtHM21e6YHH6ruhWL3kh-oQEdEm9ks5rY2zzgaJpZM4JgpIU .

tamsen commented 7 years ago

Hi Rosemarie.

Thanks for your continued interest.

Sorry, we do not natively handle UMIs with Pisces. To keep the software clean, architecturally, it is a deliberate choice to handle UMIs upstream of Pisces. (IMO, UMI collapsing is a very different problem from Variant Calling). What you want to do is build a new bam with the UMIs taken into account, and feed that new bam to Pisces. Ie, make a new bam by collapsing all the sets of same-tagged reads into consensus reads. This will denoise your data and give you more accurate frequencies with Pisces.

I will keep an eye out for an exe ready made for you to do this.

tamsen commented 6 years ago

OK, here we go. An example UMI bam-collapsing app that works well with Pisces, for finding low freq variants at fractions of a percent.

https://basespace.illumina.com/apps/5528523/UMI-Error-Correction?preferredversion