сравните 2 больших данных rna seq по python и библиотеку numpy, чтобы создать точечный график с помощью matplotlib - PullRequest
0 голосов
/ 12 марта 2019

Я пишу сценарий, чтобы сравнить мои 50 образцов с другими 50 образцами, чтобы понять, насколько я точен в своих подсчетах. это мой сценарий, но я не смог получить результат! я помещаю каждый образец в папку, и есть один текстовый файл, который содержит все образцы, которые я хочу сравнить с ними:

#!/usr/bin/env python

import numpy as np
import os
import matplotlib.pyplot as plt

path = "/home/ali/Desktop/ALL/"
data = []

data_geo= {}
with open(path+"GSE98212_H_DE_genes_count.txt","rt") as fin:
    for l in fin.readlines()[1:]:
        l = l.strip().split()
    #print(l)
        row = []
        for val in l[1:]:
           row.append(float(val))
        print (row)

print(data_geo)
print("STEP 1")


folders = os.walk(path)
folders_list=[element[0] for element in folders][1:]
print(folders_list)


data_ali = {}
data_folders = []
for folder in folders_list:
    with open (folder+"/counts.txt","rt") as fin:
        print("Writing data from file: ",folder+"/counts.txt")
        for l in fin.readlines():
            l= l.strip().split()
            if l:
                if l[0][:4]=='ENSG':
                    gene=l[0].strip()
                    gene_prfx=gene.split('.')[0]
                    reads = int(l[1])
                    data_ali[gene_prfx]=reads
                    if gene_prfx in data_geo.keys():
                        data.append([reads,data_geo[gene_prfx]])
        data_folders.append(data)

print("STEP 2")
for idata,data in enumerate(data_folders):
    fig_name = folders_list[idata]+".jpg"
    data = np.array(data)
    print(data.shape)


    f = plt.figure()
    ax = f.add_subplot(111)
    ax.plot(data[:,0],data[:,1],'.b')
    plt.xlabel('ours')
    plt.ylabel('theirs')`enter code here`

    plt.savefig(fig_name)
    plt.close()
...