Skip to content
Merged
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
refactor: examples/tree_traversals.rs now uses clap derive
  • Loading branch information
molpopgen committed Oct 28, 2022
commit 2ea6cf857425c813613cf2cedb18d5a532e9baaa
24 changes: 10 additions & 14 deletions examples/tree_traversals.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use clap::{Arg, Command};
use clap::Parser;
use tskit::prelude::*;

// "Manual" traversal from samples to root
Expand All @@ -24,20 +24,16 @@ fn preorder_traversal(tree: &tskit::Tree) {
for _ in tree.traverse_nodes(tskit::NodeTraversalOrder::Preorder) {}
}

#[derive(clap::Parser)]
struct Params {
#[clap(short = 't', long = "treefile", value_parser, help = "Tree file name")]
treefile: String,
}

fn main() {
let matches = Command::new("tree_traversals")
.arg(
Arg::new("treefile")
.short('t')
.long("treefile")
.help("Tree file name")
.takes_value(true),
)
.get_matches();

let treefile: String = matches.value_of_t_or_exit("treefile");

let treeseq = tskit::TreeSequence::load(&treefile).unwrap();
let params = Params::parse();

let treeseq = tskit::TreeSequence::load(&params.treefile).unwrap();

let mut tree_iterator = treeseq.tree_iterator(tskit::TreeFlags::default()).unwrap();

Expand Down