@@ -148,12 +148,6 @@ typedef struct {
148
148
tsk_diff_iter_t * tree_diff_iterator ;
149
149
} TreeDiffIterator ;
150
150
151
- typedef struct {
152
- PyObject_HEAD
153
- TreeSequence * tree_sequence ;
154
- tsk_vargen_t * variant_generator ;
155
- } VariantGenerator ;
156
-
157
151
typedef struct {
158
152
PyObject_HEAD
159
153
TreeSequence * tree_sequence ;
@@ -584,27 +578,6 @@ make_alleles(tsk_variant_t *variant)
584
578
return ret ;
585
579
}
586
580
587
- static PyObject *
588
- make_variant (tsk_variant_t * variant , tsk_size_t num_samples )
589
- {
590
- PyObject * ret = NULL ;
591
- npy_intp dims = num_samples ;
592
- PyObject * alleles = make_alleles (variant );
593
- PyArrayObject * genotypes = (PyArrayObject * ) PyArray_SimpleNew (1 , & dims , NPY_INT32 );
594
-
595
- /* TODO update this to account for 16 bit variants when we provide the
596
- * high-level interface. */
597
- if (genotypes == NULL || alleles == NULL ) {
598
- goto out ;
599
- }
600
- memcpy (PyArray_DATA (genotypes ), variant -> genotypes , num_samples * sizeof (int32_t ));
601
- ret = Py_BuildValue ("iOO" , variant -> site .id , genotypes , alleles );
602
- out :
603
- Py_XDECREF (genotypes );
604
- Py_XDECREF (alleles );
605
- return ret ;
606
- }
607
-
608
581
static PyObject *
609
582
convert_sites (const tsk_site_t * sites , tsk_size_t num_sites )
610
583
{
@@ -11167,140 +11140,6 @@ static PyTypeObject TreeDiffIteratorType = {
11167
11140
// clang-format on
11168
11141
};
11169
11142
11170
- /*===================================================================
11171
- * VariantGenerator
11172
- *===================================================================
11173
- */
11174
-
11175
- static int
11176
- VariantGenerator_check_state (VariantGenerator * self )
11177
- {
11178
- int ret = 0 ;
11179
- if (self -> variant_generator == NULL ) {
11180
- PyErr_SetString (PyExc_SystemError , "converter not initialised" );
11181
- ret = -1 ;
11182
- }
11183
- return ret ;
11184
- }
11185
-
11186
- static void
11187
- VariantGenerator_dealloc (VariantGenerator * self )
11188
- {
11189
- if (self -> variant_generator != NULL ) {
11190
- tsk_vargen_free (self -> variant_generator );
11191
- PyMem_Free (self -> variant_generator );
11192
- self -> variant_generator = NULL ;
11193
- }
11194
- Py_XDECREF (self -> tree_sequence );
11195
- Py_TYPE (self )-> tp_free ((PyObject * ) self );
11196
- }
11197
-
11198
- static int
11199
- VariantGenerator_init (VariantGenerator * self , PyObject * args , PyObject * kwds )
11200
- {
11201
- int ret = -1 ;
11202
- int err ;
11203
- static char * kwlist []
11204
- = { "tree_sequence" , "samples" , "isolated_as_missing" , "alleles" , NULL };
11205
- TreeSequence * tree_sequence = NULL ;
11206
- PyObject * samples_input = Py_None ;
11207
- PyObject * py_alleles = Py_None ;
11208
- PyArrayObject * samples_array = NULL ;
11209
- tsk_id_t * samples = NULL ;
11210
- tsk_size_t num_samples = 0 ;
11211
- int isolated_as_missing = 1 ;
11212
- const char * * alleles = NULL ;
11213
- npy_intp * shape ;
11214
- tsk_flags_t options = 0 ;
11215
-
11216
- self -> variant_generator = NULL ;
11217
- self -> tree_sequence = NULL ;
11218
- if (!PyArg_ParseTupleAndKeywords (args , kwds , "O!|OiO" , kwlist , & TreeSequenceType ,
11219
- & tree_sequence , & samples_input , & isolated_as_missing , & py_alleles )) {
11220
- goto out ;
11221
- }
11222
- if (!isolated_as_missing ) {
11223
- options |= TSK_ISOLATED_NOT_MISSING ;
11224
- }
11225
- self -> tree_sequence = tree_sequence ;
11226
- Py_INCREF (self -> tree_sequence );
11227
- if (TreeSequence_check_state (self -> tree_sequence ) != 0 ) {
11228
- goto out ;
11229
- }
11230
- if (samples_input != Py_None ) {
11231
- samples_array = (PyArrayObject * ) PyArray_FROMANY (
11232
- samples_input , NPY_INT32 , 1 , 1 , NPY_ARRAY_IN_ARRAY );
11233
- if (samples_array == NULL ) {
11234
- goto out ;
11235
- }
11236
- shape = PyArray_DIMS (samples_array );
11237
- num_samples = (tsk_size_t ) shape [0 ];
11238
- samples = PyArray_DATA (samples_array );
11239
- }
11240
- if (py_alleles != Py_None ) {
11241
- alleles = parse_allele_list (py_alleles );
11242
- if (alleles == NULL ) {
11243
- goto out ;
11244
- }
11245
- }
11246
- self -> variant_generator = PyMem_Malloc (sizeof (tsk_vargen_t ));
11247
- if (self -> variant_generator == NULL ) {
11248
- PyErr_NoMemory ();
11249
- goto out ;
11250
- }
11251
- /* Note: the vargen currently takes a copy of the samples list. If we wanted
11252
- * to avoid this we would INCREF the samples array above and keep a reference
11253
- * to in the object struct */
11254
- err = tsk_vargen_init (self -> variant_generator , self -> tree_sequence -> tree_sequence ,
11255
- samples , num_samples , alleles , options );
11256
- if (err != 0 ) {
11257
- handle_library_error (err );
11258
- goto out ;
11259
- }
11260
- ret = 0 ;
11261
- out :
11262
- PyMem_Free (alleles );
11263
- Py_XDECREF (samples_array );
11264
- return ret ;
11265
- }
11266
-
11267
- static PyObject *
11268
- VariantGenerator_next (VariantGenerator * self )
11269
- {
11270
- PyObject * ret = NULL ;
11271
- tsk_variant_t * var ;
11272
- int err ;
11273
-
11274
- if (VariantGenerator_check_state (self ) != 0 ) {
11275
- goto out ;
11276
- }
11277
- err = tsk_vargen_next (self -> variant_generator , & var );
11278
- if (err < 0 ) {
11279
- handle_library_error (err );
11280
- goto out ;
11281
- }
11282
- if (err == 1 ) {
11283
- ret = make_variant (var , var -> num_samples );
11284
- }
11285
- out :
11286
- return ret ;
11287
- }
11288
-
11289
- static PyTypeObject VariantGeneratorType = {
11290
- // clang-format off
11291
- PyVarObject_HEAD_INIT (NULL , 0 )
11292
- .tp_name = "_tskit.VariantGenerator" ,
11293
- .tp_basicsize = sizeof (VariantGenerator ),
11294
- .tp_dealloc = (destructor ) VariantGenerator_dealloc ,
11295
- .tp_flags = Py_TPFLAGS_DEFAULT ,
11296
- .tp_doc = "VariantGenerator objects" ,
11297
- .tp_iter = PyObject_SelfIter ,
11298
- .tp_iternext = (iternextfunc ) VariantGenerator_next ,
11299
- .tp_init = (initproc ) VariantGenerator_init ,
11300
- .tp_new = PyType_GenericNew ,
11301
- // clang-format on
11302
- };
11303
-
11304
11143
/*===================================================================
11305
11144
* Variant
11306
11145
*===================================================================
@@ -12530,13 +12369,6 @@ PyInit__tskit(void)
12530
12369
Py_INCREF (& TreeDiffIteratorType );
12531
12370
PyModule_AddObject (module , "TreeDiffIterator" , (PyObject * ) & TreeDiffIteratorType );
12532
12371
12533
- /* VariantGenerator type */
12534
- if (PyType_Ready (& VariantGeneratorType ) < 0 ) {
12535
- return NULL ;
12536
- }
12537
- Py_INCREF (& VariantGeneratorType );
12538
- PyModule_AddObject (module , "VariantGenerator" , (PyObject * ) & VariantGeneratorType );
12539
-
12540
12372
/* Variant type */
12541
12373
if (PyType_Ready (& VariantType ) < 0 ) {
12542
12374
return NULL ;
0 commit comments