|
eccLib 1.1.0
Python library for bioinformatics written in C
|
Implementation of the GtfDict class. More...
#include "GtfDict.h"#include <stdbool.h>#include <stdlib.h>#include "../formats/gtf.h"#include "GtfDictView.h"#include "object.h"#include "pyport.h"#include <Python.h>
Macros | |
| #define | getGTFValue(dict, key) |
| A macro that creates a string representation of a key in the GTF line. | |
Functions | |
| static char * | PyUnicode_AsEncodedUTF8AndSize (PyObject *unicode, size_t *size) |
| Returns the string representation of a Python string, with restricted characters percent encoded. | |
| static int | GtfDict_init (GtfDict *restrict self, PyObject *restrict args, PyObject *restrict kwargs) |
| GtfDict.__init__() | |
| static PyObject * | GtfDict_getattro (GtfDict *restrict self, PyObject *restrict attr) |
| A wrapper over the dict getattro that also acts as a getter for the 7 key GTF keys. | |
| static int | GtfDict_setattro (GtfDict *restrict self, PyObject *restrict attr, PyObject *restrict value) |
| A wrapper over the dict setattro that also acts as a setter for the 7 key GTF keys. | |
| static PyObject * | GtfDict_richcompare (GtfDict *restrict self, PyObject *restrict other, const int op) |
| A custom GtfDict richcompare. | |
| static PyObject * | GtfDict_overlaps (GtfDict *restrict self, PyObject *restrict args) |
| A custom method that determines if self overlaps with a different GtfDict. | |
| int | GtfDict_containsValue (GtfDict *restrict self, PyObject *restrict other) |
| static PyObject * | GtfDict_contains (GtfDict *restrict self, PyObject *restrict args) |
| Wrapper over GtfDict_containsValue() that allows for this method to be used as standalone. | |
| static int | gtf_range_compare (const void *a, const void *b) |
| Comparison function for sorting ranges by start, then end. | |
| static PyObject * | GtfDict_coverage (GtfDict *restrict self, PyObject *restrict args) |
| A custom method that returns the percentage of the gene that is covered by the other GtfDict or iterable of GtfDicts. | |
| static Py_ssize_t | GtfDict_len (GtfDict *restrict self) |
| Custom len method that returns actually the result of subtracting start from end. | |
| static int | iterate_to_str (void *const context, struct hashmap_element_s *const e) |
| Function to iterate over the attributes and append them to the result. | |
| char * | GtfDictToGTF (GtfDict *restrict self, size_t *restrict len) |
| static PyObject * | GtfDict_str (GtfDict *restrict self) |
| returns the GTF representation of the GtfDict | |
| PyObject * | GtfDict_getitem (GtfDict *restrict self, PyObject *restrict key) |
| A custom getitem that also checks the core attributes. | |
| static int | GtfDict_setitem (GtfDict *restrict self, PyObject *restrict key, PyObject *restrict value) |
| A custom setitem that also checks the core attributes. | |
| static PyObject * | GtfDict_view_new (GtfDict *self, PyTypeObject *type) |
| PyObject * | GtfDict_keys (GtfDict *restrict self) |
| GtfDict.keys() | |
| static PyObject * | GtfDict_values (GtfDict *restrict self) |
| A function that returns the values of the GtfDict. | |
| static PyObject * | GtfDict_items (GtfDict *restrict self) |
| A custom items method that also checks the core attributes. | |
| static PyObject * | GtfDict_iter (GtfDict *restrict self) |
| Returns the iterator for the GtfDict. | |
| static PyObject * | GtfDict_pop (GtfDict *restrict self, PyObject *restrict args) |
| A custom pop method that also checks the core attributes. | |
| static PyObject * | GtfDict_get (GtfDict *restrict self, PyObject *restrict args) |
| A custom get method that also allows for a default value to be provided. | |
| static PyObject * | GtfDict_update (GtfDict *restrict self, PyObject *restrict args, PyObject *restrict kwargs) |
| A custom update method that also checks the core attributes. | |
| static PyObject * | GtfDict_clear (GtfDict *self) |
| static int | iterate_popitem (void *const context, void *const value) |
| static PyObject * | GtfDict_popitem (GtfDict *self) |
| static PyObject * | GtfDict_setdefault (GtfDict *self, PyObject *args) |
| static void | GtfDict_dealloc (GtfDict *restrict self) |
| Custom deallocator that deallocates all the core attributes. | |
| static int | iterate_hash (void *const context, void *const value) |
| A custom hash function that XORs the hashes of the core attributes and the attributes. | |
| static Py_hash_t | GtfDict_hash (GtfDict *restrict self) |
| A GtfDict hash function that XORs the hashes of the core attributes and the attributes. | |
| static PyObject * | GtfDict_repr (PyObject *restrict self) |
| A custom repr method that returns a dict representation of the GtfDict. | |
Variables | |
| static PyMethodDef | GtfDict_methods [] |
| All the methods of the GtfDict class. | |
| static PySequenceMethods | GtfDictSeq |
| The sequence methods of the GtfDict class. | |
| static PyMappingMethods | GtfDictMap |
| The mapping methods of the GtfDict class. | |
| PyTypeObject | GtfDictType |
| The Python type definition for the GtfDict object. | |
Implementation of the GtfDict class.
| #define getGTFValue | ( | dict, | |
| key | |||
| ) |
A macro that creates a string representation of a key in the GTF line.
bit of a hack to avoid code duplication
| dict | the GtfDict instance |
| key | the key to get |
|
static |
Comparison function for sorting ranges by start, then end.
| a | pointer to the first range (long[2]) |
| b | pointer to the second range (long[2]) |

|
static |

| int GtfDict_containsValue | ( | GtfDict *restrict | self, |
| PyObject *restrict | other | ||
| ) |

|
static |

|
static |

|
static |

| char * GtfDictToGTF | ( | GtfDict *restrict | self, |
| size_t *restrict | len | ||
| ) |


|
static |
A custom hash function that XORs the hashes of the core attributes and the attributes.
| context | the context to store the hash in |
| value | the current value |

|
static |

|
static |
Function to iterate over the attributes and append them to the result.
| context | the iterateContext |
| e | the current element |


|
inlinestatic |
Returns the string representation of a Python string, with restricted characters percent encoded.
| unicode | the string to encode |
| size | the size of the string |


|
static |
All the methods of the GtfDict class.
|
static |
The mapping methods of the GtfDict class.
|
static |
The sequence methods of the GtfDict class.