Bonjour,

Je dispose d'un fichier texte :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
Query= B1_mid23_filt_denovo_18-09-16_c1    cov=93.24 len=6215 gc=42.56
gb|M19966.1|HSEGLY13A  Equine herpesvirus type 1 (EHV-1) gene enc...   1359   0.0  
dbj|AB618031.1|  Escherichia coli (type 1 /strain RH2) DNA, n...    751   0.0  
>gb|M19966.1|HSEGLY13A Equine herpesvirus type 1 (EHV-1) gene encoding glycoprotein 
Query= B1_mid23_filt_denovo_18-09-16_c2    cov=106.72 len=2860 gc=50.73
gb|AY206683.1|  SEN virus strain SENV-H Orf2 gene, complete cds        3433   0.0   
dbj|AB059353.1|  SEN virus SENV-H gene, complete cds                   3290   0.0   
gb|KM593803.1|  SEN virus strain HDMU-97 ORF1 gene, partial cds        3261   0.0   
gb|KM593802.1|  SEN virus strain HDMU-13 ORF1 gene, partial cds        3220   0.0   
gb|AY183662.1|  SEN virus H gene, complete cds                         2489   0.0   
gb|EU305675.1|  Homo sapiens isolate LTT7 ORF1 gene, complet...   2425   0.0   
gb|JX157238.1|  Uncultured virus contig401 genomic sequence            1180   0.0   
dbj|AB024373.2|  Mus musculus DNA for ORF2, ORF1, partial cds, isolat...    937   0.0   
dbj|AB024379.1|  Mus musculus DNA for ORF2, partial cds, isolate:KC19...    632   1e-176
gb|AF464086.1|  Mus musculus isolate BD 493-06 ORF2 mRNA, partial cds       524   5e-144
dbj|AB038620.1|  Mus musculus complete genome, isolate:TTVsan-S039          428   3e-115
gb|DQ186997.1|  Homo sapiens clone BM1A-09 ORF2 (ORF2) and O...    426   1e-114
dbj|AB028669.1|  Mus musculus gene for ORF1 and ORF2, complete genome...    425   4e-114
gb|DQ186998.1|  Homo sapiens clone BM1A-13 ORF2 (ORF2) and O...    421   5e-113
gb|DQ186996.1|  Homo sapiens clone BM1A-02 ORF2 (ORF2) and O...    421   5e-113
dbj|AB025946.2|  Homo sapiens 19 DNA, complete genome, isola...    417   6e-112
emb|FR751493.1|  Homo sapiens complete genome, isolate TTV-H...    412   2e-110
dbj|AB038619.1|  Mus musculus complete genome, isolate:TTVsan-IR1031        398   5e-106
emb|FR751480.1|  Homo sapiens complete genome, isolate TTV-H...    390   8e-104
emb|FR751476.1|  Homo sapiens complete genome, isolate TTV-H...    390   8e-104
emb|FR751479.1|  Homo sapiens complete genome, isolate TTV-H...    389   3e-103
emb|AJ620226.1|  Homo sapiens, isolate tth4, complete genome       389   3e-103
dbj|AB064607.1|  Homo sapiens 10 DNA, complete genome, isola...    389   3e-103
Query= B1_mid23_filt_denovo_18-09-16_c3    cov=103.24 len=815 gc=62.46
gb|M19966.1|HSEGLY13A  Equine herpesvirus type 1 (EHV-1) gene enc...   1359   0.0 
Query= B1_mid23_filt_denovo_18-09-16_c4    cov=93.47 len=65 gc=52.21
gb|M19966.1|HSEGLY13A  Equine herpesvirus type 1 (EHV-1) gene enc...   1359   0.0 
>emb|AJ315436.1| Mus musculus DNA, isolate 210a-1
>dbj|AB054648.1| Homo sapiens DNA, complete genome, genotype 23
>dbj|AB028300.1| Mus musculus DNA, untranslated region, isolate:TTV-3CR04
>dbj|AB017911.1| Mus musculus DNA, TATA_signal region
>gb|AF129887.1|AF129887 Mus musculus TTVCHN2, complete genome
Et je souhaiterai, de manière simple et automatique obtenir un fichier de type xls ou csv du type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Organisme						 Query		Total_Query	score1		score2
gb|M19966.1|HSEGLY13A  Equine herpesvirus type 1 (EHV-1) c1,c3,c4	4		6215,815,65	1,1,1
...

La première ligne correspondrait à : "identifiant jusque premiere virgule ou premiere paranthèse refermée", "2 dernieres lettre du deuxieme bloc de caractère des lignes commencant par "Query"", "nombre de lignes commencant par query", " chiffres retrouvés apres "len=" dans lignes query" et "nombre de fois que "organisme" (premiere cellule) est compté pour chaque "query""

Je suis sur qu'il est possible de faire ca avec un script python, j'ai commencé quelques lignes mais n'ai pas encore le niveau necessaire pour continuer.
Faut il couper mon fichier initial en blocs via les lignes commencant par query? Comment faire un script propre et facilement modifible par la suite s'il fallait rajouter des colonnes?

Voila, j'espère avoir vos retours!
Merci!