///|
/// Graphics Demo - Demonstrates bioinformatics visualization.
fn main {
println("=== Graphics Demo ===")
println("")
println("=== Sequence Logo ===")
let seqs = [
"ATGCCGTAA", "ATGCCGTAA", "ATGCCGTAA", "ATGCCGTAA", "ATGCCGTAA", "ATGCCGTAA",
"ATGCCGTAA", "ATGCCGTAA", "ATGCCGTAA", "ATGCCGTAA",
]
let logo = @bio.SeqLogo::new(seqs)
let logo_output = @bio.seqlogo_generate_ascii(logo)
println(logo_output)
println("")
println("=== Alignment Plot ===")
let alignment_seqs = [
("Human", "ATGGCCGGTAAATGA"),
("Mouse", "ATGGCCGGTAAATGA"),
("Rat", "ATGGCCGGTAATAGA"),
("Chicken", "ATGGCCGGTAATGGA"),
]
let plot = @bio.AlignmentPlot::new(alignment_seqs)
let alignment_output = @bio.alignment_plot_generate_ascii(plot)
println(alignment_output)
println("")
println("=== Feature Plot ===")
let features = [
("GeneA", 0, 100, "gene", "+"),
("Exon1", 0, 30, "exon", "+"),
("Intron1", 30, 70, "intron", "+"),
("Exon2", 70, 100, "exon", "+"),
("Promoter", -20, 0, "promoter", "+"),
]
let feat_plot = @bio.FeaturePlot::new(features, 150)
let feature_output = @bio.feature_plot_generate_ascii(feat_plot)
println(feature_output)
}