PCP-ML

Frequently Asked Questions

What is PCP-ML?

PCP-ML is collection of commonly used parsers and characterizers for protien related Machine Learning (ML) tasks. It is written in C++ and aids in development and release of ML tools.

Why the need?

Machine Learning (ML) techniques have demonstrated themselves useful for a variety of protein structure prediction tasks. The PCP-ML contains a number of functions that are commonly used when performing ML tasks with proteins. PCP-ML can speed development and release of ML tools by providing a set of commonly used functionality.

In what other languages can I use PCP-ML?

Code to create Python bindings is included with the PCP-ML codebase (created with SWIG). You can build these bindings using the included makefile.

Using the included interface file (PCP-ML.i) you can create bindings for other languages (e.g., Octave, Perl, etc) with SWIG and a little know-how.

How do I build the Python bindings?

You need to set the path to the header files for Python2 in the makefile in the src directory. Then run 'make python_bindings'. You should the copy the resulting _PCPML.so PCPML.py and PCPML_Utilities.py files to an appropriate location on your machine (e.g, /usr/lib/python2.7/site-packages/PCPML/) and set the path so Python can find the module.

How can I contribute?

If you have additional parsers or characterizers to add to the codebase, contact us. We are always looking to expand our codebase.

Who can use it?

There are no restrictions on who can use PCP-ML. It is free to academic and non-academic users alike and offered under a BSD license and comes "as is".

Who should I cite?

The main PCP-ML package is referenced in this work in BMC Research Notes.

Several of the charaterizers are based on prior work. Check the function headers to see what you should cite if you use PCP-ML in your work.