比较方法违反了其总合同! (TimSort)

时间:2017-01-25 13:47:49

标签: android android-studio sdk comparison string-comparison

我道歉,但我无法解决自己运行MuTect的问题。我不确定我的论点或我的一个输入或者甚至是java本身是否存在问题。我收到此错误。

for i in *.fastq
do
   out=$(dirname "$i")/$(basename "$i" .fastq).fasta
   sed -n '1~4{s/^@/>/;N;p}' "$i" > "$out"
   if [ -z $out ]
   then
      echo "Empty output file $out"
      rm "$out"
   fi
done

我的代码:

   Error processing 1:12855123
    java.lang.IllegalArgumentException: Comparison method violates its general contract!
    at java.util.TimSort.mergeLo(TimSort.java:747)
    at java.util.TimSort.mergeAt(TimSort.java:483)
    at java.util.TimSort.mergeCollapse(TimSort.java:410)
    at java.util.TimSort.sort(TimSort.java:214)
    at java.util.TimSort.sort(TimSort.java:173)
    at java.util.Arrays.sort(Arrays.java:659)
    at java.util.Collections.sort(Collections.java:217)
    at org.broadinstitute.cga.tools.gatk.walkers.cancer.mutect.MuTectWalker.map(MuTectWalker.java:664)
    at org.broadinstitute.cga.tools.gatk.walkers.cancer.mutect.MuTectWalker.map(MuTectWalker.java:34)
    at org.broadinstitute.sting.gatk.traversals.TraverseLoci.traverse(TraverseLoci.java:77)
    at org.broadinstitute.sting.gatk.traversals.TraverseLoci.traverse(TraverseLoci.java:18)
    at org.broadinstitute.sting.gatk.executive.LinearMicroScheduler.execute(LinearMicroScheduler.java:61)
    at org.broadinstitute.sting.gatk.GenomeAnalysisEngine.execute(GenomeAnalysisEngine.java:225)
    at org.broadinstitute.sting.gatk.CommandLineExecutable.execute(CommandLineExecutable.java:104)
    at org.broadinstitute.sting.commandline.CommandLineProgram.start(CommandLineProgram.java:227)
    at org.broadinstitute.sting.gatk.CommandLineGATK.main(CommandLineGATK.java:89)

1 个答案:

答案 0 :(得分:0)

使用非常样本来使用和转换代码

旧代码:

 if (distance > distance1)
     return 1;
 else
     return -1; 

新代码:

 if (distance == distance1)
      return 1;
 else   
      return -1;