def get_features_for_seqid(self, seqid): rval = gtlib.gt_feature_index_get_features_for_seqid(self.fi, seqid) if rval: a = Array(rval, True) result = [] for i in range(a.size()): fptr = gtlib.gt_genome_node_ref(a.get(i)) result.append(FeatureNode.create_from_ptr(fptr)) return result else: return None
def get_features_for_seqid(self, seqid): err = Error() result = [] rval = gtlib.gt_feature_index_get_features_for_seqid( self.fi, seqid.encode('UTF-8'), err) if rval: a = Array(rval, True) for i in range(a.size()): fptr = gtlib.gt_genome_node_ref(a.get(i)) result.append(FeatureNode.create_from_ptr(fptr)) return result else: gterror(err) return result
def get_features_for_seqid(self, seqid): err = Error() result = [] rval = gtlib.gt_feature_index_get_features_for_seqid(self.fi, seqid, err._as_parameter_) if rval: a = Array(rval, True) for i in range(a.size()): fptr = gtlib.gt_genome_node_ref(a.get(i)) result.append(FeatureNode.create_from_ptr(fptr)) return result else: gterror(err) return result
def from_array(arr, rng, style): from ctypes import byref, sizeof if rng.start > rng.end: gterror("range.start > range.end") gtarr = Array.create(sizeof(c_void_p), False) for i in arr: if not isinstance(i, FeatureNode): gterror("Diagram array must only contain FeatureNodes!") gtarr.add(i) diagram = gtlib.gt_diagram_new_from_array(gtarr, byref(rng), style) return Diagram(diagram)
def get_features_for_range(self, start, end, seqid): from ctypes import byref a = Array.create() err = Error() rng = Range(start, end) rval = gtlib.gt_feature_index_get_features_for_range(self.fi, a, seqid, byref(rng), err) if rval != 0: gterror(err) result = [] for i in range(a.size()): fptr = gtlib.gt_genome_node_ref(a.get(i)) result.append(FeatureNode.create_from_ptr(fptr)) return result
def get_features_for_range(self, start, end, seqid): from ctypes import byref a = Array.create() err = Error() rng = Range(start, end) rval = gtlib.gt_feature_index_get_features_for_range( self.fi, a, seqid, byref(rng), err) if rval != 0: gterror(err) result = [] for i in range(a.size()): fptr = gtlib.gt_genome_node_ref(a.get(i)) result.append(FeatureNode.create_from_ptr(fptr)) return result