1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
//! // Examples for using checks: //! //! use bioutils::charsets; //! use bioutils::utils; //! use bioutils::utils::check::value::CheckU8; //! use bioutils::utils::new::random::random_dna; //! use bioutils::utils::new::random::random_quality; //! use bioutils::utils::mutate::random::AsMutRandomU8; //! use rand::rngs::ThreadRng; //! use rand::seq::SliceRandom; //! use std::string::String; //! use std::str; //! //! let dna = b"ACTG"; //! let rna = b"ACUG"; //! let homopolymerN = b"NNNN"; //! let homopolymerA = b"AAAA"; //! let gapna = b"AC-G"; //! let nna = b"ACnG"; //! let quality = b"@ABC"; //! //! assert!(homopolymerN.is_homopolymer()); //! assert!(homopolymerA.is_homopolymer_not_n()); //! assert!(homopolymerN.is_homopolymer_n()); //! //! assert!(gapna.has_gap()); //! assert!(nna.has_n()); //! assert!(dna.is_iupac()); //! assert!(rna.is_basic_rna()); //! //! assert!(quality.is_phred33()); //! assert!(quality.is_phred64()); //! assert!(quality.is_solexa()); //! //! // Examples for creating a new random sequence and quality //! //! let mut rng1 = rand::thread_rng(); // Create a random number generator //! let dna = random_dna(4,rng1); // Create a random dna sequence //! let mut rng2 = rand::thread_rng(); //! let quality = random_quality(4,rng2); // Create a random quality string //! println!("{:?}", dna.to_owned()); //! println!("{:?}", quality.to_owned()); //! //! // Examples for replacing nucleotides //! //! let mut rng3 = rand::thread_rng(); //create a random number generator //! let mut rng4 = rand::thread_rng(); //create a random number generator //! let mut seq = b"acugnnnqqq".to_owned(); // or by *: let mut seq = *b"acugnnnqqq"; //! let mut seq = seq.mut_random_replace_non_basic("RNA", rng4).mut_random_replace_n("RNA", rng3).mut_to_upper_basic(); //! let printseq = str::from_utf8(seq).unwrap(); //! println!("{:?}", printseq); pub mod charsets; pub mod files; pub mod utils; pub mod references; #[macro_use] extern crate lazy_static; #[cfg(test)] mod tests { #[test] fn it_works() { assert_eq!(2 + 2, 4); } }