Manejo de archivos en Perl

Slides:



Advertisements
Presentaciones similares
Archivos de Texto. Introducción Los archivos son una secuencia de bits que se guarda en el disco duro. La ventaja de utilizar archivos es que los datos.
Advertisements

FICHEROS.
Manejo de errores y excepciones
BASE DE DATOS Primeros pasos
Interfaz de Línea de Comando
Te presento a Python Qué es Python? Lenguaje interpretado
Macros en Word.
Tema: Técnicas Básicas Excel (III) Trucos, opciones y personalización de Excel Índice: 1 Vínculos absolutos y relativos, conectando datos de Excel con.
Especialista en Business Intelligence Integration Services SSIS (Sesión 7) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
STEPHANNIE RODRIGUEZ BATUN. La información que necesita en un programa para su función se obtiene mediante una entrada de datos de una fuente que puede.
LABVIEW FILE I/O CLASE 5.
Tema: Funciones en Excel (II) Funciones de Texto
Programación en Lenguaje Ensamblador.
Es el medio que permite enviar mensajes privados a otros usuarios de Internet que se encuentren en cualquier parte del mundo. Para ello, los usuarios.
Planificación de la Información.
PROGRAMACIÓN ORIENTADA A OBJETOS
MENU ARCHIVO.
International Nucleotide Sequence Database Collaboration
Tema 3 Entrada y Salida.
Material de la Prof. Jessie Lema
TRADUCTOR DE UN PROGRAMA
Ingeniero Anyelo Quintero
PROGRAMACION II.  Es un conjunto de datos no necesariamente del mismo tipo, los cuales se podrán manipular o realizar cualquier operación sobre cada.
Como empezar en Access 2000 Abrir Access 2000 Pulsamos INICIO
Eclipse es un entorno integrado de desarrollo, desarrollado principalmente para java pero cuyas funcionalidades pueden extenderse mediante la adición.
DR. ERNESTO SUAREZ.
Administración de Archivos
Inteligencia artificial
Archivos.
PAGINAS DINAMICAS PHP. INTRODUCCION PHP (Profesional Home Pages - Páginas Personales Profesionales) es un lenguaje para la creación de páginas web incrustado.
ANGELA MARMOLEJO CLAUDIA LUCAS EUNICE LARGO MARILUZ CANO.
Informática Ingeniería en Electrónica y Automática Industrial
File Ownerships and Permissions. Propiedades de Archivos regulares y Permisos.
Clase 10: Estructuras de datos y arreglos.
Sistema de archivos Sistemas operativos.
Especialista en Business Intelligence Integration Services SSIS Tareas de Flujo de Control (Parte I) Microsoft SQL Server 2008 R2 Suscribase a
Archivos Programación I MC Beatriz Beltrán Martínez.
Módulo 8: Manejo de Errores y Excepciones
FORMULAS ESTADISTICAS.
INTRODUCCIÓN: El ftp (file transfer protocol) es un protocolo de transferencia de archivos que se usa desde hace mucho tiempo. Al igual que el http (hyper-text.
MICROSOFT EXCEL Excel es una aplicación del tipo hoja de calculo, integrada en el entorno Windows, y desarrollada por Microsoft, en la cual se combinan.
Teoría de Sistemas Operativos Administración de Archivos.
Propiedades de Archivos regulares y Permisos  Linux es un entorno multiusuario  Varias personas pueden estar trabajando al mismo tiempo ◦ Ejemplo 
TEMA 2: SISTEMAS OPERATIVOS. ENTORNO MONOUSUARIO
Comandos de manipulación de Archivos
MICROSOFT OFFICE Power Point.
EXCEL 2010 INTECSA.
NOMBRE: LUIS VIRACOCHA CURSO: 5 B. Uso de la línea de comandos Muchas ordenes de gestión del sistema operativo El entorno de texto, es un sistema muy.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
INSTRUCCIONES. El alumno, seguirá los pasos que se le va indicando a continuación. En el recuadro en blanco, debe ir añadiendo un pantallazo con la.
Comandos internos y externos
File Transfer Protocol.
Unidad 7 Escritorio de Windows.
SHUTTENBORG ACCESS CONOCE LOS PROGRAMAS. Cortés Gamboa Lizzeth
INGENIERIA EN SISTEMAS COMPUTACIONALES ASIGNATURA: PROGRAMACION ORIENTADA A OBJETOS ALUMNO: JAVIER MARTINEZ MARTINEZ.
Práctica Profesional PHP.
1
POWER POINT.  Contiene fichas y las fichas y cada una contiene varios grupos.
Elementos básicos de la ventana
Instituto Tecnológico Superior de Libres Ingeniería en Sistemas Computacionales Segundo semestre Materia: Programación Orientada a Objetos Asesora: Ing.
¿Cómo programar un Botón para agregar registros a una base de datos?
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Lección 6 Cadena de Caracteres (Strings) y Manejo de archivos (File I/O)
Visual Basic Prof.: Carol Briones García. Uso de Archivos  Definición  Es un conjunto de información que se almacena en algún medio de escritura que.
 DIANA GARCIA VALERIO. CONCEPTO DE FLUJO DE JAVA:  La información que necesita un programa para su función se obtiene mediante una entrada de datos.
Archivos. Introducción Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos.
Manejo de archivos de texto.  Unidad fundamental de almacenamiento dentro del ámbito de la informática. Alberga un conjunto de datos que es posible leer,
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí.
Curso de Excel Básico Sesión 1 1. Microsoft Excel es un programa utilizado para la creación, manejo y almacenamiento de hojas de cálculo. Permite realizar.
Transcripción de la presentación:

Manejo de archivos en Perl

Tipos de archivo: Archivos de texto es una secuencia de líneas de caracteres, cada línea de caracteres es separada por marcas de fin de línea, los caracteres son todos aquellos que están incluidos en el código ASCII. Archivo binario codificada en forma binaria para el propósitos de almacenamiento

Acceso a archivos en Perl. Para que Perl pueda manipular un archivo utiliza lo que es denominado "filehandle”, “manejador” ó “file descriptor", este "filehandle" es una referencia hacia el archivo en cuestión. Programa en PERL Archivo de DATOS S.O.

Formas de acceder a archivos: Escritura Agregar Lectura

Sintaxis apertura de archivos: open(MANEJADOR, "modo de acceso + nombre de archivo"); El manejador es el nombre de la conexión entre el programa En Perl y el exterior. Cuando necesitemos acceder al exterior lo haremos a través del manejador dentro del programa. > Permite crear un archivo nuevo e insertar datos >> Permite abrir un archivo para anexar datos. < Permite abrir un archivo para lectura (predeterminado si no utilizamos modo de acceso)

Ejemplos apertura de archivos Apertura para crear archivo: Open(ARCHIVO, ”> resultados.txt"); Apertura para leer archivo: Open(ARCHIVO, ”<resultados.txt"); Open(ARCHIVO, ”resultados.txt"); Para anexar datos: Open(ARCHIVO, ”>>resultados.txt");

Ejemplo para crear un archivo nuevo llamado llamado datos.dat : open(ARCH, ”>datos.dat"); Si existe un archivo con el mismo nombre en el directorio donde se va a crear el archivo, el contenido de ese archivo se borrara y no será posible su recuperación.

open(ARCH, ”>datos.dat"); Sintaxis para agregar datos : print MANEJADOR “ texto a agregar al archivo”; Ejemplo: print ARCH“agregando linea \n”; ARCH

Al final de la utilización el archivo se cierra mediante el operador close. Sintaxis: close (MANEJADOR); Ejemplo completo: #!/usr/bin/perl #ejem-4-01.pl open (ARCH,">datos.dat"); print "Ejemplo de escritura en archivo\n"; print ARCH "Esta es la primera linea agregada al archivo \n"; print ARCH "Esta es la primera segunda agregada archivo \n"; close (ARCH);

Ejemplo para leer el archivo recien creado llamado datos.dat : open(ARCH, ”<datos.dat"); open(ARCH, ”datos.dat"); ARCH Una vez iniciado el archivo mediante la rutina open, el “manejador” de archivos permite acceder a los datos mediante el operador <>. Sintaxis: <MANEJADOR>; $linea_leida=<ARCH>;

Ejemplo completo: #!/usr/bin/perl #ejem-4-02.pl open (ARCH,"datos.dat"); print "Ejemplo de lectura de archivos\n"; $linea=<ARCH>; print "LINEA 1 : $linea \n"; print "LINEA 2: $linea \n"; close (ARCH);

Ejemplo para agregar datos a un archivo existente creado anteriormente datos.dat : open(ARCH, ”>>datos.dat"); Agregar

Ejemplo completo: #!/usr/bin/perl #ejem-4-03.pl open (ARCH,">>datos.dat"); print "Ejemplo agregando datos a un en archivo\n"; print ARCH "Vamos a agregar una lina mas \n"; print ARCH "Agregamos otra y cerramos el archivo \n"; close (ARCH);

¿Que pasa si el archivo no existe? !/usr/bin/perl #ejem-4-02.pl open (ARCH,"datos1.dat"); print "Ejemplo de lectura de archivos\n"; $linea=<ARCH>; print "Primera linea leida : $linea \n"; print "Segunda linea leida : $linea \n"; close (ARCH);

Operadores de Archivo: estos operadores se emplean para verificar en el sistema operativo los permisos de un archivo, o su naturaleza de ejecución, etc. A continuación se muestra los diferentes operadores: -r : indica si el archivo tiene permiso de lectura. -W : indica si el archivo tiene permiso de escritura. -T : indica si el archivo es de tipo texto. -e : indica si el archivo existe. -z : indica si el archivo tiene tamaño 0. -s : indica si el archivo es mayor que 0. -f : indica si el archivo es plano. -d : indica si se trata de un directorio. -M : indica el número dias después de la última modificación -B : indica si el archivo es binario. -t : indica si el archivo esta abierto en un terminal.

Ejemplo de apertura de archivo usando operadores: #!/usr/bin/perl #ejem-4-04.pl $nom_arch="datos.dat"; if (-e "$nom_arch"){ open (ARCH,$nom_arch); print "Ejemplo de lectura de archivos\n"; $linea=<ARCH>; print "LINEA 1 : $linea \n"; print "LINEA 2: $linea \n"; close (ARCH); }else{ print "No existe el archivo $nom_arch\n"; }

Ejemplo de apertura de archivo usando operadores: #!/usr/bin/perl #ejem-4-05.pl $nom_arch="datos.dat"; if (-e "$nom_arch"){ if (-r $nom_arch){ open (ARCH,$nom_arch); print "Ejemplo de lectura de archivos\n"; $linea=<ARCH>; print "LINEA 1 : $linea \n"; print "LINEA 2: $linea \n"; close (ARCH); }else{ print "El archivo $nom_arch si existe pero no tiene permisos de lectura \n"; }#fin if print "No existe el archivo \n"; }#fin otro if

die Toma como argumento una cadena y sale Otra forma común de terminar un programa al producirse un error al abrir el archivo es mediante la función die, die Toma como argumento una cadena y sale inmediatamente del programa viendo esta cadena como mensaje de error. Ejemplo para salir del programa enviando Un mensaje de error se utilizaría como sigue : open(ARCH, ”>datos.dat")||die “no puedo abrir archivo”;

Ejemplo de apertura de archivo utilizando die: #!/usr/bin/perl #ejem-4-06.pl open (ARCH,"datos.dat")||die "no puedo abrir archivo datos.dat"; print "Ejemplo de lectura de archivos\n"; $linea=<ARCH>; print "LINEA 1 : $linea \n"; print "LINEA 2: $linea \n"; close (ARCH);

Lectura secuencial de un archivo mediante la estructura de control while: #!/usr/bin/perl #ejem-4-07.pl $nom_arch="datos.dat"; open (ARCH,"$nom_arch")||die "No puedo abrir archivo $nom_arch\n"; print "Ejemplo de lectura de archivos\n"; while($linea=<ARCH>){ chomp $linea; print "LINEA : $linea \n"; } close (ARCH);

Lectura secuencial de un archivo mediante la estructura de control foreach: #!/usr/bin/perl #ejem-4-08.pl $nom_arch="datos.dat"; open (ARCH,"$nom_arch")||die "No puedo abrir archivo $nom_arch\n"; @lista=<ARCH>; print "Ejemplo de lectura de archivos\n\n"; print "Primero imprimimos lista completa\n"; print "@lista"; print "\nAhora recorremos la lista \n\n"; foreach $linea (@lista){ chomp $linea; print "LINEA : $linea \n"; } close (ARCH);

Este es un archivo de texto solo Utilizado para Demostrar como $linea=<ARCH>; Este es un archivo de texto solo Utilizado para Demostrar como Funciona de mal El power point De micosoft Valor de $linea

Este es un archivo de texto solo Utilizado para Demostrar como $linea=<ARCH>; Este es un archivo de texto solo Utilizado para Demostrar como Funciona de mal El pouer point De micosoft Valor de $linea “Este es un archivo”

Este es un archivo de texto solo Utilizado para Demostrar como $linea=<ARCH>; Este es un archivo de texto solo Utilizado para Demostrar como Funciona de mal El pouer point De micosoft Valor de $linea “de texto solo”

Este es un archivo de texto solo Utilizado para Demostrar como $linea=<ARCH>; Este es un archivo de texto solo Utilizado para Demostrar como Funciona de mal El pouer point De micosoft Valor de $linea “Utilizado para”

Este es un archivo de texto solo Utilizado para Demostrar como $linea=<ARCH>; Este es un archivo de texto solo Utilizado para Demostrar como Funciona de mal El pouer point De micosoft Valor de $linea “Demostrar como”

Este es un archivo de texto solo Utilizado para Demostrar como $linea=<ARCH>; Este es un archivo de texto solo Utilizado para Demostrar como Funciona de mal El pouer point De micosoft Valor de $linea “Funciona de mal”

Este es un archivo de texto solo Utilizado para Demostrar como $linea=<ARCH>; Este es un archivo de texto solo Utilizado para Demostrar como Funciona de mal El pouer point De micosoft Valor de $linea “El pouer point”

Este es un archivo de texto solo Utilizado para Demostrar como $linea=<ARCH>; Este es un archivo de texto solo Utilizado para Demostrar como Funciona de mal El pouer point De micosoft Valor de $linea “De micosoft”

Ejercicio 1: Leer 10 nombres del teclado y grabarlos en un archivo de texto. Ejercicio 2: Leer el archivo de texto generado anteriormente Ejercicio 3: Leer 5 nombres del teclado y anexarlos al archivo generado anteriormente.

# Abrir una consola y ejecutar los siguientes comandos: * ftp * open ftp.ncbi.nih.gov # Como login, usar "anonymous" # Como password, usar su direccion de correo # Entraremos en el directrio raiz del servidor FTP del NCBI. # Seguimos ejecutando comandos: * ls (para hacer un listado) * cd genomes * cd Bacteria * ls * get README (para bajarnos un fichero con información sobre el directorio) * cd Nombre_bacteria_descargar # Aparecen varios ficheros, cuyos nombres contienen el número de acceso del genoma NC_000???. * get NC_000???.gbk (para bajarse la entrada completa en formato GenBank). * get NC_000???.fna (para bajarse la secuencia en formato FASTA). * get NC_000???.ptt (para bajarse una tabla con las coordenadas de todas las ORFs, la Protein Translation Table). * get NC_000???.faa (para bajarse un fichero con la traducción de todas las ORFs, en formato FASTA). # bye (para cerrar la conexion) # Los ficheros que nos hemos bajado debieran estar en nuestro directorio personal y estar en formato texto

Mediante un navegador, en la barra de direcciones colocar la direccion del servidor de ftp de NCBI : ftp://ftp.ncbi.nih.gov Ingresar en ->genomas ->Bacteria ->Escherichia_coli_K12 Descargar : NC_000913.faa (Genes traducidos) NC_000913.gbk (Genoma con anotaciones)

Ejemplo extraer la secuencia de nucleótidos Del genoma de Ecoli_k12: #!/usr/bin/perl #ejem-4-09.pl open (ARCH,"Ecoli_k12.gbk")||die "No puedo abrir archivo \n"; open (ARCHSAL,">Ecoli_k12.genoma")||die "No puedo generar Ecoli_k12.genoma\n"; $bandera=0; while ($linea=<ARCH>){ if($linea =~ "ORIGIN"){ $bandera=1; } if($bandera==1){ print "$linea"; print ARCHSAL "$linea"; close (ARCH); close (ARCHSAL)

Ejercicio : Modificar el programa anterior para que extraiga en una sola cadena el genoma completo de E_coli_k12

Ejemplo extraer la secuencia de nucleótidos Del genoma de Ecoli_k12: #eje_4_09-2.pl open (ARCH,"Ecoli_k12.gbk")||die "No puedo abrir archivo \n"; open (ARCHSAL,">Ecoli_k12.genoma")||die "No puedo generar Ecoli_k12.genoma\n"; $bandera=0; while ($linea=<ARCH>){ if($linea =~ "ORIGIN"){ $bandera=1; } if($bandera==1){ print "$linea"; @arr=split (/\s+/,$linea); print "@arr"; if (!($linea =~ "ORIGIN")){ print ARCHSAL "$arr[2]$arr[3]$arr[4]$arr[5]$arr[6]$arr[7]"; close (ARCH);

Ejemplo leer un archivo en formato fasta, obtener Contenido de GCs de cada secuencia: Un archivo en formato fasta consiste en líneas que inician con el símbolo “>” seguidas por la descripción de la secuencia, las siguientes líneas contienen la secuencia de nucleótidos o aminoácidos, así sucesivamente con las siguientes descripciones y secuencias. Un ejemplo de formato fasta seria: >Nombre de la secuencia Gcgagcgcgccgaggtgtgcacgcatgtagcatgctagctgtcgagagcactgacgtacgtacgtag Ccggccgagatcaggcgatgcatgcgcagggagcagcgagcgacgagcacagcatgctagctagat gcatgctacgtaggcagccgccgagagacgatggagctgc

Ejemplo : Del archivo fasta del genoma de Ecoli_k12 que contiene los genes traducidos, extraer la descripción de los genes. #!/usr/bin/perl #ejem-4-10.pl open (ARCH,"Ecoli_k12.faa")||die "No puedo abrir archivo Ecoli_k12.faa\n"; while ($linea=<ARCH>){ if($linea =~ ">"){ print "$linea"; } close (ARCH); print "Total de genes $cont \n";

Ejercicio para desarrollar en clase: Modifique el ejemplo anterior para que se impriman todos los genes con función hipotética (predicted ), cuente en total cuantos son.

#!/usr/bin/perl #ejem-4-10-2.pl open (ARCH,"Ecoli_k12.faa")||die "No puedo abrir archivo Ecoli_k12.faa\n"; while ($linea=<ARCH>){ if(($linea =~ ">")&&($linea =~ "predicted")){ print "$linea"; } close (ARCH); print "Total de genes $cont \n";

Mediante el uso del programa blastn, se realizó la busqueda de la secuencia del gen nagB (Glucosa-6-fosfato-deaminasa) el resultado se presenta en el archivo anexo; obtener las 5 proteínas con evalue mas alto (las 5 mas parecidas).

#ejem-4-12.pl $nomarch="blastnnagb.txt"; open(ARCH,"$nomarch")||die "No puedo abrir archivo $nomarch\n"; $flag=0; $cont=0; while($linea=<ARCH>){ if($linea =~ "Sequences producing significant alignments:"){ $flag=1; $linea=<ARCH>; } if ( ($flag==1)and (cont<=5)){ push (@lista,$linea); $cont++; if($cont==5){ close (ARCH); print "Los elementos con evalue mas altos son:\n"; foreach $elemento (@lista){ print "$elemento ";

Tarea Desarrolle un programa que del archivo fasta del genoma de Ecoli_k12 obtenga el total de aminoácidos por gen, y guarde en otro archivo el gi (identificador del gen) , total de aminoácidos, así como también calcule el promedio de aminoácidos por gen del genoma completo.

#!/usr/bin/perl #ejem-4-12.pl $nomarch="blastnnagb.txt"; open(ARCH,"$nomarch")||die "No puedo abrir archivo $nomarch\n"; $flag=0; $cont=0; while($linea=<ARCH>){ if($linea =~ "Sequences producing significant alignments:"){ $flag=1; $linea=<ARCH>; } if ( ($flag==1)and (cont<=5)){ push (@lista,$linea); $cont++; if($cont==5){ close (ARCH); print "Los elementos con evalue mas altos son:\n"; foreach $elemento (@lista){ print "$elemento ";

Ejercicio acerca del blast 1: Modificar el ejemplo anterior para obtener las Proteínas mas parecidas que no pertenezcan al genoma de Ecoli Ejercicio acerca del blast 2: Modificar el ejemplo anterior para obtener las proteínas con un evalue entre 6e-74 y 2e-42 que no Pertenezcan al genoma de Ecoli