Forum

Nome Utente:
Password:
Riconoscimi automaticamente
 Tutti i Forum
 Laboratorio
 Bioinformatica e Biostatistica
 script biopython (traduzione e codoni)
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi Aggiungi ai Preferiti Aggiungi ai Preferiti
Cerca nelle discussioni
I seguenti utenti stanno leggendo questo Forum Qui c'è:

Aggiungi Tag Aggiungi i tag

Quanto è utile/interessante questa discussione:

Autore Discussione  

anty77
Nuovo Arrivato



8 Messaggi

Inserito il - 17 febbraio 2010 : 12:22:00  Mostra Profilo  Visita l'Homepage di anty77 Invia a anty77 un Messaggio Privato  Rispondi Quotando
Vorrei scrivere uno script in python che accetti in input un file di sequenze nucleotidiche
in formato FASTA e restituisca in output un file contenente,per ogni sequenza, la
lista degli anticodoni necessari per la traduzione,supponendo che la lettura
avvenga nell'ordine 5'->3'.

Qualcuno mi potrebbe, gentilmente, aiutare?
Grazie mille

dallolio_gm
Moderatore


Prov.: Bo!
Città: Barcelona/Bologna


2445 Messaggi

Inserito il - 17 febbraio 2010 : 14:45:09  Mostra Profilo  Visita l'Homepage di dallolio_gm  Clicca per vedere l'indirizzo MSN di dallolio_gm Invia a dallolio_gm un Messaggio Privato  Rispondi Quotando
Perché riscrivere in python qualcosa che già esiste da tempo ed é già testato?

Per esempio, prova questa applicazione di EMBOSS:
- http://emboss.sourceforge.net/apps/cvs/emboss/apps/backtranseq.html

Il mio blog di bioinformatics (inglese): BioinfoBlog
Sono un po' lento a rispondere, posso tardare anche qualche giorno... ma abbiate fede! :-)
Torna all'inizio della Pagina

anty77
Nuovo Arrivato



8 Messaggi

Inserito il - 17 febbraio 2010 : 14:58:20  Mostra Profilo  Visita l'Homepage di anty77 Invia a anty77 un Messaggio Privato  Rispondi Quotando
perchè mi serve per svolgere un esercizio!!
Torna all'inizio della Pagina

dallolio_gm
Moderatore


Prov.: Bo!
Città: Barcelona/Bologna


2445 Messaggi

Inserito il - 17 febbraio 2010 : 18:29:14  Mostra Profilo  Visita l'Homepage di dallolio_gm  Clicca per vedere l'indirizzo MSN di dallolio_gm Invia a dallolio_gm un Messaggio Privato  Rispondi Quotando
Mi dispiace, ma penso che dovresti leggere il regolamento del forum :-)

Prova a postare il codice che hai scritto fino ad adesso, o a descrivere quali librerie hai intenzione di usare e con quale approccio. Prova a descrivere il programma che scriverai in 4-5 punti, indicando come si potrebbero implementare. Se non fai questo, non ti potremo risponderti, il sommo Atreliu ci proibisce di risolvere problemi partendo da 0 :-)

Il mio blog di bioinformatics (inglese): BioinfoBlog
Sono un po' lento a rispondere, posso tardare anche qualche giorno... ma abbiate fede! :-)
Torna all'inizio della Pagina

dallolio_gm
Moderatore


Prov.: Bo!
Città: Barcelona/Bologna


2445 Messaggi

Inserito il - 17 febbraio 2010 : 18:36:55  Mostra Profilo  Visita l'Homepage di dallolio_gm  Clicca per vedere l'indirizzo MSN di dallolio_gm Invia a dallolio_gm un Messaggio Privato  Rispondi Quotando
Rileggendo la tua domanda comunque mi sono reso conto che la risposta che ti avevo dato prima non era corretta... E' abbastanza semplice, devi solo dividere la sequenza in triplette e calcolare il complementare.

Il mio blog di bioinformatics (inglese): BioinfoBlog
Sono un po' lento a rispondere, posso tardare anche qualche giorno... ma abbiate fede! :-)
Torna all'inizio della Pagina

MB
Nuovo Arrivato



58 Messaggi

Inserito il - 17 febbraio 2010 : 21:15:47  Mostra Profilo  Visita l'Homepage di MB Invia a MB un Messaggio Privato  Rispondi Quotando
non ho capito bene neanche io il problema.. devi fare un programma che faccia il complementare invertito?
Se è così devi fare come dice dallolio invertire la stringa..
della serie...

INPUT:
>fasta
AAATTTGGG

OUTPUT:
CCC AAA TTT
Torna all'inizio della Pagina

anty77
Nuovo Arrivato



8 Messaggi

Inserito il - 17 febbraio 2010 : 21:50:41  Mostra Profilo  Visita l'Homepage di anty77 Invia a anty77 un Messaggio Privato  Rispondi Quotando
ad esempio potrei iniziare cosi per leggere il file e stamparlo:

from Bio import seqIO
handle = open("file.fasta")
for seq_record in SeqIO.parse(handle, "fasta") :
print seq_record.id
print seq_record.seq
print len(seq_record.seq)
handle.close()


il file fasta potrebbe essere in questo modo:
>gi|179370:32-751
ATGGCGCACGCTGGGAGAACAGGGTACGATAACCGGGAGATAGTGATGAAGTACATCCATTATAAGCTGT
CGCAGAGGGGCTACGAGTGGGATGCGGGAGATGTGGGCGCCGCGCCCCCGGGGGCCGCCCCCGCGCCGGG
CATCTTCTCCTCGCAGCCCGGGCACACGCCCCATACAGCCGCATCCCGGGACCCGGTCGCCAGGACCTCG
CCGCTGCAGACCCCGGCTGCCCCCGGCGCCGCCGCGGGGCCTGCGCTCAGCCCGGTGCCACCTGTGGTCC
ACCTGACCCTCCGCCAGGCCGGCGACGACTTCTCCCGCCGCTACCGCCGCGACTTCGCCGAGATGTCCAG
GCAGCTGCACCTGACGCCCTTCACCGCGCGGGGACGCTTTGCCACGGTGGTGGAGGAGCTCTTCAGGGAC

come faccio a dividere le sequenze in triplette?

Grazie a tutti per la disponibilità
Torna all'inizio della Pagina

dallolio_gm
Moderatore


Prov.: Bo!
Città: Barcelona/Bologna


2445 Messaggi

Inserito il - 18 febbraio 2010 : 18:09:31  Mostra Profilo  Visita l'Homepage di dallolio_gm  Clicca per vedere l'indirizzo MSN di dallolio_gm Invia a dallolio_gm un Messaggio Privato  Rispondi Quotando

Prima di tutto scriviti una funzione di test:


def test_list_anticodons():
    seq1 = 'AAAACTACT'
    expected_result = ('TTT', 'TGA', 'TGA')
    assert list_anticodons(seq1) == expected_result


Quando hai definito uno o piú test, puoi iniziare a scrivere il codice. Un test é un esempio di quello che ti aspetti di vedere come output della tua funzione, dato un certo input.
Per esempio io ho capito che se do in pasto alla tua funzione la stringa 'AAAACTACT' ottengo la tupla ('TTT', 'TGA', 'TGA'), e se questo é sbagliato vuol dire che non ho capito il tuo esempio.


def list_anticodons(seq):
    """given a sequence, return the list of tRNA anticodons"""
    pass


Penso che in biopython non vi sia una funzione per ottenere le triplette direttamente dalla sequenza, cosí dovrai farlo manualmente. La maniera piu' classica per fare questo é usare le funzioni range e len:


def list_anticodons(seqfile):
    """given a sequence, return the list of tRNA anticodons"""
    for seq_record in SeqIO.parse(seqfile):
        # ogni "seq_record" e' un oggetto di tipo Bio.Seq, nel caso vi siano piu' di un record nella sequenza
        for triplet_start in xrange(0, len(seq_record.seq), 3):
             triplet = seq_record.seq[triplet_start, triplet_start+3]
             print triplet

Da qui puoi continuare lavorando su 'triplet', che é una stringa di 3 caratteri.
Nota che bisogna adattare il test affinché legga un file di testo invece che una stringa.

Il mio blog di bioinformatics (inglese): BioinfoBlog
Sono un po' lento a rispondere, posso tardare anche qualche giorno... ma abbiate fede! :-)
Torna all'inizio della Pagina

anty77
Nuovo Arrivato



8 Messaggi

Inserito il - 18 febbraio 2010 : 18:25:34  Mostra Profilo  Visita l'Homepage di anty77 Invia a anty77 un Messaggio Privato  Rispondi Quotando
Ok, grazie mille
sei stato gentilissimo
a presto
Torna all'inizio della Pagina
  Discussione  

Quanto è utile/interessante questa discussione:

 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi Aggiungi ai Preferiti Aggiungi ai Preferiti
Cerca nelle discussioni
Vai a:
MolecularLab.it © 2003-18 MolecularLab.it Torna all'inizio della Pagina