Beispiel #1
0
        print "Target data subsampling loop"
        for i in range(len(percs)):
            n_trg_perc = np.int(n_trg * percs[i])
            p_trg = trg[:, inds[:n_trg_perc]].copy()
            p_trg_labels = trg_labels[inds[:n_trg_perc]].copy()
            # 4. MTL/DA mixing parameter loop
            res_desc = list()
            for m in range(len(methods)):
                print(
                    'Running experiment {0} of {1}: Train target data of repetition {2} - {3} source cells, {4} genes, '
                    '{5} target cells and the {6}th method'.format(
                        exp_counter, num_exps, r + 1, n_src[s], genes,
                        n_trg_perc, m + 1))
                #plt.subplot(len(percs), len(methods), plot_cnt)
                source_nmf.cell_filter_list = list()
                source_nmf.gene_filter_list = list()
                # source data is already filtered and transformed ...
                source_nmf.add_cell_filter(
                    lambda x: np.arange(x.shape[1]).tolist())
                source_nmf.add_gene_filter(
                    lambda x: np.arange(x.shape[0]).tolist())
                source_nmf.set_data_transformation(lambda x: x)
                desc, target_nmf, trg_lbls_pred, mixed_data = methods[m](
                    source_nmf,
                    p_trg.copy(),
                    p_trg_labels.copy(),
                    n_trg_cluster=num_cluster)
                res_desc.append(desc)

                print "Evaluation of target results"
                accs_desc = list()
Beispiel #2
0
                trg_labels[trg_clustering.remain_cell_inds], trg_clustering.cluster_labels)
            print '  -ARI: ', accs[4, j, i]

        # --------------------------------------------------
        # 5. SAVE RESULTS
        # --------------------------------------------------
        trg_clustering.cell_filter_list = None
        trg_clustering.gene_filter_list = None
        trg_clustering.data_transf = None
        if arguments.method is 'SC3':
            trg_clustering.dists_list = None
            trg_clustering.dimred_list = None
            trg_clustering.intermediate_clustering_list = None
        if src_clustering is not None:
            src_clustering.cell_filter_list = None
            src_clustering.gene_filter_list = None
            src_clustering.data_transf = None
        print('\nSaving data structures and results to file with prefix \'{0}_m{1}_c{2}\'.'.format(arguments.fout, mix, trg_k))
        np.savez('{0}_m{1}_c{2}.npz'.format(arguments.fout, mix, trg_k), src=src_clustering, trg=trg_clustering, args=arguments)
        np.savetxt('{0}_m{1}_c{2}.labels.tsv'.format(arguments.fout, mix, trg_k),
                   (trg_clustering.cluster_labels, trg_clustering.remain_cell_inds), fmt='%u', delimiter='\t')

# --------------------------------------------------
# 6. SUMMARIZE RESULTS
# --------------------------------------------------
print 'Mixtures:', mixtures
print 'Cluster:', num_cluster

plt.figure(0)
for i in range(accs.shape[0]):
    plt.subplot(2, 3, i+1)
Beispiel #3
0
                                             metric='spearman')
    print '  -KTA (linear)     : ', accs[0, i]
    print '  -Silhouette (euc) : ', accs[1, i]
    print '  -Silhouette (pear): ', accs[2, i]
    print '  -Silhouette (spea): ', accs[3, i]
    if labels is not None:
        print('\nSupervised evaluation:')
        accs[4, i] = metrics.adjusted_rand_score(labels[nmf.remain_cell_inds],
                                                 nmf.cluster_labels)
        print '  -ARI: ', accs[4, i]

    # --------------------------------------------------
    # 3.3. SAVE RESULTS
    # --------------------------------------------------
    nmf.cell_filter_list = None
    nmf.gene_filter_list = None
    nmf.data_transf = None
    print(
        '\nSaving data structures and results to file with prefix \'{0}_c{1}\'.'
        .format(arguments.fout, k))
    np.savez('{0}_c{1}.npz'.format(arguments.fout, k), src=nmf, args=arguments)
    np.savetxt('{0}_c{1}_labels.tsv'.format(arguments.fout, k),
               (nmf.cluster_labels, nmf.remain_cell_inds),
               fmt='%u',
               delimiter='\t')

    # --------------------------------------------------
    # 3.4. T-SNE PLOT
    # --------------------------------------------------
    if arguments.tsne:
        model = TSNE(n_components=2,