# Path: conkit/core/contactfile.py
# class ContactFile(Entity):
#     """A contact file object representing a single prediction file
# 
#     The contact file class represents a data structure to hold all predictions
#     with a single contact map file. It contains functions to store,
#     manipulate and organise contact maps.
# 
#     Examples
#     --------
#     >>> from conkit.core import ContactMap, ContactFile
#     >>> contact_file = ContactFile("example")
#     >>> contact_file.add(ContactMap("foo"))
#     >>> contact_file.add(ContactMap("bar"))
#     >>> print(contact_file)
#     ContactFile(id="example" nmaps=2)
# 
#     Attributes
#     ----------
#     author : str
#        The author of the :obj:`~conkit.core.contactfile.ContactFile`
#     method : list, str
#        The :obj:`~conkit.core.contactfile.ContactFile`-specific method
#     remark : list, str
#        The :obj:`~conkit.core.contactfile.ContactFile`-specific remarks
#     target : str
#        The target name
#     top_map : :obj:`~conkit.core.contactmap.ContactMap`
#        The first :obj:`~conkit.core.contactmap.ContactMap` entry in :obj:`~conkit.core.contactfile.ContactFile`
# 
#     """
# 
#     __slots__ = ["author", "target", "_method", "_remark"]
# 
#     def __init__(self, id):
#         """Initialise a new contact map
# 
#         Parameters
#         ----------
#         id : str
#            A unique identifier for this :obj:`~conkit.core.contactfile.ContactFile`
# 
#         """
#         self.author = None
#         self.target = None
#         self._method = []
#         self._remark = []
#         super(ContactFile, self).__init__(id)
# 
#     def __repr__(self):
#         return '{}(id="{}" nmaps={})'.format(self.__class__.__name__, self.id, len(self))
# 
#     @property
#     def method(self):
#         """The :obj:`~conkit.core.contactfile.ContactFile`-specific method"""
#         return self._method
# 
#     @method.setter
#     def method(self, method):
#         """Set the :obj:`~conkit.core.contactfile.ContactFile` method
# 
#         Parameters
#         ----------
#         method : str, list
#            The method will be added to the list of methods
# 
#         """
#         self._method += Entity.listify(method)
# 
#     @property
#     def remark(self):
#         """The :obj:`~conkit.core.contactfile.ContactFile`-specific remarks"""
#         return self._remark
# 
#     @remark.setter
#     def remark(self, remark):
#         """Set the :obj:`~conkit.core.contactfile.ContactFile` remark
# 
#         Parameters
#         ----------
#         remark : str, list
#            The remark will be added to the list of remarks
# 
#         """
#         self._remark += Entity.listify(remark)
# 
#     @property
#     def top_map(self):
#         """The first :obj:`~conkit.core.contactmap.ContactMap` entry"""
#         return self.top
# 
#     def sort(self, kword, reverse=False, inplace=False):
#         """Sort the :obj:`~conkit.core.contactfile.ContactFile`
# 
#         Parameters
#         ----------
#         kword : str
#            The dictionary key to sort contacts by
#         reverse : bool, optional
#            Sort the contact pairs in descending order [default: False]
#         inplace : bool, optional
#            Replace the saved order of contacts [default: False]
# 
#         Returns
#         -------
#         :obj:`~conkit.core.contactmap.ContactMap`
#            The reference to the :obj:`~conkit.core.contactmap.ContactMap`, regardless of `inplace`
# 
#         Raises
#         ------
#         :exc:`ValueError`
#            `kword` not in :obj:`~conkit.core.contactfile.ContactFile`
# 
#         """
#         contact_file = self._inplace(inplace)
#         contact_file._sort(kword, reverse)
#         return contact_file


from conkit.core.contactfile import ContactFile
    target : str
       The target name
    top_map : :obj:`~conkit.core.contactmap.ContactMap`
       The first :obj:`~conkit.core.contactmap.ContactMap` entry in :obj:`~conkit.core.contactfile.ContactFile`
    original_file_format : str
       The original file format used to create the :obj:`~conkit.core.distogram.Distogram` instance

    """

    __slots__ = ["author", "target", "_method", "_remark", "_original_file_format"]

    def __init__(self, id):
        """Initialise a new distance file"""
        self._original_file_format = None
        super(DistanceFile, self).__init__(id)

    def __repr__(self):
        return '{}(id="{}" ndistograms={})'.format(self.__class__.__name__, self.id, len(self))

    @property
    def original_file_format(self):
        """The original file format used to create the :obj:`~conkit.core.distancefile.DistanceFile` instance"""
        return self._original_file_format

    @original_file_format.setter
    def original_file_format(self, value):
        self._original_file_format = value

    def add(self, entity):
        entity.original_file_format = self.original_file_format

# Path: conkit/core/contactfile.py
# class ContactFile(Entity):
#     """A contact file object representing a single prediction file
# 
#     The contact file class represents a data structure to hold all predictions
#     with a single contact map file. It contains functions to store,
#     manipulate and organise contact maps.
# 
#     Examples
#     --------
#     >>> from conkit.core import ContactMap, ContactFile
#     >>> contact_file = ContactFile("example")
#     >>> contact_file.add(ContactMap("foo"))
#     >>> contact_file.add(ContactMap("bar"))
#     >>> print(contact_file)
#     ContactFile(id="example" nmaps=2)
# 
#     Attributes
#     ----------
#     author : str
#        The author of the :obj:`~conkit.core.contactfile.ContactFile`
#     method : list, str
#        The :obj:`~conkit.core.contactfile.ContactFile`-specific method
#     remark : list, str
#        The :obj:`~conkit.core.contactfile.ContactFile`-specific remarks
#     target : str
#        The target name
#     top_map : :obj:`~conkit.core.contactmap.ContactMap`
#        The first :obj:`~conkit.core.contactmap.ContactMap` entry in :obj:`~conkit.core.contactfile.ContactFile`
# 
#     """
# 
#     __slots__ = ["author", "target", "_method", "_remark"]
# 
#     def __init__(self, id):
#         """Initialise a new contact map
# 
#         Parameters
#         ----------
#         id : str
#            A unique identifier for this :obj:`~conkit.core.contactfile.ContactFile`
# 
#         """
#         self.author = None
#         self.target = None
#         self._method = []
#         self._remark = []
#         super(ContactFile, self).__init__(id)
# 
#     def __repr__(self):
#         return '{}(id="{}" nmaps={})'.format(self.__class__.__name__, self.id, len(self))
# 
#     @property
#     def method(self):
#         """The :obj:`~conkit.core.contactfile.ContactFile`-specific method"""
#         return self._method
# 
#     @method.setter
#     def method(self, method):
#         """Set the :obj:`~conkit.core.contactfile.ContactFile` method
# 
#         Parameters
#         ----------
#         method : str, list
#            The method will be added to the list of methods
# 
#         """
#         self._method += Entity.listify(method)
# 
#     @property
#     def remark(self):
#         """The :obj:`~conkit.core.contactfile.ContactFile`-specific remarks"""
#         return self._remark
# 
#     @remark.setter
#     def remark(self, remark):
#         """Set the :obj:`~conkit.core.contactfile.ContactFile` remark
# 
#         Parameters
#         ----------
#         remark : str, list
#            The remark will be added to the list of remarks
# 
#         """
#         self._remark += Entity.listify(remark)
# 
#     @property
#     def top_map(self):
#         """The first :obj:`~conkit.core.contactmap.ContactMap` entry"""
#         return self.top
# 
#     def sort(self, kword, reverse=False, inplace=False):
#         """Sort the :obj:`~conkit.core.contactfile.ContactFile`
# 
#         Parameters
#         ----------
#         kword : str
#            The dictionary key to sort contacts by
#         reverse : bool, optional
#            Sort the contact pairs in descending order [default: False]
#         inplace : bool, optional
#            Replace the saved order of contacts [default: False]
# 
#         Returns
#         -------
#         :obj:`~conkit.core.contactmap.ContactMap`
#            The reference to the :obj:`~conkit.core.contactmap.ContactMap`, regardless of `inplace`
# 
#         Raises
#         ------
#         :exc:`ValueError`
#            `kword` not in :obj:`~conkit.core.contactfile.ContactFile`
# 
#         """
#         contact_file = self._inplace(inplace)
#         contact_file._sort(kword, reverse)
#         return contact_file


# Path: conkit/core/distancefile.py
from conkit.core.contactfile import ContactFile

    target : str
       The target name
    top_map : :obj:`~conkit.core.contactmap.ContactMap`
       The first :obj:`~conkit.core.contactmap.ContactMap` entry in :obj:`~conkit.core.contactfile.ContactFile`
    original_file_format : str
       The original file format used to create the :obj:`~conkit.core.distogram.Distogram` instance

    """

    __slots__ = ["author", "target", "_method", "_remark", "_original_file_format"]

    def __init__(self, id):
        """Initialise a new distance file"""
        self._original_file_format = None
        super(DistanceFile, self).__init__(id)

    def __repr__(self):
        return '{}(id="{}" ndistograms={})'.format(self.__class__.__name__, self.id, len(self))

    @property
    def original_file_format(self):
        """The original file format used to create the :obj:`~conkit.core.distancefile.DistanceFile` instance"""
        return self._original_file_format

    @original_file_format.setter
    def original_file_format(self, value):
        self._original_file_format = value

    def add(self, entity):
        entity.original_file_format = self.original_file_format

        super(ContactFile, self).add(entity)