From 6996a953a832247be47710440d0a60f1429281f2 Mon Sep 17 00:00:00 2001 From: Eric Banks Date: Wed, 20 Feb 2013 13:52:55 -0500 Subject: [PATCH] Haplotype/Allele based optimizations for the HaplotypeCaller that knock off nearly 20% of the total runtime (multi-sample). These 2 changes improve runtime performance almost as much as Ryan's previous attempt (with ID-based comparisons): * Don't unnecessarily overload Allele.getBases() in the Haplotype class. * Haplotype.getBases() was calling clone() on the byte array. * Added a constructor to Allele (and Haplotype) that takes in an Allele as input. * It makes a copy of he given allele without having to go through the validation of the bases (since the Allele has already been validated). * Rev'ed the variant jar accordingly. For the reviewer: all tests passed before rebasing, so this should be good to go as far as correctness. --- .../haplotypecaller/GenotypingEngine.java | 4 +-- .../LikelihoodCalculationEngine.java | 4 +-- .../broadinstitute/sting/utils/Haplotype.java | 23 ++++++++++++------ ...nt-1.84.1338.jar => variant-1.85.1357.jar} | Bin 555046 -> 555516 bytes ...nt-1.84.1338.xml => variant-1.85.1357.xml} | 2 +- 5 files changed, 20 insertions(+), 13 deletions(-) rename settings/repository/org.broadinstitute/{variant-1.84.1338.jar => variant-1.85.1357.jar} (94%) rename settings/repository/org.broadinstitute/{variant-1.84.1338.xml => variant-1.85.1357.xml} (71%) diff --git a/protected/java/src/org/broadinstitute/sting/gatk/walkers/haplotypecaller/GenotypingEngine.java b/protected/java/src/org/broadinstitute/sting/gatk/walkers/haplotypecaller/GenotypingEngine.java index a2920a432..53dc4f1bd 100644 --- a/protected/java/src/org/broadinstitute/sting/gatk/walkers/haplotypecaller/GenotypingEngine.java +++ b/protected/java/src/org/broadinstitute/sting/gatk/walkers/haplotypecaller/GenotypingEngine.java @@ -368,7 +368,7 @@ public class GenotypingEngine { for( final Map.Entry> readEntry : haplotypeReadMapEntry.getValue().getLikelihoodReadMap().entrySet() ) { // for each read double maxLikelihood = Double.NEGATIVE_INFINITY; for( final Map.Entry alleleDoubleEntry : readEntry.getValue().entrySet() ) { // for each input allele - if( mappedHaplotypes.contains( new Haplotype(alleleDoubleEntry.getKey().getBases())) ) { // exact match of haplotype base string + if( mappedHaplotypes.contains( new Haplotype(alleleDoubleEntry.getKey())) ) { // exact match of haplotype base string maxLikelihood = Math.max( maxLikelihood, alleleDoubleEntry.getValue() ); } } @@ -442,7 +442,7 @@ public class GenotypingEngine { } // count up the co-occurrences of the events for the R^2 calculation for( final String sample : samples ) { - final double haplotypeLikelihood = LikelihoodCalculationEngine.computeDiploidHaplotypeLikelihoods( Collections.singleton(sample), haplotypeReadMap, Collections.singletonList(Allele.create(h.getBases())) )[0][0]; + final double haplotypeLikelihood = LikelihoodCalculationEngine.computeDiploidHaplotypeLikelihoods( Collections.singleton(sample), haplotypeReadMap, Collections.singletonList(Allele.create(h, true)) )[0][0]; if( thisHapVC == null ) { if( nextHapVC == null ) { x11 = MathUtils.approximateLog10SumLog10(x11, haplotypeLikelihood); } else { x12 = MathUtils.approximateLog10SumLog10(x12, haplotypeLikelihood); } diff --git a/protected/java/src/org/broadinstitute/sting/gatk/walkers/haplotypecaller/LikelihoodCalculationEngine.java b/protected/java/src/org/broadinstitute/sting/gatk/walkers/haplotypecaller/LikelihoodCalculationEngine.java index 63aa54fa5..76ad61b77 100644 --- a/protected/java/src/org/broadinstitute/sting/gatk/walkers/haplotypecaller/LikelihoodCalculationEngine.java +++ b/protected/java/src/org/broadinstitute/sting/gatk/walkers/haplotypecaller/LikelihoodCalculationEngine.java @@ -125,7 +125,7 @@ public class LikelihoodCalculationEngine { final int numHaplotypes = haplotypes.size(); final Map alleleVersions = new HashMap(numHaplotypes); for ( final Haplotype haplotype : haplotypes ) { - alleleVersions.put(haplotype, Allele.create(haplotype.getBases())); + alleleVersions.put(haplotype, Allele.create(haplotype, true)); } final PerReadAlleleLikelihoodMap perReadAlleleLikelihoodMap = new PerReadAlleleLikelihoodMap(); @@ -232,7 +232,7 @@ public class LikelihoodCalculationEngine { final List bestHaplotypesIndexList = new ArrayList(); bestHaplotypesIndexList.add( findReferenceIndex(haplotypes) ); // always start with the reference haplotype final List haplotypesAsAlleles = new ArrayList(); - for( final Haplotype h : haplotypes ) { haplotypesAsAlleles.add(Allele.create(h.getBases())); } + for( final Haplotype h : haplotypes ) { haplotypesAsAlleles.add(Allele.create(h, true)); } final double[][] haplotypeLikelihoodMatrix = computeDiploidHaplotypeLikelihoods( sampleKeySet, stratifiedReadMap, haplotypesAsAlleles ); // all samples pooled together diff --git a/public/java/src/org/broadinstitute/sting/utils/Haplotype.java b/public/java/src/org/broadinstitute/sting/utils/Haplotype.java index 6e8a412c3..cdb5f8279 100644 --- a/public/java/src/org/broadinstitute/sting/utils/Haplotype.java +++ b/public/java/src/org/broadinstitute/sting/utils/Haplotype.java @@ -61,6 +61,15 @@ public class Haplotype extends Allele { this(bases, false); } + /** + * Copy constructor. Note the ref state of the provided allele is ignored! + * + * @param allele allele to copy + */ + public Haplotype( final Allele allele ) { + super(allele, true); + } + protected Haplotype( final byte[] bases, final Event artificialEvent ) { this(bases, false); this.artificialEvent = artificialEvent; @@ -94,10 +103,6 @@ public class Haplotype extends Allele { return getDisplayString(); } - public byte[] getBases() { - return super.getBases().clone(); - } - public long getStartPosition() { return genomeLocation.getStart(); } @@ -150,13 +155,15 @@ public class Haplotype extends Allele { public Haplotype insertAllele( final Allele refAllele, final Allele altAllele, final int refInsertLocation, final int genomicInsertLocation ) { // refInsertLocation is in ref haplotype offset coordinates NOT genomic coordinates final int haplotypeInsertLocation = ReadUtils.getReadCoordinateForReferenceCoordinate(alignmentStartHapwrtRef, cigar, refInsertLocation, ReadUtils.ClippingTail.RIGHT_TAIL, true); - if( haplotypeInsertLocation == -1 || haplotypeInsertLocation + refAllele.length() >= getBases().length ) { // desired change falls inside deletion so don't bother creating a new haplotype + final byte[] myBases = this.getBases(); + if( haplotypeInsertLocation == -1 || haplotypeInsertLocation + refAllele.length() >= myBases.length ) { // desired change falls inside deletion so don't bother creating a new haplotype return null; } + byte[] newHaplotypeBases = new byte[]{}; - newHaplotypeBases = ArrayUtils.addAll(newHaplotypeBases, ArrayUtils.subarray(getBases(), 0, haplotypeInsertLocation)); // bases before the variant + newHaplotypeBases = ArrayUtils.addAll(newHaplotypeBases, ArrayUtils.subarray(myBases, 0, haplotypeInsertLocation)); // bases before the variant newHaplotypeBases = ArrayUtils.addAll(newHaplotypeBases, altAllele.getBases()); // the alt allele of the variant - newHaplotypeBases = ArrayUtils.addAll(newHaplotypeBases, ArrayUtils.subarray(getBases(), haplotypeInsertLocation + refAllele.length(), getBases().length)); // bases after the variant + newHaplotypeBases = ArrayUtils.addAll(newHaplotypeBases, ArrayUtils.subarray(myBases, haplotypeInsertLocation + refAllele.length(), myBases.length)); // bases after the variant return new Haplotype(newHaplotypeBases, new Event(refAllele, altAllele, genomicInsertLocation)); } @@ -199,7 +206,7 @@ public class Haplotype extends Allele { if (refAllele == null) throw new ReviewedStingException("BUG: no ref alleles in input to makeHaplotypeListfrom Alleles at loc: "+ startPos); - byte[] refBases = ref.getBases(); + final byte[] refBases = ref.getBases(); final int startIdxInReference = 1 + startPos - numPrefBases - ref.getWindow().getStart(); final String basesBeforeVariant = new String(Arrays.copyOfRange(refBases, startIdxInReference, startIdxInReference + numPrefBases)); diff --git a/settings/repository/org.broadinstitute/variant-1.84.1338.jar b/settings/repository/org.broadinstitute/variant-1.85.1357.jar similarity index 94% rename from settings/repository/org.broadinstitute/variant-1.84.1338.jar rename to settings/repository/org.broadinstitute/variant-1.85.1357.jar index 16812d5699353a6618071db9d430673548f9710d..d341e1cf5cdc9f202ea7e51ef59c6334c83040b9 100644 GIT binary patch delta 11247 zcmZ`f2YeMp^RxHv-d$c^LV8FqB$SXwhY(XJ5km_hlt>MbK>A?Gzl7e*d!l#GDwb0zOchz;Kbh=EBP$Gb69o; z{Sl-I(A0k(*StvjCNF*4K0*bESdnro)sd{SWP#}zWw7zG_pzOg@+Bfi>qxfGB6>f@ zuq7=;Z$U1bDpch^4q)kGC@G&U5d!c%#jK~Wk#*>W3AJ$mwQ;;j3F}#wW`lw7i3cRW zr&JxG>L^vmY*-!F;e-JvZJ@(v^n8jSpBr$R9?lqW)&^g|IeIv+!;yA5*AoSy&tH$PSp*nex&NA0k??wCj)-g;Wkm< zq3Rc^el_4XYJaEd4;%ame^KwQ0e{n6{}@n@&kU$yR4G(h42J%ez%+wd4W?7q7;R%7 z%!WkFlb-FK%!_$@vL?)jDqkA&qspI90;m^AGvLI5EQqRL8f$8>5NbmW7G|(;gGCrD zQfE;*i*|f4o{eMbZ5;;l>1k>Z&njga_Y1MKkAAS#U z$)2#!xkus&P~mQ&mFMc&a8)RSKgyo5lQ*e=8n5i}mq(1m@Y{5tvVM zujJEbvAD8#V1pfAg-V?z*ja0qXopu|B?>Xj&XQO%c1Dn(ONnebNi&BOCxm1>tc5k$ zL014ftb@07mVzxyMfFg8cpIM3SsOcR%i8HI#?IQqN;~VoI@)0s_TV+bc`u4}vcrDZ zYiFHV7vi!W2VoDg&8FFAJCbIzE=t)zU{HV#8%pK`0EL!7w73eQ#f1q2{=(1 zKn1EW0mUi>Z?u&^+Nde|Su|8aDz1HJbe=4D-9_Z=Mv1fGA+#7toDFju?Gz7+(@rzd zL3DVyo(v-lhXV=@Fq{yb94u%!$DW6oH!C9}bp$W0Yf++oD9r~D00-e=I0R3@VR#Nc zLYMy--hfYF8+?k;BX9za!fmX{ph3dGe~Y!lNBCP*A|5i64 zK&%jJKG~cPoyQ`CP*$PhX_rat@F*;xIdDJGQb}zdBQhLIMM20Y)=o<3~-^;K=BiF7*hpZ)}yR%9?|*X8Uy@=GvCGB=O5ImUhtq*^o7>& zw7D13UATFHX557^9iH)((mab!L3&(#l!dlvl!ke@NaKO@BXA}U433Kha^wOQ>Ream z)i^C7No49RG1nD?KanAe#&u0lcS6T%9C2A!7U(jm)fAd0T`H+rE@IOXRwnEOD|akl zuQ@%Qg@DdN!GncEFpGc?76nNx8lGXXu$aZc3oIU%vlj3YYlRU#3MyEVm@ESsCgHv% zXVlOm%Herja|I&dF?az(jRj(0K8BlR!q%0hP$+^_E zPhh_zOWLE$h0*FCb2D0}|6w%eW?1q6jE0+`(>0_XNZn*k-`~R@UMWyU1Aq}01M0o2 zU*sZ*W(G(Gypg(_;0EA@ySmG2(A5o~3MMiXi~YyOx-juFnb7{jUF4a?AcxVB-zbh# z8s%PTN?aH@rNPsji21UGEYi7m*#sBlf0>n03L@z07P26hjWfxG&N&GtM5ct#qUp(A zDer-Ap#%I#^HpH@rQz9x{jNJ80GqZnl)eEpzx!}t2Q;M>ay7~{muXTUQ=ZXel>|@+ z>QF&P3m!2u=~$`2(9lnep>bTsP!7zTgc94zS+fV6q2gf|?tU&N*Fo{>jynQrF#jP+ zoUuPmg>BPDRe1Cw7T}DaY@rLgrta+QxhNcxV=hMQ_=H6)!X;)s>q2R7bfDKwsrQ{$ zf?SZ7yC6GFk2#s(d~Fen>YhP9;cCa#f<_*af#w91)KtNLkgCDWdXZPX0UHFP-jB0( z!^l=a=z_pr2ZgNzFSZ^+v5jU`f+HnQDulzE7-nd%#hSboh=z?gCV6A_^Eapr14|f= zU=AuKIQKZq8j^|m%D--hnnwNr8I2NWpu{ri$Z$zI@Q4a%X2~MyF`X66r$51B%l;?x zoi65xZe$(})#B77b6CL=+Q3m9GdPxoDw2|RO7OBU$J+tf_inyg7tUo3OG%kRwK&p9 zz)d6|vboP>=RxdJ|Ap5f7hWEXQhFdOG64g;6qu}X#4~^|MkiHffJVYLzU)cn;j(9s z2!1m8@HP20EPW3;-`|BAl!;`+)KMH8?GtuEHwJwZcR_cCH-b>?AnHCy=$C|2XJfvS zRI{P}YU`a~!+EzrcnzaHtco0y(v~t{XV7KNLM;0NTCfX{%q~J(c3H@RyBKpD8*E06 zESPCT<9W43*tk7x#XOIG?NOM)sNW9kOW6tLz$cR33)H)GdhHDV6Yz$+3x^cgjp%qi z5yrtBcODMWx+ThpV@JVzqTot3K4XWTF%W4gJ?G#<&JMWWxq+nnUj=XWHTbY^Ad>wT zqS<#YYm?ZxHi@Qtl4N-J_%s0z1Kx+dBngjvnuV41s&0)bKrbhIZ&V!Eb?{_2z?a>0 zVH=F8@MvTN5R3+=B`3BbiL=pVOsEHVRLN^c5J}&c#J42wfCqL!E;hZL{wb~?W$ZR+ z?2ed)_Ac%2hFOBlSu{++K0t3(e6rDs2h3?)ycJh}2lR1rmic3`i|DT2dQgNI13tt| zo|OsjIxl<+V5Mb`u@yY&eD>?BI-uWHh>#B!@enB<`b$WZe2|c6@sKAWG4eq|V#UJ% z327!DBqRH=2a==dyS(c=A7+D0}-yeV_M zwT;zx7Gu>n*wzGJdLedT+mWg&bXzJ#{Kb7r60do{=;Zjksq&5@US@TfzNr7nmH;PP z@{<>oRL8zB<&JzA=IEi+i1%xbiMh%zn!sMZy8QSr_OraMM%RHoPh zo8eMMVCaa$8(Tcus5#yrTkyKA%3Li0H*{-0e4Db`D;Yc?1>vc+_aBW{F$polevF{~|& zWqn{A8wJIz6jRqnVLTpF6WC5DWyfF|JC9uE;2Kb-dN(LAW2H zaEo<@gIsxES*O5Z{>J;tAS=pdgCiuvI0a7g@q3kA12M^UNGm7qRSViWgjb_*~L1~tT}lizzPsx zQ>qFGSt4ZH^Q!3Wv|3X&6K@21JrJ^ccUrx#O~SMv)TRS41h{LZxf|v@~jxu z$MHgh`XUqhU%uWU?P)K7r@i>eHfkzgc-!LVm>#8aFVcbAlGHvznZhJ>qU3(4jT#yw z#;)e8OT|lb$E*VNka$_{NFS-*wFzj~Qgx)<*A=tX9NGJ(OzkIo9T%&e?E-HGSDQo& zSt=6;wN3K?Nb}(Avet=bb=Q3OBaxafUpvyk^|`EiIDT=cT|ESLzy|A?1O5O9{Q1H| zxN^6K8}a6sM_^x_m;1z5 zzPL=jJbSU4#n=9>hPX`4Z>d-1oA(8ZHc+Z@%1euoX1VRF6-)mZ7OZU%)^qs8YkMX1 zWGn4M8I)G#YkM+<;zO5f-v)?fN_ya&gjvOQXRDgNR8n(137KGbv>7tbHn$|Q97Da}LnCVZhSmRsZ3 zOWMawDAM84eHZI6Qd1c%74aEv4dV;%Xx@&bE7~nZXdeBwHbgR>cU>#?6UKk?-HVky z`k@W_$&Hv*Xf^oKNUPyUs@Dqo3A!ixT6ar_%kFRO7DQwGsbXuI03Il|_7I;w9JVRe zgT-R($^1uyiN4a=+f4BDc6VQI1dM~+9tD5M8twJErCznm#83C{} zf@eR=VtMKywJHDMW!>A+Gf3YZA#jqmbey)!2Vj@aiW!4qcwLNP<6+YcyQ4>Y{eYa< z)>B_0&9t_+eo9XAP@ev{biTWVdX9wl9Icmh5W>9kvhMFKdI#6*e$v?I-qfc^NtTk>PQbRR+HXn#yEkQyw$q)(Gp|NF8&Lwrhd%($)3j}TmM`WT%g zw3VOnz0@x#*w`Lx!Ebr|SQn!+ea+(@X@>B6-aE}mAws?&&Bzd)y=g{{=;&RI-l8+8 zt1(=3wskeeicV;{F->%qq#F;4&b4%7r0C?{XCiOB&zLMWOJ;lDiM%M=2;%KBj6#9* zLWVJ0bgY@iOwpO2X^#Bd&?(I_N9wYSM+DCBY;)vPwlPtRWOXx2MW?!(F-&x9-ObK~ zhR&gePFxQYw5Xv|*Ta-2y{9Sknx3XUzxOne2j>_fOE|HwFoJbNOypdcQF^ znj%Buo$YT{M*&bt!}V|YRh8Qo^Ub}CL|$93*mz(sL%2Fm=w*Z{-fx?rcbT1+AxN-d zo>}v&J0mMB_}BQWDt~MT;mcL}lNc<#NdxUyO!wFMOZORmF(isxuGUD6xm$V1P=)XR zPH9cKTX%u$%-R6+9_O#ByfDJV#Y8TI56v~~f?)M;$MzLsz@n1w#7E|fa~hcE8scLv zKbdQUSu*;_VM_6MLT@8LELV1K1a-`J0b%wR#A|vR;xyv51Yh-FBRq&l_Aw=Jri6gW zj`LSlesql~0cD7MK_Al|Bh^92o-DJ<7QlT96{`?W5Z@()h%W>}7yjxQ#o)vGnZy(OA?$@qCd@}yHGZg{ zIq8=KJN>l@t2wWD^3hinYf@fsrUY2zXL(xP)kosm8n56ddMp`k+RXc25NGmt`g6zC@yT!_{^)&3l zJ*zv^zn6wt6qO!s0&KoTL|MFSfa%H3gbOgEcK)i$``#hcfr4R+oaJM`L1t9kv6lZX z8IH?0(Q#9c)UD(+Y_ zf+WL5gUq?rMX!GJ@2ERMCF&hSm62{R3jbH699xeV$q`Z zdEB{*1XS|eh~6m|L@S3Gu>$jO%BM#TdIC@>bi=G);=+E@Mr6;2nF>@7Lj}@SHNtgn zA8vwTh9juYE&_FL%(vx{;7qdV)vxncRetva!tcS8BQ>2j8DXx2GvTIJGR|LBdE!~Z zFA<*f)(D)i?G+lx;rp(rcFMA42uvP{pc_9)S)Lzh#0ic6yLa`Q_-`ikuO|4W!TGBy z&rx~NC=~m+qDAwlk!Gm)C5g@o!uAlbg z2z*~b#r;%R-P#4ey2xa;zX(~4DIicMzHf?V2#k@qIc6{L&L;Q~v-%O*P z8|5h7BRJk8bncO1?!7i+5nlV23moqh;X>@)1p4S57f|Xun!yvtnGI^sxZqTdqwq8d^1IbzU4Rks>-i@Ls*zGU(MD0h@bm)xY$IG(ae z*ZG{j=41&|5%l4oCg=~VCqJKV3jbw&@XJ48^q}INZU%et?Agew&QJH}=cby6<4s~U z245TyD0P}C(X?qe`d+Xct(j&I-yZTQkShr~(O<(!LUOak^=~KO>e*OvRItiaVFge2My6qE&Jcv*vfNU3C-p4Hb9g zKO83TS48_+`MWcWXo3EE&6pbz9q^wPvAC~}_ZTPoW21E|kD6(^O!7<=bS@X*<(+L# z4W1{!(*HC9nhex6ercxZ-pwlF&II8Gq2eyty0-)g&pN9I@aT;=SHD^2Tq9;7OTR59 zOK)C1%e2;h0t|6T!hJ(@FWzLfIg#6y+HH;293=d1LUZk!Wt+vo&kKXSF$fF?SAv-aalt;u_w#s5JyCsFR?&Z}mWKeaO@x>>&gl z!jn|EU7g;Hmpx=^{XBuverW{xi`W=NseJ#$J^$Q5ajB%ZiM^9gpKG+{8FL%b!*h?H uU5XKrN;fympZ)oaxkjEaL;aJlcu$H2ppxWK?N04aX}5qeIu9BkkTxdFH7@^pG$sO zTG?OIWHiksbIZNbtkkfwvJ}y@%vAp8-1}f={QCTLmv{Di&bjxVx%A-on71oqe6lkw zstv#ZI5Vrut3Hh^r*UYr%5nmSbJ1e>vndVB8nISl9KqVtxP2WiE5i~<4%G)KBu)RCZluztRp7*MbAk=SDwD%B_L;u zugb};mo1Wb-;x#H0yVJIM5VtO7A_!pdo+m}b;M-vcQ!;q#$PN85;XNIM@c!0?i`Vm z+`mFJftvW}1lh`Z#OA=Qj8PzNC+HI-Ivb030&lD;h88 z@U;zU!8ZncOWzmi;}TI`HsCuFQ%;@l73#mI?g#An(b3FNY`|~Ca@~L%I#dwPP3kJC zyJf&_8h@wmjt%a@A2j>ZfP19jF9Yt=_ute#pzfgok7%qi7#NJBTDn|U!Cb>0~Sv{UCpG`=+RBjKpC7W1brfM9_J3!*XDV6_YuVz5wyh3PC@XA#aL zh3rYDR_Kt+N4&0vSOzy9;9NU~l`{6Vv&}fxi}9P|SzmUZXG~xhc^``_3W%ZYhZ`hU@2OJYzoD3z~Um~_8 zbL*3k>>U4n~l30YITxh!MjfMvRCU zF(^2OLmmu4o}mKP7WvSFIFBGFiV^)NMs%eZ(VJpKhl&w>Dn@iGKoT;dYXtzki(@!o zTySg%DuoJFjR#k!_<-zIv_cvu#gb>4-y{L*hh>~ z0L>QQZXws;fhv~x=s6bJu*Nma>Qao0l}7>*za)rLirE%d=HnHlGjH%>J`l=$A)NU` z0tW0Q76gk}EqH~6z-ufFma_<0fwDJTGR9tkIvD7Mun5yB z2GeUX&dBF$O(SR~Y%dmDBm!(+KI{?bw9(lE7|j$byASLhilppb@<064UOhKbxe}UEQ;d1vdH|c?H(sfXLI$`o6E8gd{0yL`+>B2FL zA}E%^**q5PI`r6RH*sN};_N-qI%LP%g2eG2^H`Ld_a?b<+D%Rd|0c7McxH2B`K);!`6>j{ z57+`w*h}EUUWN!99c-bHNO!*qwehB3B#yjTQ?>#QcoSh#Hs0tDL1lObL?Q%hDxu(` z`7Hg3)Kb@8@UVDAjeI(ls%wi>w0Jmj6YQ;;+5&Ht;JTJ{vL4GbAw1_r7F+y3g|BsU zhoeTg12&3_j@*G2PeirE>YE|mJlE}UP0An*Z-+8Se|+b?vy1d2=g2U(llWO>zC>4l=m1q`sh6>A;10N3iu>TQBemIVPOTXlpx)3Nz3yoW0x z6L#Q82YHLQUC@z1ulQY%K{+3RlTHk)p}5`&Xk0p05(!&3R{hXqC)hAx+o1MVMq5=C zXBQO|==D9A86QI|+Y1fZC(x7~gk*L|*n+zis}37%M#C*w132&od0*s93-~{*(db_b ztkZIFIUnF$+D^D__(it+fck*$lkK(dgJQ#?jjrS!NRCxC`2h7};UllzczLkc(eTb_ zxUw0)aYEmC-e@X)cfpS?Wzf~NPh^%K17G$T__O0shn)ZiJLMLF_?i&Jn^{Pfsi64# zftP_L&U5b#aC+V$31lMwO+vJ%n`+= zFV?<6SiOe90$#R5nV~JjJ-Ub|mno}!{srDxE!D?MzXiPJ{JKoZQwp$rK}Uq+=@Wy8 zd?P%F+u*U5iRaQVJlv+>>GC3O^-|o}8*l^fh3#+|omGLU@dyrJ(fJ8WhJ!2%K4rt< z5E}!B*=#t%*27V@6OQ4QJB^up)>*ns>BrbtJaM;Diz~a8cy@{A8NAK`#mZ;wR%ZMB zg35oxNL`0yxUpi7GK}5j!}ln~zIZ{zG6sow>9=MUetnPfV=S}d=JSQxSnak#Bidp$ z+>Ql9SFDByvQU`8!ujowm5VkO1JNuN+OT^3!d~S+3Twz`?^ANEtO?jyJpXE+@}$CA z@(%lzo(gM6V>I8iUumMSG*TYUEA}gi3hT_H4=5ej4F2eVQk%~@pd{mb^8qDCf(D8} z5Bfy8X$JbJqRTYMJ+6Fi7udK9$|S3pt-h>uvWoB~Y_&R4@jj;3g9m(QY0v!^SiGIB zt}4Byqy@h!BUTEo-=4SBY9?lu4=o*~^lnZ|QCk7qTWKkku)%jM8S?FK-91YeIs5s6 zMHRCh6>5qEC1~n)RXie2EB6nnz*D7y-+Ex_>}+OJt1JSsug>@}_E*Fgr0(9V;cR zZmvee2-vRv>JrJ&V}N?tOE@ZH{mR7VMxb+2zPipPxB|wh!@LFU z&GAjy1*D_aPtwj^rW$*!W7Mrw^^@Ct&@T0T@t*7S zI;bWD3l(j@QZ149)QU?TzSwB_lC*{54r$xy{9ShP5WE`7?Yum)yoj*0u z_Dbx=CfXtS4m+v8wkJ(UX}VndS!xS=NBcm!;l#U|RdSsBKkawv)#KZ=Z=~c+JGJ3* zX4|VRm9sSmt2y32qUnZ^y!EtJtO*CzOPTX%Jr)YodXa-#@VV!;5dO*-!|GgmPJ2%( zOZ`S$Bop>TxpqvNvhsT^Pa5#YRqY8WIJ-hC5H8rU)4Hy=&^5S^^&`m;nq$ofAs8Q0 zXl*BurG?hc@|-K5X#KQ6z&3tqT`e8j^{O>nI=S?wwUvzM@gccA^+0@Yz?Q(TT+!<< z^J}O%ZGT%srSI$c=-s8!lLGVs(&(e1x{r9QcV1|zYw``eysN%UVyE}gzmObRef1Z- z#5;H2PWwu4;!eD&@kAfJ(K1J%mG56?^>v01(W|6mBS-3^TMFWg*qw!keE<&o@PJc# zqu1Klc%LG}%J=osy_{#bendul)mwU?WZm+vK0z)!dYhghVNW{sj*@QEr@AUVw&jrC zUpm%$O5Y-3J5TFxOZSW@*C$EX7gzKt;-TKz?XLc8lrXAK{GLZQ@B+I5Jm;#l5zh}b zbY2x`JQPl@3Nn6`YrY<4?1;7CUr+dk_C_1}`w9Q9y&*D?$D|mEB4GVej8rjMo?>(r zlS?T^rkFJ8UY77!wf!$0~r*tz{ajKh16W`qsM;3p!ySc85-HqJG|2~q|!x-S8i#z_# zj!m1R0jRaZh*baEP}2Bip3}pK=ZpTuZ2Y$#hREO*J&i~u;T?&2;{#^rxjiL@k0sQa z4+Uyj_8fzsDq~ij*V7P37C%GibvLTfe!Nkp$=D&&h_vK}DLiJJ+JyU`WGgEs+N$2xOY2C9O+(BUs3sYU6FrfmSK;fg(h!~s#uAehFV7T zDskLUGPI{Dv@*-6CunP`9;|$_J!o^YOec+VUDnW>ejPof~^45(mgo4oi`m?8Scv)XB*s=S!P)lzs8eg4l#^M9QSAFk>r%HhbMV!l8u%4S5a)K9{M)?;>L95 zR}9|0!G>LUqw#weHtk5lUyj(icrY0y{DT~$pP;%oH#Yi9bO5!!9#oEPMAeQby{QEA z{0}WwKC`bW`smvDq>#4wQw3Wm52hz~NT#JuwEtQ){pOZcyW3&?K&`U}{kIiF-+aX_ zOAycNXQu7ge(3WVx2rKe{764T{@L;pVfOst!c^R|=-lXKGG_NjwEDL|^Edh%(PD}B zwXnA@p=N5H+P$kJX%bU|;uKRRxkg_hyr#hV zFX3PiRT|IeY6J<=nv(0kNVDydv}l02&V>VTA%pxS^rvd*1A_iLSV9LrVbV@~0-@z$ z68c#+w49*zqa-xxZ;Kz#9B5`+{y;>9L=!5N@2-ZPA?U++9+Pi0=Z-<9M-vAjG%JCi zt$F_Ys?KL8V!1U7lT2)n^@QKm%nkowkf|nMFrv=)B~%I*McUNCrYDw!`~Ef93xHaV zM?Q@1??%6Rfa>SUXOA+`gDG*CWWuUZ6a~B_4^=lEQvp)L-Cjh!JV{!!teSeIEcoZIFlV&`KgL6f0hokGzu=eqc1F!~VUh zKmRS?h!?1c5s1RlNTAXuYY{GurG)w^poS~qu_ZJaiTK{3HF!V1aHMJMIzn0MyP+N- zL@2C13Q?an_C#Ur(?qlKT^-F3bd8xmBtH#+T1Ss%E$%Bh(_5)3{<1)(>G@_H)`Y|q z%nAme*3W|}^EF~>$*VZ7Z)+c`mCw#MH6`>o`Xj#10X5Gfv*ku&>cwjk{aWB^bt!Il zYIz>=uWgc~5$|g@{%nEigrxC7(vQA$c+@pKx~O@oK2%2ZvZhKXM1>9aNCD$cpe>X4qJ!!bnrprNX5f;4Ucg5O zB$MMQqqc}r+EXa%;30x$@l8*eEBctACr=WzIlp{X(|Pb16V-SOqWXLxQPn?E>qOd@cOGvp zYtVRH*11P=S&xcPA*GwR$M>JRv!g#6OD)qw%8XuCD&>-S(g16)E8oNd(kI|PXwkgGwQ_6J*e>A~7C443#xU3pn`IOb4uN!9#<&}k)!?at3B`>Uf^-NI# z0JWALmOLD9O7x#(4dGdnO|id{*iSzfxVpUZTNGCQC3Zw0ByRY7z!odsp41XOB#!#Q zprzQ}z2(Q1#vB5_LLN_u_w|C=nX_R75@OEK%w841Yd!s;TAN^q{c0xFxBz@o>|! zOi5qo84MX|5e~W^wRmh2-V)S2>BnSC`r^KN2v3}5#wm3gs=hghP;uf1E?+jy6t#Zq z$Qw}@Y-&wCRJX~O^f#+XT|a;UAM9NJHk7P?ok-J#ZO(|j$M@qpsI_(xVO8#Yla~}3 zU4%1^6`@5ZHW6D>?)X}_@j6eN7M;xrO1*{5)LMB6NZBgrSG2X@k-bfqze$AB@~WAW zZ{Z^_HP6f~*&$akxf!NeXm>Lf_n$`fhdv=xJ>ImwZg)j+$aJ#ophP(?S$uirAyif4 z%l(9}dqUzb-LcxZ_Y702V+Nwmo#Z7mjru$)TlaHCZ2Ye&JwkDVQ|sWdsOK&deQW;B z4D)xvEs|3CorF&K6J671rsnGSKYkf3&;i@?gy)Hj0p{8{EgRuO?$sEa`3<+F?s>%O*F2E+dYE4gB* diff --git a/settings/repository/org.broadinstitute/variant-1.84.1338.xml b/settings/repository/org.broadinstitute/variant-1.85.1357.xml similarity index 71% rename from settings/repository/org.broadinstitute/variant-1.84.1338.xml rename to settings/repository/org.broadinstitute/variant-1.85.1357.xml index dde6f560d..f6d7a2caa 100644 --- a/settings/repository/org.broadinstitute/variant-1.84.1338.xml +++ b/settings/repository/org.broadinstitute/variant-1.85.1357.xml @@ -1,3 +1,3 @@ - +