You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

65 line
1.3 KiB

  1. # cython: language_level=3
  2. from libc.stdint cimport uint8_t, int32_t, uint32_t, int64_t, uint64_t
  3. cdef class TupleProxy:
  4. cdef:
  5. char * data
  6. char ** fields
  7. int nfields
  8. int nbytes
  9. int offset
  10. bint is_modified
  11. cdef encoding
  12. cpdef int getMaxFields(self)
  13. cpdef int getMinFields(self)
  14. # cdef char * _getindex(self, int idx)
  15. cdef take(self, char * buffer, size_t nbytes)
  16. cdef present(self, char * buffer, size_t nbytes)
  17. cdef copy(self, char * buffer, size_t nbytes, bint reset=*)
  18. cdef update(self, char * buffer, size_t nbytes)
  19. cdef class TupleProxyIterator:
  20. cdef TupleProxy proxy
  21. cdef int index
  22. cdef class NamedTupleProxy(TupleProxy):
  23. pass
  24. cdef class GTFProxy(NamedTupleProxy):
  25. cdef object attribute_dict
  26. cpdef int getMaxFields(self)
  27. cpdef int getMinFields(self)
  28. cdef class GFF3Proxy(GTFProxy):
  29. pass
  30. cdef class BedProxy(NamedTupleProxy):
  31. cdef:
  32. char * contig
  33. uint32_t start
  34. uint32_t end
  35. int bedfields
  36. cpdef int getMaxFields(self)
  37. cpdef int getMinFields(self)
  38. cdef update(self, char * buffer, size_t nbytes)
  39. cdef class VCFProxy(NamedTupleProxy) :
  40. cdef:
  41. char * contig
  42. uint32_t pos
  43. cdef update(self, char * buffer, size_t nbytes)