1
私はお詫びしますが、自分でMuTectを実行することで問題を解決することができませんでした。私の議論に問題があるのか、自分の入力に問題があるのか、あるいはJava自体でさえ問題があるのかは分かりません。このエラーが表示されます。比較方法は一般契約に違反しています! (TimSort)
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)
マイコード:
Comparator<OfferInfo> comparator = new ComparaterClosesyTOMe();
public class ComparaterClosesyTOMe implements Comparator<OfferInfo> {
@Override
public int compare(OfferInfo arg0, OfferInfo arg1) {
double distance = Utils.getDistance(gpsTracker.getLatitude(), gpsTracker.getLongitude(), arg0.latitude, arg0.longitude, "M");
double distance1 = Utils.getDistance(gpsTracker.getLatitude(), gpsTracker.getLongitude(), arg1.latitude, arg1.longitude, "M");
if (distance > distance1)
return 1;
else
return -1;
}
}
カスタム 'コンパレータ'を使用していますか? – beeb
はい、ソートリストにコンパレータを使用しています –
コンパレータのコードを投稿してください。 – beeb