Package: cathpy
cathpycathpyis a Bioinformatics toolkit written in Python. It is developed and maintained by theOrengo GroupatUCLand is used for maintaining theCATH protein structure database(and associated research).Getting StartedThe easiest way to use this code is by installing the latest version into a virtual environment viapip:$python3-mvenvvenv
$sourcevenv/bin/activate
$pipinstallcathpyIf everything is installed and working properly then the following should work:$cath-align-summary-dtests/data/funfams/
filealn_lenseq_countdopsgap_per
tests/data/funfams/1.10.8.10-ff-14534.reduced.sto695161.5312.53
tests/data/funfams/1.10.8.10-ff-15516.reduced.sto66429100.0013.04
tests/data/funfams/1.10.8.10-ff-5069.reduced.sto59147.813.15
tests/data/funfams/1.10.8.10-ff-15593.reduced.sto6320395.8817.70Now go andhave a look at the documentation.ContributingThere are many ways to contribute, all of which are most welcome.If something is not clear then you have identified a gap in the documentation, please let us know byraising a new issueIf it looks like you should be able to do something that you can't then you've either identified a new feature request or a documentation gap - please let us know byraising a new issueIf you have noticed some unexpected behaviour, you may have found a bug - please let us know byraising a new issueWhen you do raise an issue, it is extremely helpful if you first check that a similar issue has not already been registered. It would also be great if you can be as clear, concise and specific as possible. If you are reporting a potential bug, please try to provide steps that will allow us to reproduce the unexpected behaviour.If you accompany your issue with a Pull Request that actually solves the documentation / feature request / bug fix then you may well be eligible for doughnuts.DevelopmentIf you are developing, then this is the general recommended flow:Get access to the latest version of the code and create a new branch (with a descriptive summary of your new feature/bugfix):$gitclonegit@github.com:UCL/cathpy.git
$cdcathpy
$gitcheckout-bmy-awesome-new-featureInstall the code (as editable package) into virtual environment$python3-mvenvvenv
$sourcevenv/bin/activate
$pipinstall-e.Write your tests, make your changes then make sure your tests (and all the other tests) still pass:$vimtests/my_new_feature_test.py
$vimcathpy/my_new_feature.py
$pytestThen push your changes back to GitHub and raise a pull request through the web pages.$gitpushFAQWhat is cathpy?cathpyis a python package that contains bioinformatics tools and libraries
used inCATH(protein structure classification resource at UCL).Hmmm.. that sounds like Yet Another Python Bioinformatics Toolkit?Well it is... sort of.Should I be using it?If you are looking for a general Bioinformatics toolkit, you should look atBioPythonfirst.Thecathpyproject does contain some generic functionality that may overlap with BioPython,
however we are definitely not trying to rewrite that library. It has been published mainly for
internal use (within CATH), however it has been released as open source in case others find the tools helpful.External softwareThis code base contains external tools that are not written and maintained by the authors
of this project. If you use the results of these tools, please reference the relevant papers.GroupSimCharacterization and Prediction of Residues Determining Protein Functional Specificity.Capra JA and Singh M (2008).Bioinformatics, 24(13): 1473-1480, 2008.ScoreconsScoring residue conservation.Valdar WSJ (2002)Proteins: Structure, Function, and Genetics. 43(2): 227-241, 2002.ReferencesThe most recent paper describing the CATH protein structure database:CATH: expanding the horizons of structure-based functional annotations for genome sequences.Sillitoe I, et al (2018)Nucleic Acids Research, Volume 47, Issue D1, 08 January 2019, Pages D280–D284,https://doi.org/10.1093/nar/gky1097