seq_inf[chro]={}#Création d'un nouveau dictionnaire avec le nom du chromosome à chaque itération de boucle
#seq_inf[chro]={}#Création d'un nouveau dictionnaire avec le nom du chromosome à chaque itération de boucle
seq_inf[chro]=({"seq_id":seq_id,"start":start,"end":end,"lenght":lenght,"depth":0})#attribution de différentes informations pour chaque chromosome à chaque itération de boucle
#seq_inf[chro]=({"seq_id" : seq_id, "start" : start, "end" : end, "lenght" : lenght, "depth" : 0})#attribution de différentes informations pour chaque chromosome à chaque itération de boucle
samfile.close()
#samfile.close()
defdepth_function(data):#Definition d'une fonction qui va calculer la profondeur
#def depth_function(seq_inf):#Definition d'une fonction qui va calculer la profondeur
forchro,datainseq_inf.items():
# for chro, data in seq_inf.items():
depth=[0]*[-1]["end"]+1#on crée une liste qui stock la profondeur de chaque chromosome. On prend la dernière position lue de chaque dictionnaire. On rajoute +1 parce que ça compte à partir de 0.
# depth = [0] * (data[-1]["end"] +1) #on crée une liste qui stock la profondeur de chaque chromosome. On prend la dernière position lue de chaque dictionnaire. On rajoute +1 parce que ça compte à partir de 0.
forpositioninrange(start,end+1):#on reprend les position start et end défini au début
# for position in range(start, end +1):#on reprend les position start et end défini au début
depth[position]+=1#On calcule la profondeur en ajoutant +1 à chaque itération
# depth[position] += 1 #On calcule la profondeur en ajoutant +1 à chaque itération
depth_function(seq_inf)#On fait appel à la fonction pour le dictionnaire de base
#depth_function(seq_inf)#On fait appel à la fonction pour le dictionnaire de base
#import pyopencl as cl
#import pyopencl as cl
...
@@ -29,3 +29,36 @@ depth_function(seq_inf)#On fait appel à la fonction pour le dictionnaire de bas
...
@@ -29,3 +29,36 @@ depth_function(seq_inf)#On fait appel à la fonction pour le dictionnaire de bas
#queue = cl.CommandQueue(ctx)
#queue = cl.CommandQueue(ctx)
#mf = cl.mem_flags
#mf = cl.mem_flags
importpysam
seq_inf={}# On définit le dictionnaire
samfile=pysam.AlignmentFile("/home/theo/dev/git/cnvCallerGPU/3544.bam","rb")# Importation du fichier bam
forreadinsamfile.fetch(until_eof=True):# Boucle qui va lire le fichier bam en entier
seq_id=read.query_name# Attribution de l'ID de la séquence
chro=read.reference_name# Attribution du nom du chromosome
start=read.reference_start# Attribution position de départ
length=read.query_length# Attribution longueur de la séquence
end=read.reference_end# Attribution position de fin
ifchronotinseq_inf:
seq_inf[chro]=[]# Création d'une liste vide pour chaque chromosome