Skip to content

Commit 7d48c50

Browse files
committed
Porting 'evaluateLate' interface method from 1.7 branch.
1 parent 2cd14cd commit 7d48c50

22 files changed

+206
-62
lines changed

src/dr/app/beagle/evomodel/substmodel/ComplexSubstitutionModel.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,14 @@ public double getLogLikelihood() {
143143
return Double.NEGATIVE_INFINITY;
144144
}
145145

146+
/**
147+
* Needs to be evaluated before the corresponding data likelihood.
148+
* @return
149+
*/
150+
public boolean evaluateEarly() {
151+
return true;
152+
}
153+
146154
public String prettyName() {
147155
return Abstract.getPrettyName(this);
148156
}

src/dr/app/beagle/evomodel/substmodel/SVSGeneralSubstitutionModel.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,14 @@ public double getLogLikelihood() {
6969
return 0;
7070
}
7171

72+
/**
73+
* Needs to be evaluated before the corresponding data likelihood.
74+
* @return
75+
*/
76+
public boolean evaluateEarly() {
77+
return true;
78+
}
79+
7280
/**
7381
* Forces a complete recalculation of the likelihood next time getLikelihood is called
7482
*/

src/dr/app/beast/BeastDialog.java

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ public class BeastDialog {
5151
private final JCheckBox overwriteCheckBox = new JCheckBox("Allow overwriting of log files");
5252
private final JCheckBox beagleCheckBox = new JCheckBox("Use BEAGLE library if available:");
5353
private final JCheckBox beagleInfoCheckBox = new JCheckBox("Show list of available BEAGLE resources and Quit");
54-
private final JComboBox beagleResourceCombo = new JComboBox(new Object[]{"CPU", "CPU-SSE", "GPU"});
55-
private final JCheckBox beagleSSECheckBox = new JCheckBox("Use CPU's SSE extensions");
54+
private final JComboBox beagleResourceCombo = new JComboBox(new Object[]{"CPU", "GPU"});
55+
private final JCheckBox beagleSSECheckBox = new JCheckBox("Use CPU's SSE extensions when possible");
5656
private final JComboBox beaglePrecisionCombo = new JComboBox(new Object[]{"Double", "Single"});
5757
private final JComboBox beagleScalingCombo = new JComboBox(new Object[]{"Default", "Dynamic", "Delayed", "Always", "Never"});
5858

@@ -132,7 +132,7 @@ public void filesDropped(java.io.File[] files) {
132132
OptionsPanel optionPanel2 = new OptionsPanel(0, 12);
133133
optionPanel2.setBorder(BorderFactory.createEmptyBorder());
134134
final JLabel label1 = optionPanel2.addComponentWithLabel("Prefer use of: ", beagleResourceCombo);
135-
// optionPanel2.addComponent(beagleSSECheckBox);
135+
optionPanel2.addComponent(beagleSSECheckBox);
136136
beagleSSECheckBox.setSelected(true);
137137
final JLabel label2 = optionPanel2.addComponentWithLabel("Prefer precision: ", beaglePrecisionCombo);
138138
final JLabel label3 = optionPanel2.addComponentWithLabel("Rescaling scheme: ", beagleScalingCombo);
@@ -171,7 +171,7 @@ public void stateChanged(ChangeEvent e) {
171171
beagleResourceCombo.setSelectedItem("CPU");
172172
}
173173

174-
public boolean showDialog(String title, long seed) {
174+
public boolean showDialog(String title) {
175175

176176
JOptionPane optionPane = new JOptionPane(optionPanel,
177177
JOptionPane.PLAIN_MESSAGE,
@@ -181,8 +181,6 @@ public boolean showDialog(String title, long seed) {
181181
"Run");
182182
optionPane.setBorder(new EmptyBorder(12, 12, 12, 12));
183183

184-
seedText.setValue(seed);
185-
186184
final JDialog dialog = optionPane.createDialog(frame, title);
187185
//dialog.setResizable(true);
188186
dialog.pack();
@@ -196,26 +194,45 @@ public long getSeed() {
196194
return seedText.getLongValue();
197195
}
198196

197+
public void setSeed(long seed) {
198+
seedText.setValue(seed);
199+
}
200+
199201
public boolean allowOverwrite() {
200202
return overwriteCheckBox.isSelected();
201203
}
202204

205+
public void setAllowOverwrite(boolean allowOverwrite) {
206+
overwriteCheckBox.setSelected(allowOverwrite);
207+
}
208+
203209
public boolean useBeagle() {
204210
return beagleCheckBox.isSelected();
205211
}
206212

213+
public void setUseBeagle(boolean useBeagle) {
214+
beagleCheckBox.setSelected(useBeagle);
215+
}
216+
207217
public boolean preferBeagleGPU() {
208218
return beagleResourceCombo.getSelectedItem().equals("GPU");
209219
}
210220

211221
public boolean preferBeagleCPU() {
212-
return (beagleResourceCombo.getSelectedItem().equals("CPU")) ||
213-
(beagleResourceCombo.getSelectedItem().equals("CPU-SSE"));
222+
return (beagleResourceCombo.getSelectedItem().equals("CPU"));
214223
}
215224

225+
public void setPreferBeagleGPU() {
226+
beagleResourceCombo.setSelectedItem("GPU");
227+
}
228+
229+
216230
public boolean preferBeagleSSE() {
217-
// SSE is currently causing a bug in some phylogeographic models, so setting as false until bug is fixed
218-
return beagleResourceCombo.getSelectedItem().equals("CPU-SSE");
231+
return beagleSSECheckBox.isSelected();
232+
}
233+
234+
public void setPreferBeagleSSE(boolean preferBeagleSSE) {
235+
beagleSSECheckBox.setSelected(preferBeagleSSE);
219236
}
220237

221238
public boolean preferBeagleSingle() {
@@ -226,10 +243,18 @@ public boolean preferBeagleDouble() {
226243
return beaglePrecisionCombo.getSelectedItem().equals("Double");
227244
}
228245

246+
public void setPreferBeagleSingle() {
247+
beaglePrecisionCombo.setSelectedItem("Single");
248+
}
249+
229250
public String scalingScheme() {
230251
return ((String) beagleScalingCombo.getSelectedItem()).toLowerCase();
231252
}
232253

254+
public void setScalingScheme(String scalingScheme) {
255+
beagleScalingCombo.setSelectedItem(scalingScheme);
256+
}
257+
233258
public boolean showBeagleInfo() {
234259
return beagleInfoCheckBox.isSelected();
235260
}

src/dr/app/beast/BeastMain.java

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ public static void main(String[] args) throws java.io.IOException {
311311
long seed = MathUtils.getSeed();
312312
boolean useJava = false;
313313

314-
int threadCount = -1;
314+
int threadCount = 0;
315315

316316
if (arguments.hasOption("java")) {
317317
useJava = true;
@@ -371,7 +371,6 @@ public static void main(String[] args) throws java.io.IOException {
371371
}
372372

373373
if (arguments.hasOption("threads")) {
374-
// threadCount defaults to -1 unless the user specifies an option
375374
threadCount = arguments.getIntegerOption("threads");
376375
if (threadCount < 0) {
377376
printTitle();
@@ -429,7 +428,22 @@ public static void main(String[] args) throws java.io.IOException {
429428

430429
BeastDialog dialog = new BeastDialog(new JFrame(), titleString, icon);
431430

432-
if (!dialog.showDialog(nameString, seed)) {
431+
dialog.setAllowOverwrite(allowOverwrite);
432+
dialog.setSeed(seed);
433+
434+
dialog.setUseBeagle(useBeagle);
435+
436+
if (BeagleFlag.PROCESSOR_GPU.isSet(beagleFlags)) {
437+
dialog.setPreferBeagleGPU();
438+
}
439+
440+
dialog.setPreferBeagleSSE(BeagleFlag.VECTOR_SSE.isSet(beagleFlags));
441+
442+
if (BeagleFlag.PRECISION_SINGLE.isSet(beagleFlags)) {
443+
dialog.setPreferBeagleSingle();
444+
}
445+
446+
if (!dialog.showDialog(nameString)) {
433447
return;
434448
}
435449

src/dr/app/beauti/components/discrete/DiscreteTraitsComponentOptions.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,11 @@ public void selectParameters(final ModelOptions modelOptions, final List<Paramet
9494
Set<String> states = partitionData.getPartitionSubstitutionModel().getDiscreteStateSet();
9595
int K = states.size();
9696
if (partitionData.getPartitionSubstitutionModel().getDiscreteSubstType() == DiscreteSubstModelType.SYM_SUBST) {
97-
nonZeroRates.offset = K - 1; // mean = 0.693 and offset = K-1
97+
nonZeroRates.mean = Math.log(2); // mean = 0.693 and offset = K-1
98+
nonZeroRates.offset = K - 1;
9899
} else if (partitionData.getPartitionSubstitutionModel().getDiscreteSubstType() == DiscreteSubstModelType.ASYM_SUBST) {
99100
nonZeroRates.mean = K - 1; // mean = K-1 and offset = 0
101+
nonZeroRates.offset = 0.0;
100102
} else {
101103
throw new IllegalArgumentException("unknown discrete substitution type");
102104
}

src/dr/app/beauti/siteModelsPanel/SiteModelsPanel.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,6 @@ public void valueChanged(ListSelectionEvent evt) {
144144
splitPane.setBorder(BorderFactory.createEmptyBorder());
145145
splitPane.setOpaque(false);
146146

147-
// The bottom panel is now small enough that this is not necessary
148-
// JScrollPane scrollPane2 = new JScrollPane(panel);
149-
// scrollPane2.setOpaque(false);
150-
// scrollPane2.setPreferredSize(new Dimension(400, 150));
151-
152-
153147
setOpaque(false);
154148
setBorder(new BorderUIResource.EmptyBorderUIResource(new Insets(12, 12, 12, 12)));
155149
setLayout(new BorderLayout(0, 0));

src/dr/app/pathogen/TemporalRooting.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,6 @@ public Regression getRootToTipRegression(Tree tree) {
123123
throw new IllegalArgumentException("Cannot do a root to tip regression on contemporaneous tips");
124124
}
125125

126-
// ((FlexibleTree)tree).setLengthsKnown(false);
127-
128126
double[] dates = getTipDates(tree);
129127
double[] distances = getRootToTipDistances(tree);
130128

src/dr/app/tracer/application/TracerApp.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ static public void main(String[] args) {
6060
}
6161

6262
try {
63-
java.net.URL url = TracerApp.class.getResource("images/Mapper.png");
63+
java.net.URL url = TracerApp.class.getResource("images/Tracer.png");
6464
Icon icon = null;
6565

6666
if (url != null) {

src/dr/evolution/util/Taxon.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525

2626
package dr.evolution.util;
2727

28-
import dr.evolution.tree.NodeRef;
2928
import dr.util.Attributable;
3029
import dr.util.Identifiable;
3130

@@ -77,7 +76,6 @@ public double getHeight() {
7776
return 0.0;
7877
}
7978

80-
8179
/**
8280
* Sets a location for this taxon.
8381
*/

src/dr/evomodel/coalescent/GMRFDensityComponent.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ public double getLogLikelihood() {
4242
return skyrideLogLikelihood;
4343
}
4444

45+
public boolean evaluateEarly() {
46+
return false;
47+
}
48+
4549
public void makeDirty() {
4650
skyride.makeDirty();
4751
}

0 commit comments

Comments
 (0)