Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the code coverage of pyMBE #58

Open
33 of 42 tasks
pm-blanco opened this issue May 15, 2024 · 2 comments
Open
33 of 42 tasks

Improve the code coverage of pyMBE #58

pm-blanco opened this issue May 15, 2024 · 2 comments

Comments

@pm-blanco
Copy link
Collaborator

pm-blanco commented May 15, 2024

Here is the list of the features that require our attention:

  • pymbe_library.destroy_pmb_object_in_system()
  • pymbe_library.parse_sequence_from_file()
  • pymbe_library.search_particles_in_residue()
  • pymbe_library.setup_lj_interactions() (missing some corner cases)
  • determine_reservoir_concentrations

Ideally we also should add coverage for lib.handy_functions

  • lib.analysis.get_dt()
  • lib.analysis.get_params_from_file_name()
  • lib.analysis.block_analyze()
  • pymbe.get_charge_map()
  • pymbe_library.generate_coordinates_outside_sphere()
  • pymbe_library.generate_random_points_in_a_sphere() for the case inside the sphere
  • pymbe_library.determine_reservoir_concentrations()
  • pymbe_library.setup_cpH()
  • pymbe_library.setup_gcmc()
  • pymbe_library.setup_grxmc_reactions()
  • pymbe_library.setup_grxmc_unified()
  • pymbe_library.create_protein()
  • pymbe_library.enable_motion_of_rigid_object()
  • pymbe_library.protein_sequence_parser() for non-standard cases
  • pymbe_library.define_protein()
  • pymbe_library.read_protein_vtf_in_df()
  • pymbe_library.calculate_net_charge()
  • pymbe_library.create_added_salt()
  • pymbe_library.create_counterions()
  • pymbe_library.create_residue() for residue types
  • pymbe_library.load_interaction_parameters() for a FENE bond
  • pymbe_library.check_aminoacid_key()
  • pymbe_library.check_if_metal_ion()
  • pymbe_library.get_metal_ions_charge_map()
  • pymbe_library.define_particles()
  • lib.analysis.split_dataframe_in_equal_blocks()
  • lib.analysis.split_dataframe()
  • lib.analysis.add_data_to_df()
  • lib.analysis.analyze_time_series()
  • pymbe_library.get_particle_id_map()
  • pymbe_library.get_radius_map()
  • pymbe_library.assign_molecule_id() for the empty residue name edge case
  • pymbe_library.calculate_HH() for the case where a molecule has no sequence
  • pymbe_library.NumpyEncoder.default()
  • pymbe_library.print_reduced_units()
  • lib.analysis.built_output_name()
  • lib.analysis.get_params_from_dir_name()
@jngrad
Copy link
Member

jngrad commented May 15, 2024

Outcome of the pyMBE online meeting: address the assigned tasks in a best effort manner by June 1, 2024. If you don't get all tasks done by then, open the PR anyway with the unit tests you already have. The goal is to have about 80% code coverage, so that we can be confident we are not breaking any feature while doing the big refactoring (#13) in June.

Later this year, we might organize a pyMBE coding day to take care of the remaining unit tests.

@pm-blanco pm-blanco added this to the first stable version milestone May 15, 2024
@jngrad
Copy link
Member

jngrad commented May 17, 2024

To everyone: code coverage is now available on the main branch. Be sure to start your work on top of the most recent commit of the main branch to reduce the risk of introducing merge conflicts. You can use np.testing.assert_allclose() or pd.testing.assert_frame_equal() checks, or use unittest assertions to make the unit tests more structured and expressive (testsuite/serialization_test.py can be used as template).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants