Wiki

Clone wiki

pyPcazip / Developer Notes

Home

Contribution guidelines

  • Writing tests

A testing folder comes within the pyPcazip suite. After installing pyPcazip, it is recommended to try out that all the tests work correctly. New tests might be written combining several input options and functionalities provided py pyPcazip. We would be happy to add any of your use cases to our collection of tests for the suite. Feel free to upload your tests to a new branch of the code and our developers, after trying their correct functionality will be happy to add your use-cases to the official tests of pyPcazip in the main (master) branch.

  • Code review

The code is supposed to evolve as it becomes more and more used according to suggestions coming from both users and developers of the code. You are welcome to contribute yourself with new modules/functionalities and/or corrections that would enhance and extend the code. Please, upload your code suggestions in a new branch of the repository and our developers will be happy to officially integrate your suggestions into the main (master) branch after testing their correct functionality.

You are also welcome to contribute with ideas, comments, code reviews and suggestions raising issues inside this repository and/or commenting the existing issues/code directly.

The most updated version of the code will be uploaded into the main branch of this repository.

Software Architecture overview

schema2.png

Pypcazip suite is divided in four main components MDPlus, Pcazip, Tests and the command line tools.

  • Tests: This component contains the integration tests and all the unit tests of the rest of the suite.

  • Command line tools: These are the main five scrips that manage the arguments passed by the user and call the Pcazip corresponding main module.

  • Pcazip: Contains the main modules (pypcaunzip, pypcazip, pypczclust, pypczcomp, pypczdump) in charge executing all the different application workflows using the functions and objects included in the MDPlus library.

  • MDPlus: This component contains the Analysis (e.g. PCA), the wrapper for the coordinate parsers (MDAnalysis,MDtraj), the Core object Filtered and sliced universe (FASU) and Collection of Fasus (Cofasu) and the necessary functions to run in parallel (MPI libraries).

Updated