pub fn carbonyl() -> FunctGroup {
    // initializes a new molecule with only C and O
    let mut carboxyl = Molecule::new(vec!("C", "O"));
    // adds a double bond between C and O
    carboxyl.add_bond(0, 1, 2);
    // returns a functional group made from the carboxyl molecule
    FunctGroup {
        molecule : carboxyl,
        name : "Carbonyl"
    }
}
// any sp2 carbon bonded to a neutral oxygen
// (the oxygen  must not be bonded to any other atoms)
any sp2 carbon bonded to a neutral oxygen
(the oxygen  must not be bonded to any other atoms)
any sp2 carbon bonded to a neutral oxygen ( the oxygen must not be bonded to any other atoms )
pub fn carbonyl() -> FunctGroup {
    // initializes a new molecule with only C and O
    let mut carboxyl = Molecule::new(vec!("C", "O"));
    // adds a double bond between C and O
    carboxyl.add_bond(0, 1, 2);
    // returns a functional group made from the carboxyl molecule
    FunctGroup {
        molecule : carboxyl,
        name : "Carbonyl"
    }
}
pub fn carbonyl ( ) -> FunctGroup { // initializes a new molecule with only C and O let mut carboxyl = Molecule :: new ( vec ! ( " " " " ) ) ; // adds a double bond between C and O carboxyl . add_bond ( 0 , 1 , 2 ) ; // returns a functional group made from the carboxyl molecule FunctGroup { molecule : carboxyl , name : " " } }
any sp2 carbon bonded to a neutral oxygen
(the oxygen  must not be bonded to any other atoms)
any sp2 carbon bonded to a neutral oxygen ( the oxygen must not be bonded to any other atoms )