j'ai un fichier avec les champs suivants (et une valeur d'exemple à droite):Utilisation de create awk deux tableaux à partir de deux valeurs de la colonne, trouver différence et les différences somme, et les données de sortie
hg18.ensGene.bin 0
hg18.ensGene.name ENST00000371026
hg18.ensGene.chrom chr1
hg18.ensGene.strand -
hg18.ensGene.txStart 67051161
hg18.ensGene.txEnd 67163158
hg18.ensGene.exonStarts 67051161,67060631,67065090,67066082,67071855,67072261,67073896,67075980,67078739,67085754,67100417,67109640,67113051,67129424,67131499,67143471,67162932,
hg18.ensGene.exonEnds 67052451,67060788,67065317,67066181,67071977,67072419,67074048,67076067,67078942,67085949,67100573,67109780,67113208,67129537,67131684,67143646,67163158,
hg18.ensGene.name2 ENSG00000152763
hg18.ensGene.exonFrames 0,2,0,0,1,2,0,0,1,1,1,2,1,2,0,2,0,
C'est un version abrégée du fichier:
0 ENST00000371026 chr1 - 67051161 67163158 67051161,67060631,67065090,67066082,67071855,67072261,67073896,67075980,67078739,67085754,67100417,67109640,67113051,67129424,67131499,67143471,67162932, 67052451,67060788,67065317,67066181,67071977,67072419,67074048,67076067,67078942,67085949,67100573,67109780,67113208,67129537,67131684,67143646,67163158, ENSG00000152763 0,2,0,0,1,2,0,0,1,1,1,2,1,2,0,2,0, uc009waw.1,uc009wax.1,uc001dcx.1,
0 ENST00000371023 chr1 - 67075869 67163055 67075869,67078739,67085754,67100417,67109640,67113051,67129424,67131499,67143471,67162932, 67076067,67078942,67085949,67100573,67109780,67113208,67129537,67131684,67143646,67163055, ENSG00000152763 0,1,1,1,2,1,2,0,2,0, uc001dcy.1
0 ENST00000395250 chr1 - 67075991 67163158 67075991,67076022,67078739,67085754,67100417,67109640,67113051,67129424,67131499,67143471,67162932, 67076018,67076067,67078942,67085949,67100573,67109780,67113208,67129537,67131684,67143646,67163158, ENSG00000152763 0,0,1,1,1,2,0,-1,-1,-1,-1, n/a
je dois résumer la différence des départs d'exons et se termine par exemple:
hg18.ensGene.exonStarts 67051161,67060631,67065090,67066082,67071855,67072261,67073896,67075980,67078739,67085754,67100417,67109640,67113051,67129424,67131499,67143471,67162932,
hg18.ensGene.exonEnds 67052451,67060788,67065317,67066181,67071977,67072419,67074048,67076067,67078942,67085949,67100573,67109780,67113208,67129537,67131684,67143646,67163158,
différence:
1290,157,227,99,122,158,152,87,203,195,156,140,157,113,185,175,226
somme
(hg18.ensGene.exonLenSum):
3842
Et je voudrais la sortie d'avoir les champs suivants:
hg18.ensGene.name
hg18.ensGene.name2
hg18.ensGene.exonLenSum
tels que celui-ci:
ENST00000371026 ENST00000371023 3842
Je voudrais le faire avec un script awk pour toutes les lignes dans le fichier d'entrée. Comment puis-je faire ceci? Ceci est utile pour calculer des longueurs d'exon, par exemple pour un calcul RPMK (lectures par Kilon exon modèle par millions de lectures mappées).
Commencez par 'grep'. Par exemple: 'grep 'exonStarts \ | exonEnds" filename.txt' –
FYI: http://biostar.stackexchange.com/ est un autre bon endroit pour poser ce genre de question :-) – Pierre
@Dave Jarivs merci pour le commentaire , mais je pense que je vous ai confondu avec le libellé de la question, le fichier n'est pas réellement conçu de telle sorte que grep puisse être utilisé pour résoudre ce problème. –