Foros del Web » Programando para Internet » PHP »

problema con clase

Estas en el tema de problema con clase en el foro de PHP en Foros del Web. Hola a todos, Tengo esta clase (me la descargue) que traduce secuencias de ADN a proteinas. Código PHP: <?php class  BioTranscription {   function  BioTranscription () ...
  #1 (permalink)  
Antiguo 25/06/2005, 22:39
 
Fecha de Ingreso: agosto-2004
Mensajes: 347
Antigüedad: 13 años, 3 meses
Puntos: 3
problema con clase

Hola a todos,

Tengo esta clase (me la descargue) que traduce secuencias de ADN a proteinas.

Código PHP:
<?php
class BioTranscription
{
  function 
BioTranscription()
  {
$this->amino_acids = array('Asp' => array('name' => 'Aspartic acid',
                                                
'shortname' => 'Asp',
                                               ),
                                 
'Glu' => array('name' => 'Glutamic acid',
                                                
'shortname' => 'Glu',
                                               ),
                                 
'Gly' => array('name' => 'Glycine',
                                                
'shortname' => 'Gly',
                                               ),
                                 
'Phe' => array('name' => 'Phenylalanine',
                                                
'shortname' => 'Phe',
                                               ),
                                 
'Leu' => array('name' => 'Leucine',
                                                
'shortname' => 'Leu',
                                               ),
                                 
'Ser' => array('name' => 'Serine',
                                                
'shortname' => 'Ser',
                                               ),
                                 
'Tyr' => array('name' => 'Tyrosine',
                                                
'shortname' => 'Tyr',
                                               ),
                                 
'Cys' => array('name' => 'Cysteine',
                                                
'shortname' => 'Cys',
                                               ),
                                 
'Trp' => array('name' => 'Tryptophan',
                                                
'shortname' => 'Trp',
                                               ),
                                 
'Pro' => array('name' => 'Proline',
                                                
'shortname' => 'Pro',
                                               ),
                                 
'His' => array('name' => 'Histidine',
                                                
'shortname' => 'His',
                                               ),
                                 
'Gln' => array('name' => 'Glutamine',
                                                
'shortname' => 'Gln',
                                               ),
                                 
'Arg' => array('name' => 'Arginine',
                                                
'shortname' => 'Arg',
                                               ),
                                 
'Ils' => array('name' => 'Isoleucine',
                                                
'shortname' => 'Ils',
                                               ),
                                 
'Met' => array('name' => 'Methionine',
                                                
'shortname' => 'Met',
                                               ),
                                 
'Thr' => array('name' => 'Threonine',
                                                
'shortname' => 'Thr',
                                               ),
                                 
'Asn' => array('name' => 'Asparagine',
                                                
'shortname' => 'Asn',
                                               ),
                                 
'Lys' => array('name' => 'Lysine',
                                                
'shortname' => 'Lys',
                                               ),
                                 
'Val' => array('name' => 'Valine',
                                                
'shortname' => 'Val',
                                               ),
                                 
'Ala' => array('name' => 'Alanine',
                                                
'shortname' => 'Ala',
                                               ),
                                );
    
      
$this->codons = array('G' => array('G' => array('G' => &$this->amino_acids['Gly'],
                                                      
'A' => &$this->amino_acids['Gly'],
                                                      
'U' => &$this->amino_acids['Gly'],
                                                      
'C' => &$this->amino_acids['Gly'],
                                                     ),
                                         
'A' => array('G' => &$this->amino_acids['Glu'],
                                                      
'A' => &$this->amino_acids['Glu'],
                                                      
'U' => &$this->amino_acids['Asp'],
                                                      
'C' => &$this->amino_acids['Asp'],
                                                     ),
                                         
'C' => array('G' => &$this->amino_acids['Ala'],
                                                      
'A' => &$this->amino_acids['Ala'],
                                                      
'U' => &$this->amino_acids['Ala'],
                                                      
'C' => &$this->amino_acids['Ala'],
                                                     ),
                                         
'U' => array('G' => &$this->amino_acids['Val'],
                                                      
'A' => &$this->amino_acids['Val'],
                                                      
'U' => &$this->amino_acids['Val'],
                                                      
'C' => &$this->amino_acids['Val'],
                                                     ),
                                        ),
                            
'A' => array('G' => array('G' => &$this->amino_acids
                            
'U' => array('G' => array('G' => &$this->amino_acids['Trp'],
                                                      
'A' => 'stop',
                                                      
'U' => &$this->amino_acids['Cys'],
                                                      
'C' => &$this->amino_acids['Cys'],
                                                     ),
                                         
'A' => array('G' => 'stop',
                                                      
'A' => 'stop',
                                                      
'U' => &$this->amino_acids['Tyr'],
                                                      
'C' => &$this->amino_acids['Tyr'],
                                                     ),
                                         
'C' => array('G' => &$this->amino_acids['Ser'],
                                                      
'A' => &$this->amino_acids['Ser'],
                                                      
'U' => &$this->amino_acids['Ser'],
                                                      
'C' => &$this->amino_acids['Ser'],
                                                     ),
                                         
'U' => array('G' => &$this->amino_acids['Leu'],
                                                      
'A' => &$this->amino_acids['Leu'],
                                                      
'U' => &$this->amino_acids['Phe'],
                                                      
'C' => &$this->amino_acids['Phe'],
                                                     ),
                                        ),
                            
'start' => 'AUG',
                           );
  }
  
  function 
mrna_to_pepchain($mrna)
  {
    
$mrna strstr($mrna$this->codons['start']);
    for(
$i=3;$i<strlen($mrna);$i=$i+3)
    {
      
$j=$i$j++;
      
$k=$i$k=$k+2;
      if( 
$this->codons[$mrna{$i}][$mrna{$j}][$mrna{$k}] == 'stop')
      {
        break;
      }
      
$pep .= $this->triplet_to_pep($mrna{$i}.$mrna{$j}.$mrna{$k}).'-';
    }
    
$pep substr($pep0, -1);
    return 
$pep;
  }
  
  function 
triplet_to_pep($trip)
  {
    return 
$peptide $this->codons[$trip{0}][$trip{1}][$trip{2}]['shortname'];
  }
}
$trans = &new BioTranscription();
$pepchain $trans->mrna_to_pepchain('AUGAAACCCUGA'); //mRNA, from 5' to 3'
print $pepchain//Should print out "Lys-Pro" 

?>
El problema que tengo es que no sé como llamar a esta clase, es decir me gustaria implementar un text area en una página que llamara a esta funcion i que "tradujera" a proteinas la secuencia que se introdujera en el text area.

Un Saludo
  #2 (permalink)  
Antiguo 26/06/2005, 07:59
 
Fecha de Ingreso: agosto-2004
Mensajes: 347
Antigüedad: 13 años, 3 meses
Puntos: 3
Nadie sabe como hacerlo?
  #3 (permalink)  
Antiguo 26/06/2005, 11:31
 
Fecha de Ingreso: agosto-2004
Mensajes: 347
Antigüedad: 13 años, 3 meses
Puntos: 3
lo que hace esta clase es transformar "tripletes" de letras, por ejemplo (AUU) en su correspondiente aminoácido.

Lo que no sé es como llamar a esa clase para que haga lo que quiero
  #4 (permalink)  
Antiguo 27/06/2005, 08:27
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 12 años, 6 meses
Puntos: 2
Cita:
Iniciado por sintesk7
lo que hace esta clase es transformar "tripletes" de letras, por ejemplo (AUU) en su correspondiente aminoácido.

Lo que no sé es como llamar a esa clase para que haga lo que quiero
Bueno lo primero que te voy a recomendar es que leas la documentacion de php sobre el uso de objetos, para que comprendas su sintaxis, luego si descargas una clase aprende a leer el codigo para comprenderla y sepas que puedes hacer con ella. Y lo comento por que preguntas como implementarla, pero es evidente que no sabes como trabajar con objetos, ya que en el codigo que dejaste en este mensaje viene de manera sencilla como se usa la clase, inclusive le pasan una cadena de ejemplo; asi que a esa parte de codigo voy a hacer referencia ya lo que hagas apartir de eso sera hacer tu forma que envie la cadena que tenga que tranformar y devolver el resultado.
Código PHP:
// esta parte d ecodigo es lo que tienes que hacer para
//usar la clase y viene junto con el codigo que pusiste.
$trans = &new BioTranscription();
$pepchain $trans->mrna_to_pepchain('AUGAAACCCUGA'); //mRNA, from 5' to 3'
print $pepchain//Should print out "Lys-Pro" 
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:48.