Seqanswers Leaderboard Ad

Collapse

Announcement

Collapse
No announcement yet.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Tool] Oncofuse: prediction of driver gene fusions from NGS data

    Dear fellow bioinformaticians,

    I would like to announce a new tool dedicated to post-processing of NGS-based fusion prediction data. The main feature of this tool is the ranking of gene fusions based on their probability to be 'driver' rather than 'passenger' events. Top ranked fusions are promising candidates for validation and further functional study.

    The input format is rather straightforward: either breakpoint coordinates in fusion partner genes or raw input from TopHat/FusionCatcher software.

    Alongside the tool provides some other useful information on fusion gene composition such as the list of retained domains, etc

    Please find the tool itself and the documentation at http://www.unav.es/genetica/oncofuse.html

    Thanks in advance for your feedback,
    Best regards,
    Mikhail Shugay

  • #2
    Interesting. I will give it a try.

    Can you also make it work with output bam generated from RNA-STAR?

    Thanks!

    Comment


    • #3
      Originally posted by ymc View Post
      Interesting. I will give it a try.

      Can you also make it work with output bam generated from RNA-STAR?

      Thanks!
      Hello!

      I'm not very familiar with RNA-STAR, but as far as I understand from the mailing list (https://groups.google.com/forum/#!forum/rna-star) it also provides the Chimeric.out.junction.txt summary file.

      It has the following structure
      V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14
      chr1 14617 - chr7 53255970 + -1 0 0 SRR064287.5803258 14618 50M 53255920 50M
      chr1 20616 + chrM 11311 + -1 0 0 SRR064439.7269195 20566 50M 11261 50M

      V1 is chr gene1 in fusion
      V2 location of beginning of overlap on gene1
      V3 strand of gene1
      V4 is chr gene2 in fusion
      V5 location of beginning of overlap on gene2
      V6 strand of gene2
      V7 junction type: -1=junction is between the mates, 1=GT/AG, 2=CT/AC, 0 - any other motif
      V8 repeat length to the left of the junction
      V9 repeat length to the right of the junction
      V10 read name
      V11 location of end of overlap on gene1
      V12 cigar of alignment for read on gene 1
      V13 location of end of overlap on gene2
      V14 cigar of alignment for reads on gene 2

      The problem is that this file is not collapsed: each line corresponds to a single read. Basically the algorithm should collapse the output and enumerate the number reads spanning/encompassing the junction for each breakpoint1/breakpoint2 pair. This should be a part of fusion-detection software, however it is not available for RNA-STAR (see https://groups.google.com/forum/#!se...4/vpvj34J0GV8J).
      I'll try to write such script in a reasonable time and let you know.

      Comment


      • #4
        I have a theoretical question. Does epithelial tissue refer to not yet metastasized cancer cells and mesenchymal tissue refer to metastasized cancer cells?

        Comment


        • #5
          Originally posted by mikesh View Post
          Hello!

          I'm not very familiar with RNA-STAR, but as far as I understand from the mailing list (https://groups.google.com/forum/#!forum/rna-star) it also provides the Chimeric.out.junction.txt summary file.

          It has the following structure
          V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14
          chr1 14617 - chr7 53255970 + -1 0 0 SRR064287.5803258 14618 50M 53255920 50M
          chr1 20616 + chrM 11311 + -1 0 0 SRR064439.7269195 20566 50M 11261 50M

          V1 is chr gene1 in fusion
          V2 location of beginning of overlap on gene1
          V3 strand of gene1
          V4 is chr gene2 in fusion
          V5 location of beginning of overlap on gene2
          V6 strand of gene2
          V7 junction type: -1=junction is between the mates, 1=GT/AG, 2=CT/AC, 0 - any other motif
          V8 repeat length to the left of the junction
          V9 repeat length to the right of the junction
          V10 read name
          V11 location of end of overlap on gene1
          V12 cigar of alignment for read on gene 1
          V13 location of end of overlap on gene2
          V14 cigar of alignment for reads on gene 2

          The problem is that this file is not collapsed: each line corresponds to a single read. Basically the algorithm should collapse the output and enumerate the number reads spanning/encompassing the junction for each breakpoint1/breakpoint2 pair. This should be a part of fusion-detection software, however it is not available for RNA-STAR (see https://groups.google.com/forum/#!se...4/vpvj34J0GV8J).
          I'll try to write such script in a reasonable time and let you know.
          Good to hear that you are thinking about working on it. For my dataset, RNA-STAR is 15x faster than tophat2.0.9, so I am using it for my DE analysis now. If it also works for fusion genes, then I can also switch from tophat-fusion to RNA-STAR as well.

          Comment


          • #6
            Originally posted by ymc View Post
            I have a theoretical question. Does epithelial tissue refer to not yet metastasized cancer cells and mesenchymal tissue refer to metastasized cancer cells?
            No, all the tissue types correspond to expression in normal tissue. It is the average of expression of several representative samples (e.g. T-cells, Spleen, Bone-marrow,.. for HEM). We use these as prior information as it is not so ambiguous as expression in cancer tissue, while allowing to explain some trends such as tissue specificity of genes involved in fusion and lack of functional domains in some fusion partner genes that are actually expression drivers.

            Originally posted by ymc View Post
            Good to hear that you are thinking about working on it. For my dataset, RNA-STAR is 15x faster than tophat2.0.9, so I am using it for my DE analysis now. If it also works for fusion genes, then I can also switch from tophat-fusion to RNA-STAR as well.
            Yes I completely understand your problem, recently had a nightmare with metagenome assembly until I discovered SGA which was very computationally efficient. Could you please provide a sample of your Chimeric.out.junction.txt (this will speed up things a lot).

            Regards,
            Mike

            Comment


            • #7
              Oh well, I am getting this missing prom.txt problem with my tophat-fusion output

              [Mon Sep 02 21:38:55 HKT 2013] 333687 fusions mapped out of 1159847
              [Mon Sep 02 21:38:55 HKT 2013] Getting features for FPG parts
              [Mon Sep 02 21:38:55 HKT 2013] Loading expression-related data
              Exception in thread "main" java.io.FileNotFoundException: /tank/oncofuse/oncofuse_v1.0.3/libs/AVG/prom.txt (No such file or directory)

              It seems to me this can be fixed by renaming the directories to upper case. I am running Ubuntu. I presume you didn't test your program under a linux environment which is not case insensitive in directory names as in Windows.

              Comment


              • #8
                I think I understand mesenchymal tissues now. They refer to sarcomas.

                Comment


                • #9
                  Originally posted by ymc View Post
                  Oh well, I am getting this missing prom.txt problem with my tophat-fusion output

                  [Mon Sep 02 21:38:55 HKT 2013] 333687 fusions mapped out of 1159847
                  [Mon Sep 02 21:38:55 HKT 2013] Getting features for FPG parts
                  [Mon Sep 02 21:38:55 HKT 2013] Loading expression-related data
                  Exception in thread "main" java.io.FileNotFoundException: /tank/oncofuse/oncofuse_v1.0.3/libs/AVG/prom.txt (No such file or directory)

                  It seems to me this can be fixed by renaming the directories to upper case. I am running Ubuntu. I presume you didn't test your program under a linux environment which is not case insensitive in directory names as in Windows.
                  It was actually a packaging problem - all tissue types are upper-cased in the script (even if they are lowercase in command line or input file) so all directory names should be upper-cased. I'll update the package.
                  The code itself was tested on Windows, MacOS and Ubuntu.

                  Comment


                  • #10
                    Oh well, I am getting null pointer exception after 47min run with my tophat-fusion output

                    [Mon Sep 02 22:54:02 HKT 2013] 572000 FPG parts processed
                    [Mon Sep 02 22:54:07 HKT 2013] 573000 FPG parts processed
                    [Mon Sep 02 22:54:13 HKT 2013] 574000 FPG parts processed
                    [Mon Sep 02 22:54:19 HKT 2013] 575000 FPG parts processed
                    [Mon Sep 02 22:54:19 HKT 2013] ==Tissue specific
                    Exception in thread "main" java.lang.NullPointerException
                    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
                    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
                    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
                    at jsr166y.ForkJoinTask.getThrowableException(ForkJoinTask.java:507)
                    at jsr166y.ForkJoinTask.reportResult(ForkJoinTask.java:567)
                    at jsr166y.ForkJoinTask.join(ForkJoinTask.java:611)
                    at jsr166y.ForkJoinPool.invoke(ForkJoinPool.java:1492)
                    at groovyx.gpars.extra166y.ParallelArrayWithMapping.apply(ParallelArrayWithMapping.java:48)
                    at groovyx.gpars.extra166y.ParallelArray.apply(ParallelArray.java:329)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                    at java.lang.reflect.Method.invoke(Method.java:606)
                    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
                    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085)
                    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                    at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:44)
                    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
                    at groovyx.gpars.pa.GParsPoolUtilHelper.eachParallelPA(GParsPoolUtilHelper.groovy:190)
                    at groovyx.gpars.GParsPoolUtil.eachParallel(GParsPoolUtil.java:385)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                    at java.lang.reflect.Method.invoke(Method.java:606)
                    at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:51)
                    at org.codehaus.groovy.runtime.metaclass.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:54)
                    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085)
                    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                    at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:44)
                    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
                    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
                    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
                    at Oncofuse$_run_closure25_closure62.doCall(Oncofuse.groovy:530)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                    at java.lang.reflect.Method.invoke(Method.java:606)
                    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
                    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                    at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
                    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)
                    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
                    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)
                    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
                    at groovyx.gpars.GParsPool$_withExistingPool_closure1.doCall(GParsPool.groovy:170)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                    at java.lang.reflect.Method.invoke(Method.java:606)
                    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
                    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                    at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
                    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
                    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
                    at groovyx.gpars.GParsPool$_withExistingPool_closure1.doCall(GParsPool.groovy)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                    at java.lang.reflect.Method.invoke(Method.java:606)
                    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
                    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                    at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
                    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                    at groovy.lang.Closure.call(Closure.java:411)
                    at groovy.lang.Closure.call(Closure.java:405)
                    at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:109)
                    at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.access$400(GroovyCategorySupport.java:65)
                    at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:249)
                    at org.codehaus.groovy.runtime.DefaultGroovyMethods.use(DefaultGroovyMethods.java:385)
                    at org.codehaus.groovy.runtime.dgm$594.invoke(Unknown Source)
                    at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:148)
                    at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:99)
                    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:169)
                    at groovyx.gpars.GParsPool.withExistingPool(GParsPool.groovy:169)
                    at groovyx.gpars.GParsPool$withExistingPool.callStatic(Unknown Source)
                    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:53)
                    at groovyx.gpars.GParsPool$withExistingPool.callStatic(Unknown Source)
                    at groovyx.gpars.GParsPool.withPool(GParsPool.groovy:141)
                    at groovyx.gpars.GParsPool$withPool$0.callStatic(Unknown Source)
                    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:53)
                    at groovyx.gpars.GParsPool$withPool$0.callStatic(Unknown Source)
                    at groovyx.gpars.GParsPool.withPool(GParsPool.groovy:117)
                    at groovyx.gpars.GParsPool$withPool.call(Unknown Source)
                    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
                    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
                    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
                    at Oncofuse$_run_closure25.doCall(Oncofuse.groovy:529)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                    at java.lang.reflect.Method.invoke(Method.java:606)
                    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
                    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                    at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
                    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                    at groovy.lang.Closure.call(Closure.java:411)
                    at groovy.lang.Closure.call(Closure.java:427)
                    at org.codehaus.groovy.runtime.DefaultGroovyMethods.callClosureForMapEntry(DefaultGroovyMethods.java:3876)
                    at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1355)
                    at org.codehaus.groovy.runtime.dgm$149.invoke(Unknown Source)
                    at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:271)
                    at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
                    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
                    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
                    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
                    at Oncofuse.run(Oncofuse.groovy:527)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                    at java.lang.reflect.Method.invoke(Method.java:606)
                    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
                    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085)
                    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                    at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:848)
                    at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:831)
                    at org.codehaus.groovy.runtime.InvokerHelper.runScript(InvokerHelper.java:407)
                    at org.codehaus.groovy.runtime.InvokerHelper$runScript.call(Unknown Source)
                    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
                    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
                    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
                    at Oncofuse.main(Oncofuse.groovy)
                    Caused by: java.lang.NullPointerException

                    Comment


                    • #11
                      I head -n 100000 my tophat-fusion output and still getting this error. Let me repeat this process and check out which line is causing the problem.

                      [Mon Sep 02 23:15:11 HKT 2013] 26000 FPG parts processed
                      [Mon Sep 02 23:15:17 HKT 2013] 27000 FPG parts processed
                      [Mon Sep 02 23:15:18 HKT 2013] ==Tissue specific
                      Exception in thread "main" java.lang.NullPointerException
                      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
                      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
                      at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
                      at jsr166y.ForkJoinTask.getThrowableException(ForkJoinTask.java:507)
                      at jsr166y.ForkJoinTask.reportResult(ForkJoinTask.java:567)
                      at jsr166y.ForkJoinTask.join(ForkJoinTask.java:611)
                      at jsr166y.ForkJoinPool.invoke(ForkJoinPool.java:1492)
                      at groovyx.gpars.extra166y.ParallelArrayWithMapping.apply(ParallelArrayWithMapping.java:48)
                      at groovyx.gpars.extra166y.ParallelArray.apply(ParallelArray.java:329)
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      at java.lang.reflect.Method.invoke(Method.java:606)
                      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
                      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085)
                      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                      at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:44)
                      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
                      at groovyx.gpars.pa.GParsPoolUtilHelper.eachParallelPA(GParsPoolUtilHelper.groovy:190)
                      at groovyx.gpars.GParsPoolUtil.eachParallel(GParsPoolUtil.java:385)
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      at java.lang.reflect.Method.invoke(Method.java:606)
                      at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:51)
                      at org.codehaus.groovy.runtime.metaclass.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:54)
                      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085)
                      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                      at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:44)
                      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
                      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
                      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
                      at Oncofuse$_run_closure25_closure62.doCall(Oncofuse.groovy:530)
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      at java.lang.reflect.Method.invoke(Method.java:606)
                      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
                      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                      at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
                      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                      at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)
                      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
                      at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)
                      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
                      at groovyx.gpars.GParsPool$_withExistingPool_closure1.doCall(GParsPool.groovy:170)
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      at java.lang.reflect.Method.invoke(Method.java:606)
                      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
                      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                      at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
                      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                      at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
                      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
                      at groovyx.gpars.GParsPool$_withExistingPool_closure1.doCall(GParsPool.groovy)
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      at java.lang.reflect.Method.invoke(Method.java:606)
                      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
                      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                      at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
                      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                      at groovy.lang.Closure.call(Closure.java:411)
                      at groovy.lang.Closure.call(Closure.java:405)
                      at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:109)
                      at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.access$400(GroovyCategorySupport.java:65)
                      at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:249)
                      at org.codehaus.groovy.runtime.DefaultGroovyMethods.use(DefaultGroovyMethods.java:385)
                      at org.codehaus.groovy.runtime.dgm$594.invoke(Unknown Source)
                      at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:148)
                      at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:99)
                      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:169)
                      at groovyx.gpars.GParsPool.withExistingPool(GParsPool.groovy:169)
                      at groovyx.gpars.GParsPool$withExistingPool.callStatic(Unknown Source)
                      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:53)
                      at groovyx.gpars.GParsPool$withExistingPool.callStatic(Unknown Source)
                      at groovyx.gpars.GParsPool.withPool(GParsPool.groovy:141)
                      at groovyx.gpars.GParsPool$withPool$0.callStatic(Unknown Source)
                      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:53)
                      at groovyx.gpars.GParsPool$withPool$0.callStatic(Unknown Source)
                      at groovyx.gpars.GParsPool.withPool(GParsPool.groovy:117)
                      at groovyx.gpars.GParsPool$withPool.call(Unknown Source)
                      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
                      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
                      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
                      at Oncofuse$_run_closure25.doCall(Oncofuse.groovy:529)
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      at java.lang.reflect.Method.invoke(Method.java:606)
                      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
                      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                      at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
                      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                      at groovy.lang.Closure.call(Closure.java:411)
                      at groovy.lang.Closure.call(Closure.java:427)
                      at org.codehaus.groovy.runtime.DefaultGroovyMethods.callClosureForMapEntry(DefaultGroovyMethods.java:3876)
                      at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1355)
                      at org.codehaus.groovy.runtime.dgm$149.invoke(Unknown Source)
                      at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:271)
                      at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
                      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
                      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
                      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
                      at Oncofuse.run(Oncofuse.groovy:527)
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      at java.lang.reflect.Method.invoke(Method.java:606)
                      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
                      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085)
                      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                      at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:848)
                      at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:831)
                      at org.codehaus.groovy.runtime.InvokerHelper.runScript(InvokerHelper.java:407)
                      at org.codehaus.groovy.runtime.InvokerHelper$runScript.call(Unknown Source)
                      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
                      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
                      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
                      at Oncofuse.main(Oncofuse.groovy)
                      Caused by: java.lang.NullPointerException
                      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
                      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
                      at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
                      at jsr166y.ForkJoinTask.getThrowableException(ForkJoinTask.java:507)
                      at jsr166y.ForkJoinTask.reportResult(ForkJoinTask.java:567)
                      at jsr166y.ForkJoinTask.join(ForkJoinTask.java:611)
                      at groovyx.gpars.extra166y.PAS$FJBase.internalCompute(PAS.java:120)
                      at groovyx.gpars.extra166y.PAS$FJBase.compute(PAS.java:106)
                      at jsr166y.RecursiveAction.exec(RecursiveAction.java:148)
                      at jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:305)
                      at jsr166y.ForkJoinWorkerThread.execTask(ForkJoinWorkerThread.java:575)
                      at jsr166y.ForkJoinPool.scan(ForkJoinPool.java:755)
                      at jsr166y.ForkJoinPool.work(ForkJoinPool.java:617)
                      at jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:369)
                      Caused by: java.lang.NullPointerException
                      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
                      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
                      at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
                      at jsr166y.ForkJoinTask.getThrowableException(ForkJoinTask.java:507)
                      at jsr166y.ForkJoinTask.reportResult(ForkJoinTask.java:567)
                      at jsr166y.ForkJoinTask.join(ForkJoinTask.java:611)
                      at groovyx.gpars.extra166y.PAS$FJBase.internalCompute(PAS.java:120)
                      at groovyx.gpars.extra166y.PAS$FJBase.compute(PAS.java:106)
                      at jsr166y.RecursiveAction.exec(RecursiveAction.java:148)
                      at jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:305)
                      at jsr166y.ForkJoinWorkerThread.execTask(ForkJoinWorkerThread.java:575)
                      at jsr166y.ForkJoinPool.scan(ForkJoinPool.java:733)
                      ... 2 more
                      Caused by: java.lang.NullPointerException
                      ... 15 more
                      Caused by: java.lang.NullPointerException
                      at org.codehaus.groovy.runtime.dgmimpl.NumberNumberPlus$DoubleDouble.call(NumberNumberPlus.java:119)
                      at Oncofuse$_run_closure25_closure62_closure63_closure65.doCall(Oncofuse.groovy:542)
                      at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      at java.lang.reflect.Method.invoke(Method.java:606)
                      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
                      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                      at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
                      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                      at groovy.lang.Closure.call(Closure.java:411)
                      at groovy.lang.Closure.call(Closure.java:427)
                      at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1326)
                      at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1298)
                      at org.codehaus.groovy.runtime.dgm$148.invoke(Unknown Source)
                      at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:271)
                      at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
                      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
                      at Oncofuse$_run_closure25_closure62_closure63.doCall(Oncofuse.groovy:540)
                      at sun.reflect.GeneratedMethodAccessor99.invoke(Unknown Source)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      at java.lang.reflect.Method.invoke(Method.java:606)
                      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
                      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                      at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
                      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                      at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)
                      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
                      at groovyx.gpars.pa.GParsPoolUtilHelper$_eachParallelPA_closure8.doCall(GParsPoolUtilHelper.groovy:190)
                      at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      at java.lang.reflect.Method.invoke(Method.java:606)
                      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
                      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
                      at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
                      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
                      at groovy.lang.Closure.call(Closure.java:411)
                      at org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:51)
                      at org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:82)
                      at com.sun.proxy.$Proxy6.op(Unknown Source)
                      at groovyx.gpars.extra166y.AbstractParallelAnyArray$OUPap.leafApply(AbstractParallelAnyArray.java:639)
                      at groovyx.gpars.extra166y.PAS$FJOApply.atLeaf(PAS.java:147)
                      ... 8 more

                      Comment


                      • #12
                        One moment I've tried to debug these and these turned to be several protein interaction partners that don't have associated expression data (not present in Affy array). Check out the package at https://s3-eu-west-1.amazonaws.com/o...use-v1.0.3.zip

                        The important thing is however, that you're getting around 300,000 gene fusions for your sample (which is an astronomical number). Have you performed a filtering step based on number of spanning/encompassing reads? This should remove lots of false positives. Remember that the tool does functional analysis, but it has NO prior data on the fact that fusion has happened in the sample of interest (there could be many other physiological contraints on fusion formation).

                        PS If the problem persists, please pm me and I'll give you my mail to send the data that causes the error
                        Last edited by mikesh; 09-03-2013, 02:09 AM.

                        Comment


                        • #13
                          Originally posted by mikesh View Post
                          One moment I've tried to debug these and these turned to be several protein interaction partners that don't have associated expression data (not present in Affy array). Check out the package at https://s3-eu-west-1.amazonaws.com/o...use-v1.0.3.zip

                          The important thing is however, that you're getting around 300,000 gene fusions for your sample (which is an astronomical number). Have you performed a filtering step based on number of spanning/encompassing reads? This should remove lots of false positives. Remember that the tool does functional analysis, but it has NO prior data on the fact that fusion has happened in the sample of interest (there could be many other physiological contraints on fusion formation).

                          PS If the problem persists, please pm me and I'll give you my mail to send the data that causes the error
                          Can you suggest a way to filter tophat-fusion output? Thanks

                          Comment


                          • #14
                            Looks like the 84094th line of my file is causing the exception.

                            chr1-chr2 150938563 198629575 rf 1 0 1 240 64 14 36.000000 @ 9 21 35 49 62 @ CAGCTGCCTCCCAGATTAATGCATAAAGCCAAGGAACTACCCCGCTCCCT GCGCTATAGGGTCACTTTAAGCTCTGGGGAAAAAGGAGAAAGTGAGAGGA @ GGTCCCATTGCTGTCACAAAGAAATGAATGTAACTCCTACCCTAATCCCT TTTTTATATAATAAAACTGCCTTAGCATGAGTTGCAACTGTCATCACTAC @ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 @1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @

                            You can download the problematic file here:



                            You can make it work by removing the last line. The command I ran was:

                            java -Xmx10G -jar Oncofuse.jar fusions.out tophat EPI onco.out

                            Comment


                            • #15
                              Originally posted by mikesh View Post
                              One moment I've tried to debug these and these turned to be several protein interaction partners that don't have associated expression data (not present in Affy array). Check out the package at https://s3-eu-west-1.amazonaws.com/o...use-v1.0.3.zip

                              The important thing is however, that you're getting around 300,000 gene fusions for your sample (which is an astronomical number). Have you performed a filtering step based on number of spanning/encompassing reads? This should remove lots of false positives. Remember that the tool does functional analysis, but it has NO prior data on the fact that fusion has happened in the sample of interest (there could be many other physiological contraints on fusion formation).

                              PS If the problem persists, please pm me and I'll give you my mail to send the data that causes the error
                              I tried filtering. For >= 2 spanning reads, there are 80215 fusions. It crashed. Then I tried >=3 spanning reads. There are 26413 fusions. It also crashed. Next, >=4, 16920 fusions. Crashed. Next, >=5, 12334 fusions. Crashed. Next, >=6, 10651 fusions. Crashed. Next, >=7, 9248 fusions. Crashed. Next, >=8, 8352 fusions. Crashed. Next, >=9, 7652 fusions. Crashed. Next, >=10, 7066 fusions. Crashed. Next, >=11, 6532 fusions. Crashed. Next, >=12, 6107 fusions. Crashed. Next, >=13, 5707 fusions. Crashed. Next, >=14, 5389 fusions. Crashed. Next, >=15, 5109 fusions. Crashed. Next, >=16, 4867 fusions. Crashed. Next, >=17, 4641 fusions. Woohoo! Finally finishes!

                              I think it will be better if you just give a warning and skip the fusions you can't process...

                              Comment

                              Latest Articles

                              Collapse

                              • seqadmin
                                Latest Developments in Precision Medicine
                                by seqadmin



                                Technological advances have led to drastic improvements in the field of precision medicine, enabling more personalized approaches to treatment. This article explores four leading groups that are overcoming many of the challenges of genomic profiling and precision medicine through their innovative platforms and technologies.

                                Somatic Genomics
                                “We have such a tremendous amount of genetic diversity that exists within each of us, and not just between us as individuals,”...
                                05-24-2024, 01:16 PM
                              • seqadmin
                                Recent Advances in Sequencing Analysis Tools
                                by seqadmin


                                The sequencing world is rapidly changing due to declining costs, enhanced accuracies, and the advent of newer, cutting-edge instruments. Equally important to these developments are improvements in sequencing analysis, a process that converts vast amounts of raw data into a comprehensible and meaningful form. This complex task requires expertise and the right analysis tools. In this article, we highlight the progress and innovation in sequencing analysis by reviewing several of the...
                                05-06-2024, 07:48 AM

                              ad_right_rmr

                              Collapse

                              News

                              Collapse

                              Topics Statistics Last Post
                              Started by seqadmin, Yesterday, 01:32 PM
                              0 responses
                              10 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 05-24-2024, 07:15 AM
                              0 responses
                              199 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 05-23-2024, 10:28 AM
                              0 responses
                              221 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 05-23-2024, 07:35 AM
                              0 responses
                              232 views
                              0 likes
                              Last Post seqadmin  
                              Working...
                              X