Ver Mensaje Individual
  #8 (permalink)  
Antiguo 30/05/2014, 09:34
vale_N
 
Fecha de Ingreso: febrero-2014
Mensajes: 17
Antigüedad: 10 años, 2 meses
Puntos: 1
Respuesta: leer columnas de txt

Cita:
Iniciado por Italico76 Ver Mensaje
Pues... sin tocar en nada mi programa :

Código PHP:
Ver original
  1. <?php
  2.  
  3. $file = <<<'FILE'
  4. 1 G 0 2 683 1
  5. 2 G 1 3 682 2
  6. 3 U 2 4 681 3
  7. 4 U 3 5 680 4
  8. 5 C 4 6 679 5
  9. 6 U 5 7 678 6
  10. 7 A 6 8 677 7
  11. 8 C 7 9 676 8
  12. 9 A 8 10 675 9
  13. 10 U 9 11 0 10
  14. 11 A 10 12 0 11
  15. 12 A 11 13 0 12
  16. 13 A 12 14 0 13
  17. 14 U 13 15 0 14
  18. FILE;
  19.  
  20. // matriz bi-diemensional
  21. $regs = array_map(function($reg){return (explode(' ',$reg));},explode("\n",$file));
  22.  
  23. // Ahora supongo me interesa mostrar columnas 1,3 y 5
  24. foreach ($regs as $reg)
  25.     printf("%d | %d | %d \n",$reg[0],$reg[2], $reg[4]);

El resultado es



A proposito que quieres hacer exactamente con esa secuencia de RNA ? quieres generar random primers para una PCR ?

Si lo hago de la siguiente manera
Código:
<?php
 
$file = <<<'FILE'
1 G 0 2 683 1
2 G 1 3 682 2
3 U 2 4 681 3
4 U 3 5 680 4
5 C 4 6 679 5
6 U 5 7 678 6
7 A 6 8 677 7
8 C 7 9 676 8
9 A 8 10 675 9
10 U 9 11 0 10
11 A 10 12 0 11
12 A 11 13 0 12
13 A 12 14 0 13
14 U 13 15 0 14
FILE;
 
// matriz bi-diemensional
$regs = array_map(function($reg){return (explode(' ',$reg));},explode("\n",$file));
 
// Ahora supongo me interesa mostrar columnas 1,3 y 5
foreach ($regs as $reg)
    printf("%d | %d | %d \n<br/>",$reg[0],$reg[2], $reg[4]);
    
?>
Funciona sin problemas, es decir, el resultado es:

1 | 0 | 683
2 | 1 | 682
3 | 2 | 681
4 | 3 | 680
5 | 4 | 679
6 | 5 | 678
7 | 6 | 677
8 | 7 | 676
9 | 8 | 675
10 | 9 | 0
11 | 10 | 0
12 | 11 | 0
13 | 12 | 0
14 | 13 | 0

En cambio, si lo hago con el siguiente código:

Código:
<?php
 
$f = "archivo.txt";
$file = file_get_contents($f);
 
// matriz bi-diemensional
$regs = array_map(function($reg){return (explode(' ',$reg));},explode("\n",$file));
 
// Ahora supongo me interesa mostrar columnas 1,3 y 5
foreach ($regs as $reg)
    printf("%d | %d | %d \n<br/>",$reg[0],$reg[2], $reg[4]);
    
?>
No me funciona bien, es decir, el resultado es:

0 | 683 | 0
0 | 0 | 1
0 | 0 | 2
0 | 0 | 3
0 | 0 | 4
0 | 0 | 5
0 | 0 | 6
0 | 0 | 7
0 | 0 | 8
0 | 0 | 9
0 | 0 | 0
0 | 0 | 0
0 | 0 | 0
0 | 0 | 0
......

El problema es que no puedo escribir en el codigo esa secuencia RNA, porque cada vez se genera una distinta, con distinto tamaño, etc... Sinceramente no se que es lo que pretende mi lab con esas secuencias, simplemente programo lo que me mandan, pero de RNA o biologia se mas bien poco por no decir nada