[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OFF TOPIC] Preciso de uma ajuda e nao sei definir o assunto. Sei que é fora do topico



henrique escreveu:
Em Sexta 26 Janeiro 2007 08:06, Junior Polegato escreveu:
Marcelo Laia escreveu:
Socorro!!!
Eu tenho um arquivo delimitado por tab com 13 colunas e 1958 linhas.
As primeiras 2 colunas trazem informacoes, tipo um ID e um nome. As
seis colunas seguintes trazem informacoes numericas variadas. As
ultimas 5 colunas trazem informacao de presença ou ausência. Exemplo:
ID    Nome    logFC    A    t    P    PV    B    X12    X24    P24
P3    P5
12    aaaa    -1    3    -1    0    0    1    x
45    bbbb    2    4    -2    0    0    1    x
45    bbbb    2    4    -2    0    0    1    x
45    bbbb    2    4    -2    0    0    1    x
45    bbbb    2    4    -2    0    0    1    x
56    tttt    0.5    2    -3    0    0    1    x
56    tttt    0.5    2    -3    0    0    1    x
67    hhhh    0.6    1    0    0    0    1    x
67    hhhh    0.6    1    0    0    0    1    x
01    eeee    3    5    -3    0    0    1    x
03    uuuu    4    6    -4    0    0    1    x
98    zzzz    5    7    -5    0    0    1    x
98    zzzz    5    7    -5    0    0    1    x
98    zzzz    5    7    -5    0    0    1    x
98    zzzz    5    7    -5    0    0    1    x
Nesse exemplo o individuo "aaaa" somente estapresente no tempo X24.
Por outro lado, o individuo "bbbb" esta presente em todos os tempos e
o individuo "tttt" esta presente nos tempos X24 e P5. Nestes caso, eu
preciso coloca-los em uma unica coluna. Assim sendo, o exemplo acima
ficaria assim:
ID    Nome    logFC    A    t    P    PV    B    X12    X24    P24
P3    P5
12    aaaa    -1    3    -1    0    0    1    x
45    bbbb    2    4    -2    0    0    1    x    x    x    x
56    tttt    0.5    2    -3    0    0    1    x    x
67    hhhh    0.6    1    0    0    0    1    x    x
01    eeee    3    5    -3    0    0    1    x
03    uuuu    4    6    -4    0    0    1    x
98    zzzz    5    7    -5    0    0    1    x    x    x    x
Voce teria tempo para me ajudar com um script qualquer que fizesse
isso para mim? Nao sei nada de programacao e estou desesperado, pois
preciso disso para logo. Sei que todo mundo é muito ocupado, mas, se
puder ajudar eu fico muito agradecido. Meu arquivo tem 2000 mil
linhas. Tentei fazer na mao mas nao ta dando. Isso é para a minha
defesa que ja esta marcada.
Muito obrigado
Olá,
  O que você quer é agrupar as linhas de tal forma que sejam únicas, é
isso? Se for:

sort arquivo.txt | uniq > resultado.txt

  Com a observação de que será ordenado por ID, no caso...
pelo que eu entendi é bem mais que isso. ele, além de querer agrupar, quer dar um "count" nas ocorrencias, e de acordo com o numero de ocorrencias - que pelo exemplo vão variar de 1 até 4, adicionar um ((count * "\tx") -1) na string . um programeco em shell faria isso. Mas to sem tempo. Algo com while, expr, echo...

Olá,

 Sem drama:

cat resultado.txt | while read linha; do contador=`grep -c "$linha" arquivo.txt`; echo "$contador: $linha"; done

 Agora é com ele! ;)


--
Atenciosamente,

          Junior Polegato

          Um peregrino de problemas; Um pergaminho de soluções!
          Página Profissional: http://www.juniorpolegato.com.br



Reply to: