Página 2 de 2 PrimeiroPrimeiro 12
Resultados 11 a 14 de 14
  1. #11
    Newbie
    Data de Ingresso
    Jan 2012
    Posts
    70


    tipo eu tenho essa matriz em um arquivo


    15
    24 29
    8 15 28

    uma matriz diagonal


    dai tenho que deixa-la assim

    0 , 15 , 24 , 8
    15 , 0 , 29 , 15
    24 , 29 , 0 , 28
    8 . 15 , 28 , 0

    tipo o 0 eh a diagonal principal

  2. #12
    Hacker Avatar de acpguedes
    Data de Ingresso
    Sep 2011
    Localização
    #!/usr/bin/env perl
    Posts
    955
    cara, juro pra você que não entendo nada do que vc fala!!

    essa ultima coisa ai boiei totalmente, pra que você quer montar uma matriz??? e quais parametros dela??

    o que você que lah no começo é uma pura orientação a objetos, e isso não é facil

    tera que determinar cada uma das familias, pra poder orientar

    algo do tipo

    Código PHP:
    my @familias = <DATA>;

    __DATA__
    A
    B
    C

    agora você ja tem que

    Código PHP:
    $familias[0] = "A";

    $familias[1] = "B"
    e assim vai

    entenda que esse formato de arquivo tem que ser quebrado
    Código PHP:
    15 
    24 29 
    8 15 28 
    quando você fizer

    Código PHP:
    my @distancia = <DATA>

    __DATA__
    15 
    24 29 
    8 15 28 
    você tera

    Código PHP:
    $distancia[0] = "15";
    $distancia[1] = "24 29";
    $distancia[2] = "8 15 28"
    dai você pode ate fazer algo do tipo BEM POG como isso, mas da certo

    Código PHP:
    my $num = @distancia;

    for (
    my $i 0$i <= $num -1$i++){  #incrementa
    my @linha split (/ /, $distancia[$i]);
    sub rotina {
    #não sei como, ainda não pensei
    #mas tente associar o @linha com o @familia, aqui
    #de forma bem planejada
    #para dar certo
    #é apenas questão de posição
    #você tah trabalhando com posição de dados, aqui
    }
    print 
    sub

    eu penso que seja algo assim
    So respondo se a consiencia perguntar!!!
    Não Respondo MP's de perguntas, as faça em um tópico!

    Perl User, Bioinformatcs Programmer!

  3. #13
    Newbie
    Data de Ingresso
    Jan 2012
    Posts
    70
    ó vo explica de uma forma mais clara, ve se vc entende, eh assim

    >A
    >B
    >C
    >D
    > h 4
    15
    24 29
    8 15 28

    tudo que estiver em > são familias de RNA (exceto a linha que contem > h 4, que eh o numero de estruturas que tem)

    os numero logo abaixo (eh uma matriz que representa as distancias entre essas estruturas, e para mim obter essas distancias eu usei o RNAdistance que me gerou saida acima)...

    a primeira linha da matriz mostra a distancia de

    B-A = 15 , pois a comparação começa na linha 2
    C-A = 24 ,
    C-B = 29
    D-A = 8
    D-B = 15
    D-C = 28

    entende como faz o processo de distancia dos termos? observa que nessa matriz eu tenho informações da distancia de todos contra - todos, mas nao consigo usar o perl para fazer isso...tipo se eu conseguisse uma forma de montar um matriz igual com o outro lado prenchido seria mais fácil, tipo assim:

    0 15 24 8
    15 0 29 1524 29 0 28
    8 15 28 0

    entendem? rs... tipo o 0 eh a distancia distancia entre o mesmo termo, onde sendo o mesmo termo eh 0..

    tipo como faço para criar essa matriz?

  4. #14
    Hacker Avatar de acpguedes
    Data de Ingresso
    Sep 2011
    Localização
    #!/usr/bin/env perl
    Posts
    955
    cara, pois é, acho que esse zero ai não seria necessario
    não precisa montar uma matriz diagonal...

    é uma questão de associação dos termo

    primeiro você temque fazer
    Código PHP:
    $familia[1] = $distancia[0];
    #entendeu?? $familia[1] no meu outro post é o B 
    eu ainda nãosei bem como fazer isso, mas você entende que a
    familia B é dona de tudo que tiver na primeira linha

    depois usa-se um split e quebra tudo que estiver separado por um espaço na primeira linha
    assim você tem acesso a todas colunas

    Código PHP:
    my @colunas split (/ /, $familia[1]); 
    agora sim

    Código PHP:
    $colunas[0] = $familia[0]; 
    logo

    [PHP]

    if (($familia[$i] != $familia[$i++]) && ($distancia[$i-1])){
    print $coluna[$i++];
    }

    talvez eu tenha defecado pelos dedos, mas se vc pelomenos entendeu a logica é um grande passo

    pq eu n entendi a logica... hahaha
    So respondo se a consiencia perguntar!!!
    Não Respondo MP's de perguntas, as faça em um tópico!

    Perl User, Bioinformatcs Programmer!

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •