| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- pub mod cytoband;
- pub mod theme;
- pub mod report;
- #[cfg(test)]
- mod tests {
- use std::{fs::File, io::Write};
- use cytoband::{
- generate_chromosome_svg, read_ranges, svg_chromosome, AdditionalRect, Lollipop,
- RectPosition,
- };
- use report::write_report;
- use super::*;
- #[test]
- fn it_works() {
- let additional_rects = vec![
- AdditionalRect {
- start: 0,
- end: 250000,
- color: String::from("red"),
- position: RectPosition::Above(0),
- },
- AdditionalRect {
- start: 500000,
- end: 1500000,
- color: String::from("orange"),
- position: RectPosition::Above(1),
- },
- AdditionalRect {
- start: 2000000,
- end: 30000000,
- color: String::from("blue"),
- position: RectPosition::Below(0),
- },
- AdditionalRect {
- start: 1500000,
- end: 2500000,
- color: String::from("green"),
- position: RectPosition::Below(1),
- },
- // Add more rectangles as needed
- ];
- let lollipops = vec![
- Lollipop {
- position: 5000000,
- above: true,
- letter: 'A',
- color: String::from("red"),
- },
- Lollipop {
- position: 20000000,
- above: false,
- letter: 'B',
- color: String::from("blue"),
- },
- // Add more lollipops as needed
- ];
- svg_chromosome(
- "chr1",
- 1000,
- 50,
- "/data/ref/hs1/cytoBandMapped.bed",
- "/data/chr1.svg",
- &additional_rects,
- &lollipops,
- )
- .unwrap()
- }
- #[test]
- fn bend() -> anyhow::Result<()> {
- let svg_path = "/data/bent.svg";
- let ranges = read_ranges("/data/ref/hs1/cytoBandMapped.bed", "chr1")?;
- let svg_content =
- generate_chromosome_svg(ranges, 200.0, 200.0, 150.0, 0.0, 2.0 * std::f64::consts::PI);
- let mut output_file = File::create(svg_path)?;
- output_file.write_all(svg_content.as_bytes())?;
- println!("SVG file created: {svg_path}");
- Ok(())
- }
- #[test]
- fn pdf() {
- write_report("/data/test.pdf");
- }
- }
|