A Python Interface to Contact Predictions
ConKit is a Python library to provide a data object hierarchy and associated routine operations to work and manipulate residue-residue contact prediction data. Main features shipped with this library include:
For an overview of ConKit, watch this video.
[0.12]
Fixed
Changed
[0.11.3]
Fixed
Changed
Added
map_align
](https://github.com/sokrypton/map_align) contact file parser[0.11.2]
Fixed
ZeroDivision
[0.11.1]
Changed
conkit/core/ext/c_sequencefile.pyx
removed print
statement[0.11]
Added
conkit.io
routines now accept keyword argumentsformat
keywords are saint2
and rosetta
StructureSelector
added to score protein structures by contact satisfaction[0.10.2]
MANIFEST.ini
file required by PyPi[0.10.1]
[0.10]
Added
Cython
added as dependency and SciPy
removedconkit.misc.deprecate
decorator for easier taggingContactMap.match
provides keyword to add_false_negatives
found in the reference but not in contact mapContactMap.remove_false_negatives
allows convenient removal of false negativesContactMap.recall
to calculate the recall of a contact mapSequenceFile.summary
for quick alignment summariesA2mParser
to read HH-suite A2M alignment filessphinx-apidoc
generation for up-to-date indexClustalParser
to read CLUSTAL formatted filesChanged
SequenceFile.calculate_freq
backend changed from numpy
to Cython
for faster computationSequenceFile.calculate_weights
backend changed from numpy
to Cython
for faster computationSequenceFile.filter
backend changed from numpy
to Cython
for faster computationSequenceFile.filter_gapped
backend changed from numpy
to Cython
for faster computationSequenceFile.calculate_weights
renamed to SequenceFile.get_weights
SequenceFile.compute_freq
renamed to SequenceFile.get_frequency
ContactMap.singletons
backend changed from numpy
to Cython
for faster computationBandwidth
backend changed from numpy
to Cython
for faster computationContactMap.short_range_contacts
renamed to ContactMap.short_range
ContactMap.medium_range_contacts
renamed to ContactMap.medium_range
ContactMap.long_range_contacts
renamed to ContactMap.long_range
ContactMap.calculate_scalar_score
renamed to ContactMap.set_scalar_score
ContactMap.calculate_contact_density
renamed to ContactMap.get_contact_density
ContactMap.calculate_jaccard_index
renamed to ContactMap.get_jaccard_index
ContactMatchState
provides options for true positive, true negative, false positive and false negative, which can be added to contacts in the map at willContact.is_match
and Contact.define_match
renamed to attribute Contact.true_positive
Contact.is_mismatch
and Contact.define_mismatch
renamed to attribute Contact.false_positive
Contact.is_unknown
and Contact.define_unknown
renamed to attribute Contact.status_unknown
Entity
, Gap
and Residue
classes made publicFixed
SequenceFile.filter
to remove Sequence
entries reliablyContactMapMatrixFigure
when gap
variable was less than 1Removed
[0.9]
Added
conkit.plot
subpackage refactored to allow matplotlib
access of Figure
instances. This provides
functionality similar to seaborn
, so matplotlib.Axes
can be provided into which a plot is drawn.ContactMap.as_list
function to represent the contact map as a 2D-list of residue indexesconkit.misc.normalize
function to apply Feature scaling normalizationCONTRIB.rst
file to list all contributorsSequenceFile.diversity
property defined by \(\sqrt{N}/L\)ContactMap.reindex
to reindex a contact map given a new starting indexContactMap.singletons
returns a copy of the contact map with singleton contacts, i.e. ones without neighborsSequence.seq_encoded
to allow turning a sequence into an encoded listSequence.encoded_matrix
to give the entire alignment as encoded matrixSequenceFile.filter_gapped
to filter sequences with a certain threshold of gapsSequenceFile.to_string
and ContactMap.to_string
methodsContactMapMatrixFigure
added to illustrate prediction signal of entire ContactMap
nebcon
contact prediction formatChanged
conkit.plot
in accordance to necessary changes for aboveContactMapFigure
now accepts lim
parameters for axes limitsContactMapFigure
and ContacctMapChordFigure
improved to better space marker sizeTHREE_TO_ONE
and ONE_TO_THREE
dictionaries modified to Enum
objectsSequeneFile.neff
renamed to SequenceFile.meff
ContactMapChordFigure.get_radius_around_circle
moved to conkit.plot.tools.radius_around_circle
AmiseBW.curvature
renamed to AmiseBW.gauss_curvature
Fixed
A3mParser
keyword argument mismatch sorted[0.8.4]
Added
Entity.top
property to always return the first child in the listContactMap.find
function accepts strict
keyword argument to find contact pairs with both residues in register
PdbParser
takes a distance cutoff of 0
to include all Cb-Cb contacts in the protein structureContactMatchState
enumerated type for definitions of state constants for contactSequenceAlignmentState
enumerated type for definitions of state constants for each sequence fileNcontParser
added to extract contact pairs identified by NCONT (CCP4 Software Suite)Changed
ContactMap.match
does __not__ modifiy other
by default anymore. Specify match_other=True
as kwarg!ContactMap.calculate_kernel_density
renamed to ContactMap.calculate_contact_density
ContactDensityFigure
draws domain boundary lines instead of symbols[0.8.3]
Added
requirements.txt
file re-added for easier dependency installationLinearBW
calculator added for linear bandwidth calculation in analysisseq_ascii
property to Sequence
for encoded sequenceascii_matrix
property to SequenceFile
for encoded alignmentSequenceFile
and ContactFile
classes have new empty
propertiesflib
format for ContactFile
classes to allow easier conversions for the Flib-Coevo fragment picking libraryChanged
_BandwidthCalc
class renamed to BandwidthBase
BandwidthBase
, and Parser
with all subparser classesconkit/io/__init__.py
to avoid duplication of codeFixed
PconsParser
class accepts negative raw_score
valuesSequenceFile.neff
returns float
instead of int
CCMpredParser.read()
returns empty ContactFile
when matrix file empty[0.8.2]
Added*
SequenceFile.filter()
when SciPy not installedChanged
write()
in parsers improved by construction of string and single call to write()
of filehandleFixed
[0.8.1]
Changed
SystemExit(0)
exception in scripts when invoked with --help
flagFixed
[0.8]
Added
filter()
function added for redundancy/distant homolog removal from SequenceFile
io
sub-package caches modules and imports upon requestChanged
calculate_meff()
and calculate_weights()
changed from 0.7 to 0.8 [more commonly used in literature]core
classes extracted to individual module filesFixed
requirements.txt
not found; fix includes removal of requirements.txt
and addition of install_requires
to setup.py
instead. - Thanks to Miguel Correa for reporting this bug