///|
/// pyfaidx Sequence slicing demo.
///
/// Shows the coordinate-tracked slice model: forward/reverse slices, integer
/// indexing, complement/reverse-complement, and orientation.
///|
fn main raise {
let x = @src.pyfaidx_seq_new("chr1", "ATCGTA", Some(1), Some(6), false)
println("x : \{@src.pyfaidx_seq_fancy_name(x)} \{x.seq}")
println(
"x[:3] : \{@src.pyfaidx_seq_fancy_name(@src.pyfaidx_seq_slice(x, None, Some(3), None))}",
)
println(
"x[3:] : \{@src.pyfaidx_seq_fancy_name(@src.pyfaidx_seq_slice(x, Some(3), None, None))}",
)
println(
"x[1:-1] : \{@src.pyfaidx_seq_fancy_name(@src.pyfaidx_seq_slice(x, Some(1), Some(-1), None))}",
)
println(
"x[::-1] : \{@src.pyfaidx_seq_fancy_name(@src.pyfaidx_seq_slice(x, None, None, Some(-1)))}",
)
println(
"x[::2] : \{@src.pyfaidx_seq_fancy_name(@src.pyfaidx_seq_slice(x, None, None, Some(2)))}",
)
let neg = @src.pyfaidx_seq_neg(x)
println("-x : \{@src.pyfaidx_seq_fancy_name(neg)} \{neg.seq}")
println("orientation of -x : \{Repr(@src.pyfaidx_seq_orientation(neg))}")
}