rust 1,847,280 · typescript 232,434 · javascript 131,101 · python 19,227 · 6,362 files · digest 755e2ee30522 · built in 2.3 s · crystals off
cre8-chem-core crates cargo crate
Shared chemistry substrate: the Molecule / Atom / Bond model, SDF (V2000 molfile) and PDB parsers, a 118-element periodic table with masses, radii and CPK colours, and the derived quantities (Hill formula, molecular weight, centroid, bounding radius, centred render atoms). Pure data and arithmetic: no network, no storage, no runtime dependencies.
Neighbourhood
Left: crates that declare this one. Right: crates it declares (dev-dependencies included). Edge width grows with resolved calls.
Files
File call graph
Resolved calls between this crate's files, callers left of callees.
Heaviest functions
By call-graph weight (PageRank; 1.0 is the average function). 54 functions in all.
| function | kind | lines | cyclomatic | callers | callees | weight | crystal |
|---|---|---|---|---|---|---|---|
| elementsrc/elements.rs:209 | fn | 4 | 1 | 8 | 0 | 6.2 | |
| parse_sdfsrc/sdf.rs:24 | fn | 60 | 17 | 12 | 5 | 5.3 | |
| parse_pdbsrc/pdb.rs:38 | fn | 78 | 19 | 7 | 5 | 3.3 | |
| fieldsrc/sdf.rs:87 | fn | 3 | 1 | 3 | 0 | 3.3 | |
| Molecule::formulasrc/lib.rs:106 | method | 30 | 8 | 11 | 1 | 2.7 | |
| element_by_symbolsrc/elements.rs:217 | fn | 7 | 3 | 4 | 0 | 2.3 | |
| Molecule::validatesrc/lib.rs:183 | method | 21 | 7 | 4 | 0 | 2.3 | |
| atomsrc/lib.rs:233 | fn | 3 | 1 | 6 | 0 | 1.8 | |
| Molecule::centroidsrc/lib.rs:151 | method | 13 | 4 | 4 | 0 | 1.6 | |
| parse_countssrc/sdf.rs:91 | fn | 17 | 2 | 1 | 1 | 1.4 | |
| parse_atom_linesrc/sdf.rs:132 | fn | 29 | 5 | 1 | 3 | 1.4 | |
| parse_bond_linesrc/sdf.rs:162 | fn | 29 | 7 | 1 | 1 | 1.4 | |
| apply_charge_linesrc/sdf.rs:194 | fn | 19 | 3 | 1 | 0 | 1.4 | |
| fieldsrc/pdb.rs:119 | fn | 3 | 1 | 2 | 0 | 1.3 | |
| Molecule::molecular_weightsrc/lib.rs:139 | method | 9 | 1 | 3 | 1 | 1.2 | |
| BondOrder::multiplicitysrc/lib.rs:55 | method | 7 | 3 | 2 | 0 | 1.1 | |
| non_emptysrc/pdb.rs:123 | fn | 4 | 2 | 1 | 0 | 1.1 | |
| parse_atom_recordsrc/pdb.rs:128 | fn | 18 | 2 | 1 | 4 | 1.1 | |
| conect_serialssrc/pdb.rs:195 | fn | 23 | 5 | 1 | 0 | 1.1 | |
| element_numbersrc/sdf.rs:111 | fn | 6 | 2 | 1 | 1 | 0.9 | |
| charge_from_codesrc/sdf.rs:120 | fn | 11 | 7 | 1 | 0 | 0.9 | |
| Molecule::render_atomssrc/lib.rs:208 | method | 19 | 1 | 3 | 2 | 0.8 | |
| element_from_atom_namesrc/pdb.rs:155 | fn | 21 | 6 | 1 | 1 | 0.7 | |
| parse_chargesrc/pdb.rs:179 | fn | 12 | 3 | 1 | 0 | 0.7 | |
| Molecule::bounding_radiussrc/lib.rs:167 | method | 12 | 1 | 2 | 1 | 0.7 | |
| table_is_indexed_by_atomic_numbersrc/elements.rs:231 | fn | 8 | 2 | 0 | 1 | 0.5 | |
| symbols_and_names_are_uniquesrc/elements.rs:241 | fn | 6 | 1 | 0 | 0 | 0.5 | |
| every_row_has_positive_physical_values_and_unit_colourssrc/elements.rs:249 | fn | 8 | 2 | 0 | 0 | 0.5 | |
| lookups_by_number_and_symbolsrc/elements.rs:259 | fn | 17 | 1 | 0 | 2 | 0.5 | |
| colours_come_from_the_hex_valuessrc/elements.rs:278 | fn | 9 | 1 | 0 | 1 | 0.5 | |
| hill_order_puts_carbon_then_hydrogen_firstsrc/lib.rs:238 | fn | 15 | 1 | 0 | 2 | 0.5 | |
| formula_without_carbon_is_fully_alphabeticalsrc/lib.rs:255 | fn | 16 | 1 | 0 | 2 | 0.5 | |
| unknown_elements_are_listed_last_and_weigh_nothingsrc/lib.rs:273 | fn | 5 | 1 | 0 | 3 | 0.5 | |
| empty_molecule_has_zero_geometrysrc/lib.rs:280 | fn | 8 | 1 | 0 | 5 | 0.5 | |
| centroid_radius_and_render_atoms_agreesrc/lib.rs:290 | fn | 15 | 1 | 0 | 4 | 0.5 | |
| validate_rejects_bad_bonds_and_coordinatessrc/lib.rs:307 | fn | 16 | 1 | 0 | 2 | 0.5 | |
| bond_order_serializes_lowercase_and_reports_multiplicitysrc/lib.rs:325 | fn | 8 | 1 | 0 | 1 | 0.5 | |
| molecule_round_trips_through_jsonsrc/lib.rs:335 | fn | 9 | 1 | 0 | 1 | 0.5 | |
| hetatm_and_conect_recordssrc/pdb.rs:238 | fn | 14 | 1 | 0 | 2 | 0.5 | |
| element_falls_back_to_the_atom_namesrc/pdb.rs:254 | fn | 17 | 1 | 0 | 1 | 0.5 |
Outside the workspace
anyhow serde serde_json