BioPython. Andrea Passerini Informatica. BioPython
|
|
- Amerigo Boni
- 8 anni fa
- Visualizzazioni
Transcript
1 Andrea Passerini Informatica
2 Descrizione Il progetto è un associazione di sviluppatori di codice Python liberamente disponibile per bioinformatica La homepage del progetto è Il codice viene fornito come una serie di librerie Python Le librerie forniscono tra l altro: oggetti sequenza specificatamente sviluppati per sequenze biologiche funzioni di parsing di formati di file comunemente usati in bioinformatica funzioni per l allineamento di sequenze funzioni di interfacciamento ai principali database bioinformatici online Vedremo alcuni esempi delle funzionalità di. Altri probabilmente li scoprirete durante il corso di studi
3 Installazione può essere facilmente scaricato ed installato a partire dalla homepage del progetto Per distribuzioni Debian-like (tipo Ubuntu), è installabile semplicemente con: sudo apt-get install python-biopython E utile installare anche la documentazione: sudo apt-get install python-biopython-doc
4 Oggetti Sequenze La sequenza è uno degli elementi centrali della bioinformatica Esistono vari tipi di sequenze: DNA, RNA, proteine, etc Ogni tipo ha il suo alfabeto di riferimento, e metodi specifici, nonché metodi per la conversione da un tipo all altro (trascrizione, traduzione) fornisce un oggetto Seq che implementa tutti questi tipi di sequenza L oggetto è definito nel modulo Bio.Seq
5 Sequenze Oggetto Seq Una sequenza generica si crea con: >>> from Bio.Seq import Seq >>> s = Seq("ACCGTTTAAC") >>> s Seq( ACCGTTTAAC, Alphabet()) Ad un oggetto sequenza è associato un alfabeto, che dipende dal tipo di sequenza in questione. Se non specificato, si usa un alfabeto generico
6 Sequenze Alfabeti Specificare l alfabeto di una sequenza permette di utilizzare i metodi specifici del tipo di sequenza (e.g. la stringa complemento del DNA) Gli alfabeti sono definiti nel modulo Bio.Alphabet.IUPAC Per creare una sequenza con uno specifico alfabeto, lo si scrive come secondo argomento: >>> from Bio.Seq import Seq >>> from Bio.Alphabet import IUPAC >>> s = Seq("ACCGTTTAAC",... IUPAC.unambiguous_dna) >>> s Seq( ACCGTTTAAC, IUPACUnambiguousDNA())
7 Sequenze Alfabeti Gli alfabeti di base definiti nel modulo IUPAC : IUPAC.unambiguous dna una sequenza di DNA completamente specificata IUPAC.unambiguous rna una sequenza di RNA completamente specificata IUPAC.protein una sequenza proteica
8 Sequenze Oggetti di tipo sequenza Le sequenze sono estensioni delle stringhe Python, con una serie di attributi e metodi specifici Sono quindi manipolabili con gli operatori definiti per le stringhe: >>> from Bio.Seq import Seq >>> s = Seq("ACCGTTTAAC") >>> len(s) 10 >>> s[9] C >>> s[1:3] # sottosequenza Seq( CC, Alphabet())
9 Sequenze Oggetti immutabili Come le stringhe Python, le sequenze sono oggetti immutabili >>> from Bio.Seq import Seq >>> s = Seq("ACCGTTTAAC") >>> s[9] = G Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: Seq instance has no attribute setitem
10 Sequenze Somma di sequenze Alcuni operatori sono soggetti a restrizioni dovute al tipo di sequenza Ad esempio è possibile sommare sequenze dello stesso tipo o di tipo generico >>> s Seq( ACCGTTTAAC, Alphabet()) >>> s2 = Seq( AAACCCGATTA ) >>> s + s2 Seq( ACCGTTTAACAAACCCGATTA, Alphabet())
11 Sequenze Somma di sequenze Ma sommare sequenze di tipo diverso non generico genera un errore >>> s = Seq( AAACCCGATTA, IUPAC.unambiguous_dna) >>> s2 = Seq( AAADGHHHTEWW, IUPAC.protein) >>> s + s2 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/var/lib/python-support/python2.5/bio/seq.py" line 64, in add str(other.alphabet)) TypeError: ( incompatable alphabets, IUPACUnambiguousDNA(), IUPACProtein() )
12 Sequenze Conversioni E sempre possibile ottenere una stringa Python da una sequenza, con il metodo tostring(): >>> s = Seq( AAACCCGATTA, IUPAC.unambiguous_dna) >>> s.tostring() AAACCCGATTA
13 Sequenze Mutabilità fornisce anche oggetti sequenza MutableSeq di tipo mutabile E possibile generare una sequenza mutabile da una immutabile con il metodo tomutable() >>> sm = s.tomutable() >>> sm MutableSeq(array( c, AAACCCGATTA ), IUPACUnambiguousDNA()) >>> sm[2] = G >>> sm MutableSeq(array( c, AAGCCCGATTA ), IUPACUnambiguousDNA())
14 Metodi specifici del tipo Complementazione Nel caso di DNA ed RNA, è utile l operazione di complementazione che rende la sequenza complementare Tale operazione è fornita dal metodo complement >>> s = Seq( CCGTTAAAAC,... IUPAC.unambiguous_dna) >>> s.complement() Seq( GGCAATTTTG, IUPACUnambiguousDNA()) Il reverse complement fornisce il complemento della sequenza letta da destra verso sinistra >>> r = Seq( AAACCCGAUUA,... IUPAC.unambiguous_rna) >>> r.reverse_complement() Seq( UAAUCGGGUUU, IUPACUnambiguousRNA())
15 Metodi specifici del tipo Trascrizione La trascrizione è l operazione con cui una stringa di DNA viene trascritta nel corrispondente RNA In, tale operazione viene eseguita da un oggetto di tipo Transcribe, definito nel modulo Bio.Transcribe L oggetto possiede un metodo transcribe che effettua la trascrizione di una sequenza di DNA fornita come argomento, e restituisce in uscita la corrispondente sequenza di RNA
16 Metodi specifici del tipo Trascrizione Esempio >>> s = Seq( CCGTTAAAAC,... IUPAC.unambiguous_dna) >>> from Bio import Transcribe >>> t = Transcribe.unambiguous_transcriber >>> r = t.transcribe(s) >>> r Seq( CCGUUAAAAC, IUPACUnambiguousRNA()) E possibile eseguire l operazione inversa tramite il metodo back transcribe >>> t.back_transcribe(r) Seq( CCGTTAAAAC, IUPACUnambiguousDNA())
17 Metodi specifici del tipo Traduzione La traduzione è l operazione con cui una stringa di RNA (messaggero) viene tradotta in una sequenza proteica In, tale operazione viene eseguita da un oggetto di tipo Translate, definito nel modulo Bio.Translate La traduzione si basa su una tabella di traduzione che associa triplette di DNA (e quindi corrispettivo RNA) a singoli aminoacidi. Esistono tabelle diverse a seconda del tipo di DNA in questione (oltre al DNA della cellula, anche alcuni organelli quali i mitcondri hanno un DNA proprio)
18 Metodi specifici del tipo Traduzione Nel creare un oggetto Translate, si specifica la tabella di traduzione da associarvi. La tabella standard (relativa alla cellula) ha id 1: >>> from Bio import Translate >>> t = Translate.unambiguous_dna_by_id[1] Il metodo translate traduce una sequenza di DNA fornita come argomento, e restituisce in uscita la corrispondente sequenza di amino acidi >>> s = Seq("GCCATTGTAATGGGCCGCTGAAAGGG",... IUPAC.unambiguous_dna) >>> t.translate(s) Seq( AIVMGR*KG, HasStopCodon(IUPACProtein(), * ))
19 Metodi specifici del tipo Traduzione Il tipo della sequenza risultante specifica che è una proteina con un codone di terminazione Questo significa che nel tradurre il DNA, il traduttore ha trovato una tripletta che corrisponde ad un codice di fine traduzione (e lo ha convertito in * ) Il codice di fine traduzione serve a decidere quando interrompere la traduzione di un pezzo di DNA In questo caso, evidentemente il DNA contiene dei nucleotidi aggiuntivi oltre la fine della proteina Per tradurre una sequenza solo fino al codone di terminazione (se presente) si usa il metodo translate to stop: >>> t.translate_to_stop(s) Seq( AIVMGR, IUPACProtein())
20 Input ouput Parsing di file Le sequenze biologiche vengono tipicamente scritte su file di testo arricchiti con annotazioni ed informazioni varie. Esistono vari formati di file di sequenze biologiche (ed altro materiale in biologia computazionale), tipicamente a seconda dell entità che ha stabilito il formato e creato il database, e del tipo di informazioni in esso contenute. Le sequenze biologiche recuperabili dai grandi database disponibili online sono fornite in uno di questi formati, e riuscire a maneggiarli è indispensabile per poter lavorare con tali sequenze.
21 Formati comuni fasta è un formato molto semplice per scrivere elenchi di sequenze, ciascuna con una sua intestazione (preceduta da >). Utilizzato come formato di ingresso da molti programmi per analisi di sequenze, allineamento etc >sp P25730 FMS1_ECOLI CS1 fimbrial subunit A precursor (CS1 pilin) MKLKKTIGAMALATLFATMGASAVEKTISVTASVDPTVDLLQSDGSALPNSVALTYSPAV NNFEAHTINTVVHTNDSDKGVVVKLSADPVLSNVLNPTLQIPVSVNFAGKPLSTTGITID SNDLNFASSGVNKVSSTQKLSIHADATRVTGGALTAGQYQGLVSIILTKST >sp P15488 FMS3_ECOLI CS3 fimbrial subunit A precursor (CS3 pilin) MLKIKYLLIGLSLSAMSSYSLAAAGPTLTKELALNVLSPAALDATWAPQDNLTLSNTGVS NTLVGVLTLSNTSIDTVSIASTNVSDTSKNGTVTFAHETNNSASFATTISTDNANITLDK NAGNTIVKTTNGSQLPTNLPLKFITTEGNEHLVSGNYRANITITSTIK >sp P33781 FMS5_ECOLI CS5 fimbrial subunit precursor (CS5 pilin) MKKNLLITSVLAMATVSGSVLAAVTNGQLTFNWQGVVPSAPVTQSSWAFVNGLDIPFTPG TEQLNITLDSNKDITARSVKPYDFFIVPVSGNVTPGAPVTRDTSANINSVNAFLSSVPVS NGFVGNKQLTLSTAVEAAKGEVAITLNGQALKVGSASPTVVTVASNKKESHISIDMNAKA
22 Formati comuni genbank è un formato più ricco, che contiene campi appositi per vari tipi di annotazioni, quali l organismo in cui la sequenza si trova, i riferimenti bibliografici ad essa relativi, etc. E associato al database omonimo, che è il principale deposito di sequenze genomiche annotate LOCUS SCU bp DNA PLN 21-JUN-1999 DEFINITION Saccharomyces cerevisiae TCP1-beta gene, partial cds, and Axl2p (AXL2) and Rev7p (REV7) genes, complete cds. ACCESSION U49845 VERSION U GI: KEYWORDS. SOURCE Saccharomyces cerevisiae (baker s yeast) ORGANISM Saccharomyces cerevisiae Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Saccharomyces. REFERENCE 1 (bases 1 to 5028) AUTHORS Torpey,L.E., Gibbs,P.E., Nelson,J. and Lawrence,C.W. TITLE Cloning and sequence of REV7, a gene whose function is required for DNA damage-induced mutagenesis in Saccharomyces cerevisiae JOURNAL Yeast 10 (11), (1994) PUBMED FEATURES Location/Qualifiers source /organism="saccharomyces cerevisiae"
23 Formati comuni swiss è il formato del database UniProt (ottenuto combinando Swiss-Prot, TrEMBL and PIR). E il corrispettivo di GenBank per le proteine: il più grande database di sequenze proteiche annotate ID 143B_HUMAN STANDARD; PRT; 245 AA. AC P31946; DT 01-JUL-1993 (Rel. 26, Created) DT 01-FEB-1996 (Rel. 33, Last sequence update) DT 15-SEP-2003 (Rel. 42, Last annotation update) DE protein beta/alpha (Protein kinase C inhibitor protein-1) DE (KCIP-1) (Protein 1054). GN YWHAB. OS Homo sapiens (Human). OC Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; OC Mammalia; Eutheria; Primates; Catarrhini; Hominidae; Homo. OX NCBI_TaxID=9606; RN [1] RP SEQUENCE FROM N.A. RC TISSUE=Keratinocytes; RX MEDLINE= ; PubMed= ; RA Leffers H., Madsen P., Rasmussen H.H., Honore B., Andersen A.H., RA Walbum E., Vandekerckhove J., Celis J.E.; RT "Molecular cloning and expression of the transformation sensitive RT epithelial marker stratifin. A member of a protein family that has RT been involved in the protein kinase C signalling pathway.";
24 Input Parsing Le funzioni di input output sono fornite nel modulo Bio.SeqIO In particolare la funzione parse prende come ingresso un oggetto file e una stringa che indica il formato, e fornisce in uscita un oggetto iterabile L oggetto fornito itera sui record del file, dove un record tipicamente corrisponde alle informazioni relative ad una sequenza i record letti dal file vengono memorizzati in oggetti SeqRecord, compresivi di tutte le annotazioni from Bio import SeqIO f = open("sp.fasta") for seq_record in SeqIO.parse(f, "fasta") : print seq_record.id print seq_record.seq
25 Input Oggetto SeqRecord L oggetto SeqRecord contiene una serie di attributi (la maggior parte opzionali) relativi alla sequenza che rappresenta. I principali: seq la sequenza stessa, come oggetto Seq (obbligatorio) id l id della sequenza, tipicamento usato per riferirvisi, recuperarla da dizionari, etc. name il nome della sequenza, più comprensibile dell id description una descrizione testuale delle caratteristiche della sequenza
26 Input Oggetto SeqRecord: esempio >>> from Bio import SeqIO >>> f = open("sp.fasta") >>> rec = SeqIO.parse(f,"fasta").next() >>> rec SeqRecord(seq=Seq( MKLKKTIGAMALATLFATMGASAVEKTISVT ASVDPTVDLLQSDGSALPNSVALTYSPAVNNFEAHTINTVVHTNDSDKGV VVKLSADPVLSNVLNPTLQIPVSVNFAGKPLSTTGITIDSNDLNFASSGV NKVSSTQKLSIHADATRVTGGALTAGQYQGLVSIILTKST, SingleLetterAlphabet()), id= sp P25730 FMS1_ECOLI, name= sp P25730 FMS1_ECOLI, description= sp P FMS1_ECOLI CS1 fimbrial subunit A precursor (CS1 pilin) - Escherichia coli, and Escherichia coli O6., dbxrefs=[]) >>> rec.id sp P25730 FMS1_ECOLI >>> rec.name sp P25730 FMS1_ECOLI
27 Input Oggetto SeqRecord: esempio >>> from Bio import SeqIO >>> f = open("data.genbank") >>> rec = SeqIO.parse(f, "genbank").next() >>> rec SeqRecord(seq=Seq( GATCCTCCATATACAACGGTATCTCCACCTC AGGTTTAGATCTCAACAACGGAACCATTGCCGACATGAGACAGTTAGGTA TCGTCGAGAGTTACAAGCTAAAACGAGCAGTAGTCAGCTCTGCATCTGAA...TGACTCAGATTCTAATTTTAAGCTATTCAATTTCTCTTTGATC, IUPACAmbiguousDNA()), id= U , name= SCU49845, description= Saccharomyces cerevisiae TCP1-beta gene, partial cds, and Axl2p (AXL2) and Rev7p (REV7) genes, complete cds., dbxrefs=[])
28 Input Oggetto SeqRecord: attributo annotations L attributo annotations contiene un dizionario delle annotazioni trovate nel fare il parsing del record da file Le annotazioni possono quindi essere recuperate dal dizionario specificandone il nome (che fa da chiave) >>> rec.annotations.keys() [ sequence_version, source, taxonomy, keywords, references, accessions, data_file_division, date, organism, gi ] >>> rec.annotations["source"] "Saccharomyces cerevisiae (baker s yeast)" >>> rec.annotations["taxonomy"] [ Eukaryota, Fungi, Ascomycota, Saccharomycotina, Saccharomycetes, Saccharomycetales, Saccharomycetaceae, Saccharomyces ]
29 Input Dizionari di sequenze L attributo id della sequenza deve essere (per definizione) univoco, e può essere usato come chiave per creare un dizionario di sequenze Il metodo to dict() prende in ingresso un oggetto creato da parse, e restituisce un dizionario dei SeqRecord contenuti nel file relativo, con chiave data dall id >>> dict = SeqIO.to_dict(SeqIO.parse(f,... "genbank")) >>> dict.keys() [ U ] >>> dict[ U ].description Saccharomyces cerevisiae TCP1-beta gene, partial cds, and Axl2p (AXL2) and Rev7p (REV7) genes, complete cds.
30 Output Scrivere sequenze su file Nota Il metodo write permette di scrivere una sequenza su file Prende in ingresso un oggetto iterabile con oggetti SeqRecord, un oggetto file, ed il formato in cui scrivere il record. E possibile specificare un formato diverso da quello del record (e write al momento supporta pochi formati) f = open("data.dst","w") >>> SeqIO.write([dict[ U ]], f, "fasta") write prende come primo argomento un contenitore di oggetti SeqRecord NON un oggetto SeqRecord ho quindi convertito al volo l elemento del dizionario di chiave U in una lista racchiudendolo tra parentesi quadre
Ogni tipo ha il suo alfabeto di riferimento, e metodi specifici, nonché metodi per la conversione da un tipo all altro (trascrizione, traduzione)
Biopython Descrizione Il progetto Biopython è un associazione di sviluppatori di codice Python liberamente disponibile per bioinformatica La homepage del progetto è http://www.biopython.org Il codice viene
Ogni tipo ha il suo alfabeto di riferimento, e metodi specifici, nonché metodi per la conversione da un tipo all altro (trascrizione, traduzione)
BioPython Descrizione Il progetto BioPython è un associazione di sviluppatori di codice Python liberamente disponibile per bioinformatica La homepage del progetto è http://www.biopython.org Il codice viene
Laboratorio di Elementi di Bioinformatica
Laboratorio di Elementi di Bioinformatica Laurea Triennale in Informatica (codice: E3101Q116) AA 2015/2016 Parsing di un file in formato EMBL (parte I) Docente del laboratorio: Raffaella Rizzi 1 Esercizio
Laboratorio di Elementi di Bioinformatica
Laboratorio di Elementi di Bioinformatica Laurea Triennale in Informatica (codice: E3101Q116) AA 2016/2017 Formato GTF per annotare un gene Docente del laboratorio: Raffaella Rizzi 1 GTF (Gene Transfer
Laboratorio di Bioinformatica I. Parte 2. Dott. Sergio Marin Vargas (2014 / 2015)
Laboratorio di Bioinformatica I Banche dati Parte 2 Dott. Sergio Marin Vargas (2014 / 2015) Google Scholar https://scholar.google.it/ E un motore di ricerca di Google, specializzato nella ricerca di articoli
Funzioni e moduli. Andrea Passerini Informatica. funzioni e moduli
Funzioni e moduli Andrea Passerini passerini@disi.unitn.it Informatica Funzioni nella programmazione Descrizione Una funzione è una sequenza di istruzioni cui viene dato un nome Questo permette di riutilizzare
Informatica e biotecnologie I parte. Informatica e biotecnologie. Banche dati biologiche: sommario. Strumenti per
Informatica e biotecnologie I parte Banche dati biologiche e analisi di sequenze CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC CGAAATCGCATCAGCATACGATCGCATGC Informatica e biotecnologie Strumenti
Esame 12/02/2015. Andrea Passerini Informatica
Esame 12/02/2015 Andrea Passerini passerini@disi.unitn.it Informatica Programma python Scrivere un programma python che: prenda in ingresso un nome di file filename che contiene annotazioni di una sequenza
Problemi complessi devono essere decomposti via via in problemi sempre più semplici per poter essere risolti
Funzioni nella programmazione Una funzione è una sequenza di istruzioni cui viene dato un nome Questo permette di riutilizzare tale sequenza di istruzioni in più parti del proprio programma (o in altri
Database genomici primari
Esercitazione di laboratorio di bioinformatica Seconda parte: I principali database genomici e proteomici Slide ricavate dal corso di Laboratorio Integrato di Biologia Computazionale Francesca Cordero
Avviate l interprete Python selezionandolo dal menu dei programmi. Una volta avviato, l interprete presenta un cursore in cui inserire comandi
Introduzione al Python Caratteristiche procedurale si specifica la procedura da eseguire sui dati strutturato concetto di visibililtà delle variabili orientato agli oggetti permette di programmare con
Programmazione in Perl Programmazione ad Oggetti
Master in Bioinformatica Programmazione in Perl Programmazione ad Oggetti Andrea Sterbini sterbini@di.uniroma1.it A che vi servono BioPerl e la programmazione a oggetti? BioPerl è una libreria formata
Programmazione in Python per la bioinformatica
per la bioinformatica University of Verona Sommario Scrivere ed utilizzare i moduli Scrivere ed utilizzare i package Cosa sono i moduli Cosa e' un modulo e a cosa serve Modulo: le python con estensione.py
Bioinformatica. :studio dei problemi biologici attraverso le metodologie dell'informatica
Bioinformatica :studio dei problemi biologici attraverso le metodologie dell'informatica Sinomimi: biochimica computazionale, biologia molecolare computazionale Viceversa: Biocomputazione, algoritmi genetici,
Input output. Andrea Passerini informatica. Input output
Andrea Passerini passerini@disi.unitn.it informatica Standard output Funzione print Il modo più semplice per inviare dati allo standard output è tramite la funzione print print stampa su standard output
DataBase Biologici 1
DataBase Biologici 1 Lo sviluppo di tecnologie strumentali sempre più sofisticate ha portato ad una enorme produzione di dati biologici. Per la gestione di questi dati è quindi necessario disporre di potenti
Database biologici (banche di dati biologici)
1 Lo sviluppo di tecnologie strumentali sempre più sofisticate ha portato ad una enorme produzione di dati biologici. Per la gestione di questi dati è quindi necessario disporre di potenti sistemi di archiviazione
Bellini Lara matricola: Tesina di Biologia Molecolare 2
Bellini Lara matricola: 594736 Tesina di Biologia Molecolare 2 Argomento: Scegli una proteina di Drosophila e trovala in Uniprot.Descrivi le informazioni presenti nel record ed i collegamenti a risorse
Metodi Informatici per la Biologia
Metodi Informatici per la Biologia Esercitazione 8 1. Altri dettagli sulle funzioni Come ormai sapete bene, la forma generale di una funzione è: def nome_funzione(argomento1, argomento2, ): "documentazione"
Programmazione in Python per la bioinformatica
per la bioinformatica University of Verona Sommario pattern in interagire List comprehension Uso del construtto List comprehension Modo conciso e diretto per creare liste Utilizzato tipicamente per creare
A che vi servono BioPerl e la programmazione a oggetti?
Perl, OOP e BioPerl Programma di oggi: BioPerl e programmazione a oggetti: (a che vi servono?) La programmazione ad oggetti in Perl Funzioni e moduli Oggetti Il Tutorial BioPerl Esempi d'uso A che vi servono
Banche Dati Primarie di Biosequenze
Descrizione Ie banche dati primarie delle sequenze nucleotidiche EMBL, GenBank e DDBJ sono una collezione di sequenze di DNA e RNA che provengono dalla letteratura scientifica e dalle sequenze brevettate.
Dizionari e Tabelle di dati
Dizionari e Tabelle di dati Informatica@SEFA 08/09 - Laboratorio 6 Massimo Lauria http://massimolauria.net/courses/infosefa08/ Lunedì, 6 Novembre 08 Dizionari Dizionari Il dizionario
Corso di Elementi di Bioinformatica
Corso di Elementi di Bioinformatica Laurea Triennale in Informatica I dati e le banche dati in Bioinformatica Anno Accademico 2015-2016 Docente del laboratorio: Raffaella Rizzi 1 Il DNA (oggetto biologico)
Statements: blocchi di istruzioni
Statements: blocchi di istruzioni Andrea Passerini passerini@disi.unitn.it Informatica Statements Descrizione Uno statement è un blocco di istruzioni semplici consistono di una singola riga. I tipi visti
Statements: blocchi di istruzioni
Statements: blocchi di istruzioni Andrea Passerini passerini@disi.unitn.it Informatica Statements Descrizione Uno statement è un blocco di istruzioni semplici consistono di una singola riga. I tipi visti
Corso di Bioinformatica e analisi dei genomi, docente Silvia Fuselli. Esercizi ricerche in banche dati
Corso di Bioinformatica e analisi dei genomi, docente Silvia Fuselli Esercizi ricerche in banche dati 1) Nel romanzo fantasy Jurassic Park di Michael Crichton sulla possibilità di clonare i dinosauri,
Input/Output. Console e File.
Input/Output Console e File http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Le istruzioni di stampa servono a rendere visibili
IPOTESI UN GENE-UN ENZIMA
IPOTESI UN GENE-UN ENZIMA DNA: contiene tutte le informazioni per definire lo sviluppo e la fisiologia della cellula: ma come svolge questa funzione? Beadle e Tatum (1941): studiando mutanti della comune
Laboratorio di Elementi di Bioinformatica
Laboratorio di Elementi di Bioinformatica Laurea Triennale in Informatica (codice: E30Q6) AA 205/206 Esempio di workflow Docente del laboratorio: Raffaella Rizzi Scopo del workflow Scopo: dato un insieme
Laboratorio di Elementi di Bioinformatica
Laboratorio di Elementi di Bioinformatica Laurea Triennale in Informatica (codice: E3101Q116) AA 2016/2017 I dati in Bioinformatica Docente del laboratorio: Raffaella Rizzi 1 Il DNA (oggetto biologico)
Linguistica Computazionale: esercitazioni
Esercitazione 1 Felice Dell'Orletta ItaliaNLP Lab (www.italianlp.it) presso Istituto di Linguistica Computazionale A. Zampolli CNR felice.dellorletta@ilc.cnr.it 24 settembre 2014 Linguistica Computazionale:
07/01/2015. Come si ferma una macchina in corsa? Il terminatore. Terminazione intrinseca (rho-indipendente)
Come si ferma una macchina in corsa? Il terminatore Terminazione intrinseca (rho-indipendente) Terminazione dipendente dal fattore Rho (r) 1 Operoni: gruppi di geni parte di una unica unità trascrizionale
Descrizione generale dell esame
Descrizione generale dell esame Ci saranno 15 domande a risposta multipla: le risposte corrette aggiungono punti le risposte sbagliate tolgono punti Ciascuna domanda avrà 2 risposte corrette e due sbagliate
LA SINTESI PROTEICA LE MOLECOLE CHE INTERVENGONO IN TALE PROCESSO SONO:
LA SINTESI PROTEICA La sintesi proteica è il processo che porta alla formazione delle proteine utilizzando le informazioni contenute nel DNA. Nelle sue linee fondamentali questo processo è identico in
Liste, dizionari, set e tuple
Liste, dizionari, set e tuple Andrea Passerini passerini@disi.unitn.it Informatica Liste Descrizione Una lista è una sequenza di oggetti qualunque (anche di tipo diverso, anche altre liste) >>> l = ["AG01",
Espressione della informazione genetica II: trascrizione e traduzione
Espressione della informazione genetica II: trascrizione e traduzione Prof.ssa Flavia Frabetti Come si esprime l informazione? I meccanismi di Trascrizione e Traduzione Cosa è il Codice genetico I principali
Espressione della informazione genetica II: trascrizione e traduzione
Espressione della informazione genetica II: trascrizione e traduzione Prof.ssa Flavia Frabetti aa.2010-11 Come si esprime l informazione? Se il gene in esame è una regione di DNA che ha la funzione di
Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE
Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente
Il dogma centrale della biologia. molecolare
Il dogma centrale della biologia Cell molecolare Transcription Translation Ribosome DNA mrna Polypeptide (protein) L informazione per la sintesi delle proteine è contenuta nel DNA. La trascrizione e la
Banche Dati proteiche
Banche Dati proteiche Un altro grande database è UniProt, The Universal Protein Resource (http://www.uniprot.org/) nel quale sono radunate le sequenze proteiche, e le annotazione delle stesse, ottenute
Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione
Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi
Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione
Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi
Sommario FONDAMENTI DI INFORMATICA. Definizione formale di algoritmo. Informatica e algoritmi. ALGORITMI E LINGUAGGIO PYTHON Introduzione
Università degli Studi di Cagliari Corsi di Laurea in Ingegneria Chimica e Ingegneria Meccanica FONDAMENTI DI INFORMATICA http://www.diee.unica.it/~marcialis/fi A.A. 2017/2018 Sommario Algoritmi, linguaggi
Dal gene alla proteina
Dal gene alla proteina Il collegamento tra geni e proteine La trascrizione e la traduzione sono i due principali processi che legano il gene alla proteina: uno sguardo panoramico Le informazioni genetiche
Esercizi in Laboratorio
Esercizi in Laboratorio Informatica@SEFA 2017/2018 - Laboratorio 2 Massimo Lauria http://massimolauria.net/courses/infosefa2017/ Lunedì, 9 Ottobre 2017 1 Errata corrige (tuple
Esempio di utilizzo del programma BLAST disponibile all NCBI Form di Nucleotide BLAST
Esempio di utilizzo del programma BLAST disponibile all NCBI www.ncbi.nlm.nih.gov/blast Form di Nucleotide BLAST Per un uso più avanzato, si possono impostare parametri particolari (es. cost to open gap,
Laboratorio 03. Programmazione - CdS Matematica. Monica Dessole 14 novembre 2017
Laboratorio 03 Programmazione - CdS Matematica Monica Dessole 14 novembre 2017 Dizionari Un dizionario è Contenitore di coppie: chiave, valore Non prevede alcun ordinamento A cosa può servire Iterare sulle
Introduzione alla Genomica
Laboratorio di Bioinformatica I Introduzione alla Genomica Dott. Sergio Marin Vargas (2014 / 2015) Il Genoma umano Gene codificanti proteine Gene non codificanti proteine Geni codificanti proteine 3 Il
Laboratorio 03. Programmazione - CdS Matematica. Andrea Burattin 12 novembre 2013
Laboratorio 03 Programmazione - CdS Matematica Andrea Burattin 12 novembre 2013 Dizionari Un dizionario è Contenitore di coppie: chiave, valore Non prevede alcun ordinamento (Un array associativo) A cosa
Genomica, proteomica, genomica strutturale, banche dati.
Genomica, proteomica, genomica strutturale, banche dati. Alcune pietre miliari della biologia anno risultato 1866 Mendel scopre i geni 1944 il DNA è il materiale genetico 1951 prima sequenza di una proteina
Bioinformatica. Analisi del genoma
Bioinformatica Analisi del genoma GABRIELLA TRUCCO CREMA, 5 APRILE 2017 Cosa è il genoma? Insieme delle informazioni biologiche, depositate nella sequenza di DNA, necessarie alla costruzione e mantenimento
Introduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
Provate rispondere alle domande, se ci riuscirete, sarete pronti a superare l esame per quanto riguarda la parte di bioinformatica.
Per aiutarvi ho elaborato (frettolosamente) questi quesiti che dovrebbero aiutarvi ad individuare gli argomenti importanti del corso ed a darvi un idea delle domande che potrebbero esservi poste all esame.
Basi di dati - Laboratorio
Basi di dati - Laboratorio Corso di Laurea in Bioinformatica Docente: Barbara Oliboni Lezione 8 Contenuto della lezione extensible Markup Language (XML) HTML vs XML Documenti ben formati Documenti validi
DNA: Struttura e caratteristiche
DNA: Struttura e caratteristiche Il DNA è un acido nucleico formato da monomeri detti nucleotidi. Ogni nucleotide è formato da: Zucchero pentoso (desossiribosio) Gruppo fosfato Base azotata Basi azotate:
Strategie di annotazione di geni e genomi
Strategie di annotazione di geni e genomi Dr. Giovanni Emiliani giovanni.emiliani@unifi.it Bioinformatica A.A. 2011-1012 Concetti generali Le nuove tecnologie consentono l ottenimento di una grande mole
InfoBioLab I ENTREZ. ES 1: Ricerca di sequenze di aminoacidi in banche dati biologiche
InfoBioLab I ES 1: Ricerca di sequenze di aminoacidi in banche dati biologiche Esercizio 1 - obiettivi: Ricerca di 2 proteine in ENTREZ Salva i flat file che descrivono le 2 proteine in formato testo Importa
Laboratorio di Elementi di Bioinformatica
Laboratorio di Elementi di Bioinformatica Laurea Triennale in Informatica (codice: E3101Q116) AA 2017/2018 ati in Bioinformatica ocente: Raffaella Rizzi 1 Outline ü Cos è un NA genomico e un RNA? Outline
ESPRESSIONE DEL GENOMA CORSO DI BIOLOGIA, PER OSTETRICIA
ESPRESSIONE DEL GENOMA CORSO DI BIOLOGIA, PER OSTETRICIA IL DOGMA CENTRALE DELLA BIOLOGIA TRASCRIZIONE DEL DNA E TRADUZIONE DELL RNA ESPRESSIONE DEL DNA - Solo una frazione minore del DNA presente nelle
Laboratorio di Bioinformatica I. Parte 1. Dott. Sergio Marin Vargas (2014 / 2015)
Laboratorio di Bioinformatica I Banche dati Parte 1 Dott. Sergio Marin Vargas (2014 / 2015) Introduzione a NCBI National Center for Biotechnology Information (NCBI) http://www.ncbi.nlm.nih.gov/ NCBI Databases
Ingegneria del Software 1: Eclipse
Ingegneria del Software 1: Eclipse Da completare entro Marzo 15, 2016 S. Krstić and M. Scavuzzo and F. Marconi and A. Rizzi and C. Menghi 1 Contents 1 Introduzione 3 1.1 Java (JRE vs JDK)..........................................
Laboratorio 03. Programmazione - CdS Matematica. Michele Donini 11 novembre 2014
Laboratorio 03 Programmazione - CdS Matematica Michele Donini 11 novembre 2014 Dizionari Un dizionario è Contenitore di coppie: chiave, valore Non prevede alcun ordinamento A cosa può servire Iterare sulle
Liste, dizionari e tuple
Liste, dizionari e tuple Andrea Passerini passerini@disi.unitn.it Informatica Liste Descrizione Una lista è una sequenza di oggetti qualunque (anche di tipo diverso, anche altre liste) >>> l = ["abc",
Realizzare un programma
Realizzare un programma Andrea Passerini passerini@disi.unitn.it Informatica Esempio Caratteristiche di sequenza che soddisfano una certa espressione Ingressi: un file in formato FASTA contenente un elenco
Lezione 2. costituiscono la vita
Lezione 2 Le molecole di base che costituiscono la vita Graur Gau and Li: Capitolo o 1 Graur lectures 5 6 7 5 3 Le molecole dell ereditarietà L informazione i ereditaria i di tutti ttigli organismi iviventi,
RELAZIONE di BIOLOGIA MOLECOLARE
NOME: Marini Selena MATRICOLA: 592330 RELAZIONE di BIOLOGIA MOLECOLARE CHE ORGANISMO MODELLO È DICTYOSTELIUM? CHE RISORSE BIOINFORMATICHE AGEVOLANO I RICERCATORI CHE LO STUDIANO? Dictyostelium è un genere
GENE PREDICTION AND ANNOTATION
GENE PREDICTION AND ANNOTATION ...AGGATGACGATGGAGTACGATCGTGATGTCTAGCTGATGTCAGTAAGGATGACGATGGAGTACGATCGTGATGTCTAGCTGATGTCAGTAAGGATGACGATGGAGTACGATCGTG ATGTCTAGCTGATGTCAGTAAGGATGACGATGGAGTACGATCGTGATGTCTAGCTGATGTCAGTAAGGATGACGATGGAGTACGATCGTGATGTCTAGCTGATGTCAGTAAGGATGAC
Programmazione. Andrea Passerini Informatica. Programmazione
Andrea Passerini passerini@disi.unitn.it Informatica Linguaggi di programmazione Il calcolatore è in grado di comprendere solo istruzioni in linguaggio macchina. Il linguaggio macchina non è adatto alla
Interazioni proteina-dna
Interazioni proteina-dna 1) Proteine che legano la doppia elica del DNA in maniera non sequenza-specifica: histone-like proteins (HU protein) 2) Proteine che legano strutture particolari del DNA: - single
DNA Proteine Cellule. Il DNA contiene l informazione per sintetizzare le proteine. proteine cellule. Essere vivente. geni
Sintesi Proteica DNA Proteine Cellule Il DNA contiene l informazione per sintetizzare le proteine geni Essere vivente proteine cellule Essere vivente Il DNA si tiene tutta la gloria, Le proteine fanno
Lezione 1. Le molecole di base che costituiscono la vita
Lezione 1 Le molecole di base che costituiscono la vita Le molecole dell ereditarietà 5 3 L informazione ereditaria di tutti gli organismi viventi, con l eccezione di alcuni virus, è a carico della molecola
IL DOGMA CENTRALE DELLA BIOLOGIA RNA
La traduzione IL DOGMA CENTRALE DELLA BIOLOGIA Trascrizione DNA Passaggio dell informazione contenuta nel DNA mediante la sintesi di RNA RNA Proteine Duplicazione DNA Traduzione Costruzione della catena
Esame 12/01/2016. Andrea Passerini Informatica
Esame 12/01/2016 Andrea Passerini passerini@disi.unitn.it Informatica Programma python Scrivere un programma python che: prenda in ingresso: un nome di file che contiene un elenco di siti di splicing D
Ulteriori comandi sui file
Ulteriori comandi sui file Confronto tra file: 1. > cmp file1 file2 restituisce il primo byte ed il numero di linea in cui file1 e file2 differiscono (se sono uguali, non viene stampato nulla a video).
Lezione 2. Le molecole di base che costituiscono la vita
Lezione 2 Le molecole di base che costituiscono la vita Graur and Li: Capitolo 1 5 3 Le molecole dell ereditarietà L informazione ereditaria di tutti gli organismi viventi, con l eccezione di alcuni virus,
La chimica della vita
La chimica della vita Ogni organismo vivente è una macchina sofisticata, risultato di un complesso insieme di reazioni chimiche. La costruzione e il funzionamento di questa macchina si devono all'esistenza
LA TECNOLOGIA DEL DNA RICOMBINANTE RICHIEDE L USO DI ENZIMI SPECIFICI
LA TECNOLOGIA DEL DNA RICOMBINANTE RICHIEDE L USO DI ENZIMI SPECIFICI La tecnologia del DNA ricombinante è molto complessa dal punto di vista operativo, ma dal punto di vista concettuale si basa su criteri
Elementi di Base. Introduzione a Python.
Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,
Espressione ed utilizzo della informazione genetica II Trascrizione e Traduzione
Espressione ed utilizzo della informazione genetica II Trascrizione e Traduzione CdL Tecnici di Lab Biomedico AA. 2011-12 - Prof.ssa Frabetti Come si esprime l informazione? Per i geni classici vedremo:
Nozioni base di Biologia
Nozioni base di Biologia Ripercorriamo velocemente i principali concetti di biologia indispensabili per capire la Bioinformatica: verranno approfonditi in altri corsi. Gli organismi viventi possiedono
Bioinformatica ed applicazioni di bioinformatica strutturale!
Bioinformatica ed applicazioni di bioinformatica strutturale! Bioinformatica! Le banche dati! Programmi per estrarre ed analizzare i dati! I numeri! Cellule nell uomo! Geni nell uomo! Genoma umano Il dogma
LA TRASCRIZIONE. Dipartimento di Scienze Agronomiche e Genetica Vegetale Agraria Giovanna Attene
LA TRASCRIZIONE Dipartimento di Scienze Agronomiche e Genetica Vegetale Agraria Giovanna Attene GLI ACIDI RIBONUCLEICI Nelle cellule nucleate la sintesi proteica avviene nel citoplasma, mentre il DNA si
Jay Phelan, Maria Cristina Pignocchino. Scopriamo la biologia
Jay Phelan, Maria Cristina Pignocchino Scopriamo la biologia Capitolo 6 Il DNA in azione 3 1. Il DNA è il materiale genetico Il DNA è composto da una sequenza di nucleotidi. Ogni nucleotide comprende:
CORSO DI: INFORMATICA Lezione N 7
CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA CORSO DI: INFORMATICA Lezione N 7 Anno Accademico 2017/2018 Dott. Silvio Pardi LibreOffice vs Microsoft Office LibreOffice Write
Funzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2018/2019 Argomenti del Corso Ogni lezione consta di una spiegazione assistita da slide,
Processore Danilo Dessì. Architettura degli Elaboratori.
Processore 8088 Architettura degli Elaboratori Danilo Dessì danilo_dessi@unica.it Subroutine Anche nel linguaggio assemblativo è possibile suddividere un programma in subroutine Per invocare una subroutine
GENOMA. Analisi di sequenze -- Analisi di espressione -- Funzione delle proteine CONTENUTO FUNZIONE. Progetti genoma in centinaia di organismi
GENOMA EVOLUZIONE CONTENUTO FUNZIONE STRUTTURA Analisi di sequenze -- Analisi di espressione -- Funzione delle proteine Progetti genoma in centinaia di organismi Importante la sintenia tra i genomi The
SDD Seconde Gli acidi nucleici. Gli acidi nucleici
1 Capire come le informazioni genetiche sono immagazzinate nelle cellule e come avviene la trasformazione di queste informazioni nei meccanismi metabolici delle cellule. Quattro mattoncini La cellula ha
Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU
Tutorato di Fondamenti di Informatica PROFESSORE: GIAN LUCA MARCIALIS TUTOR: DAVIDE GHIANI, GIULIA ORRU Organizzazione Informazioni di contatto: informatica.marcialis@gmail.com Davide Ghiani Giulia Orrù
Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande/ VERSIONE 1 1) Nell uso dei puntatori in C++ la scrittura -> vuol dire: a) riferimento
FORMAZIONE DEL LEGAME PEPTIDICO
AMINOACIDI FORMAZIONE DEL LEGAME PEPTIDICO SEQUENZA AMINOACIDICA DELL INSULINA STRUTTURA SECONDARIA DELLE PROTEINE STRUTTURA TERZIARIA DELLE PROTEINE STRUTTURA QUATERNARIA DELLE PROTEINE Definizione Processi
Le proprietà elettive della cellula: Espressione della informazione genetica e differenziamento II Trascrizione- Codice genetico- Traduzione
Le proprietà elettive della cellula: Espressione della informazione genetica e differenziamento II Trascrizione- odice genetico- Traduzione dl Infermieristica aa. 2011/12 Prof.ssa Frabetti ESPRESSIONE
Linguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
file informatica e laboratorio di programmazione Alberto Ferrari Informatica e Laboratorio di Programmazione
file informatica e laboratorio di programmazione dati persistenti o la maggior parte dei programmi ha necessità di memorizzare informazioni in modo persistente non in memoria centrale o le variabili e
Principali Database biologici
Principali Database biologici Acidi nucleici: -Sequenze DNA genomico -Sequenze di trascritti (mrna) La maggior quantità di dati biologici presenti nei database è rappresentata da sequenze di acidi nucleici
I Esercitazione: Istallazione Sistema Operativo
Corso di Calcolo Numerico 1 DIMA, Sapienza University of Rome, Italy March 2, 2014 Cos'è Ubuntu? Ubuntu è un Sistema Operativo Free e Open Source: 1 libertà di utilizzo del proprio software per qualunque
UNIVERSITÀ DEGLI STUDI DI MILANO. Bioinformatica. A.A semestre I. Allineamento veloce (euristiche)
Docente: Matteo Re UNIVERSITÀ DEGLI STUDI DI MILANO C.d.l. Informatica Bioinformatica A.A. 2013-2014 semestre I 3 Allineamento veloce (euristiche) Banche dati primarie e secondarie Esistono due categorie