Problème pour lire mon fichier ligne par ligne : boucle infinie
Amandineld
-
tpez Messages postés 359 Statut Membre -
tpez Messages postés 359 Statut Membre -
Bonjour,
J'ai un problème assez urgent. Je veux lire mon fichier ligne par ligne pour appliquer à chaque ligne des fonctions. Mais quand je le lis, il ne lit uniquament la première ligne du fichier en boucle. Je me retrouve donc dans une boucle infinie. Comme lire la totalité de mon fichier ligne par ligne et non seulement la première ligne ?
Merci
Code :
exemple de fichier :
sortie du terminal :
Merci
J'ai un problème assez urgent. Je veux lire mon fichier ligne par ligne pour appliquer à chaque ligne des fonctions. Mais quand je le lis, il ne lit uniquament la première ligne du fichier en boucle. Je me retrouve donc dans une boucle infinie. Comme lire la totalité de mon fichier ligne par ligne et non seulement la première ligne ?
Merci
Code :
def creation_dico(dic_localisation_atlas,name_file,exome_colonne,cohorte_name,dico_transm_ensembl):
dico_DTM={}
f_in=open(name_file,"r")
dico_file={}
path="vcf_output/"+cohorte_name
if os.path.isdir(path)==False:
os.mkdir(path,0o755)
for k in exome_colonne:
dico_file[k]=open(path+"/"+k+".txt","w")
dico_file[k].write("##CHROMOSOME\tN_SNP\tN_gene\t\tInfo\tSNP_Donneur\tSNP_Receveur\n")
colonne7=[]
colonne7bis=[]
colonne7ter=[]
liste_SNP=[]
variantsYN=[]
chro=1
indel=0
buf_score={}
bufs=0
rf=f_in.readline
read=rf()
a=0
while read:
row=read.split("\t")
print row
if row[0][0]!="#":
if chro!=row[0]:
chro=row[0]
print("chromosome",chro)
liste_SNP.append(row[1])
variantsYN.append(row[7])
liste_g=liste_genes(variantsYN)
liste_transcrit=f_liste_transcrit(variantsYN)
if len(variantsYN)>0:
for k in exome_colonne:
Variants_communs=comptage_SNP(row[exome_colonne[k][1]],row[exome_colonne[k][0]],row[1],k,variantsYN,dico_DTM,dic_localisation_atlas,liste_g,dico_transm_ensembl,liste_transcrit)
f_in.close()
print("Paire de patient, score global,score transmembrannaire protein atlas, score secretion, score transmembrannaire Ensembl")
for keys in exome_colonne:
print(keys,exome_colonne[keys][2],exome_colonne[keys][3],exome_colonne[keys][4],exome_colonne[keys][5])
for k in exome_colonne:
dico_file[k].close()
if os.path.exists("vcf_output")==False:
os.mkdir("vcf_output")
Paris_Cohorte={}
Paris_Cohorte["1"]=[31,11,0,0,0,0]
Paris_Cohorte["2"]=[41,13,0,0,0,0]
Paris_Cohorte["3"]=[40,33,0,0,0,0]
parser = argparse.ArgumentParser()
choice = parser.add_argument_group('Choix cohorte')
choice.add_argument('-c','-cohorte',type=str,choices=["vcf"],required=True)
args = parser.parse_args()
path_in="localisation_simplified.csv"
dic_localisation_atlas=open_localisation(path_in)
membrannaire="transmembranaire/"
dico_transm_ensembl=file_ensembl(membrannaire)
if args.c :
if args.c=="vcf" :
creation_dico(dic_localisation_atlas,"vcf.vcf",Paris_Cohorte,"Paris",dico_transm_ensembl)
Modifier / Supprimer le message Modifier le message Répondre avec citation Répondre avec citation Multi-citer ce message 0 0 Créer une entrée Blog
exemple de fichier :
##fileformat=VCFv4.3
##FILTER=<ID=PASS,Description=All filters passed>
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT ...
1 783071 rs142849724 C T . PASS ENSG00000228794;ENST00000624927|ENST00000623808|ENST00000445118|ENST00000448975|ENST00000610067|ENST00000608189|ENST00000609139|ENST00000449005|ENST00000416570|ENST00000623070|ENST00000609009|ENST00000622921 GT C; C; T;|C; C; T;|C; C; C; C; C; C;|T; C; C; C; C; C; C; C; C; C; C; C; C; C; C; C; C; C; C; C; C; C; C; C;|T; C; C; C; C;|T; C; C; C;
sortie du terminal :
['##fileformat=VCFv4.3\n']
['##fileformat=VCFv4.3\n']
['##fileformat=VCFv4.3\n']
Merci
A voir également:
- Problème pour lire mon fichier ligne par ligne : boucle infinie
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire fichier epub - Guide
- Partager photos en ligne - Guide
- Fichier bin - Guide
- Mètre en ligne - Guide