void TopicModel::loadTopicData(QString qname, int k) {

    int j;
    vector < double > storage;
    DataManager *datamanager = new DataManager();

    sleep(1);

    connect(datamanager, SIGNAL(saveTick(int)), this, SIGNAL(saveTick(int)));

    emit changeStatus("Saving");

    /*************************************/
    // Load parameters
    /*************************************/

    if(M != datamanager->loadDouble(qname, "M")) {
        qDebug() << "Load failure: mismatched number of features.";
    }

    /*************************************/
    // Load Theta
    /*************************************/

    datamanager->loadDoubleArray(qname, "Theta", "probability", storage);

    if(k == 0) {
        for(j=0; j < M; j++) {

            Theta0[j] = storage[j];
        }
    } else {
        for(j=0; j < M; j++) {

            Theta[k-1][j] = storage[j];
        }
    }

    emit changeStatus("Ready");
    disconnect(datamanager, SIGNAL(loadTick(int)), this, SIGNAL(loadTick(int)));
    delete datamanager;
}