Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 25 additions & 4 deletions src/beastfx/app/seqgen/SimulatedAlignment.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import beast.base.core.Description;
import beast.base.core.Input;
import beast.base.core.Input.Validate;
import beast.base.core.Log;
import beast.base.evolution.alignment.Alignment;
import beast.base.evolution.alignment.Sequence;
import beast.base.evolution.branchratemodel.BranchRateModel;
Expand All @@ -32,7 +33,12 @@ public class SimulatedAlignment extends Alignment {
final public Input<Integer> m_sequenceLengthInput = new Input<>("sequencelength", "nr of samples to generate (default 1000).", 1000);
final public Input<String> m_outputFileNameInput = new Input<>(
"outputFileName",
"If provided, simulated alignment is additionally written to this file.");
"If provided, simulated alignment is additionally written to this file.");
final public Input<Long> localSeedInput = new Input<>(
"seed",
"Optional local random seed for simulating this alignment. If not set, global seed is used.",
Input.Validate.OPTIONAL
);

/**
* nr of samples to generate *
Expand Down Expand Up @@ -87,9 +93,24 @@ public void initAndValidate() {
m_outputFileName = m_outputFileNameInput.get();

sequenceInput.get().clear();

simulate();


Long customSeed = localSeedInput.get();
long originalSeed = Randomizer.getSeed();
long seedToUse = customSeed != null ? customSeed : originalSeed;

if (customSeed != null) {
Log.info.println();
Log.info.println("Random number seed for alignment simulation: " + customSeed);
Log.info.println();
}

try {
Randomizer.setSeed(seedToUse);
simulate();
} finally {
Randomizer.setSeed(originalSeed);
}

// Write simulated alignment to disk if requested:
if (m_outputFileName != null) {
PrintStream pstream;
Expand Down
Loading