2009-12-11 4 views
6

mi piacerebbe creare un database di sequenze rRNA con un front-end Web per il laboratorio di lavoro in. Sembra comune in biologia a voler cercare un gran numero di sequenze che utilizzano algoritmi di allineamento, come BLAST e HMMER, così mi chiesi se esistono progetti php/python/rails esistenti che consentono una facile creazione di un database di sequenze generico con un modulo di ricerca del sito web?Esistono soluzioni esistenti per la creazione di un database di sequenze di DNA generico con un front-end del sito Web?

UPDATE: GMOD è il tipo di server che stavo cercando. Mi è stato anche suggerito di guardare allo BioMart che sembra avere una funzionalità simile.

+0

Se tutto ciò che serve è un'interfaccia web per consentire alle persone di BLAST e scaricare sequenze, visitare http://www.sequenceserver.com (sono uno degli autori). –

risposta

7

qualcosa un po 'meno barebone è http://gmod.org/ - l'installazione più semplice dovrebbe darvi una forma esplosiva & un'interfaccia "browser sequenza". Non so se c'è una forma HMMER ancora ...

(scale abbastanza bene - da un semplice SQLite per un vero e proprio database)

In alternativa, si potrebbe voler esaminare il server galassia.http://main.g2.bx.psu.edu/
E 'il primo obiettivo è rendere le query genomiche complesse facile per le persone non-computazionale ma non so se ha un colpo fuori dalla scatola

applausi, Yannick


UPDATE - Ispirato a parte da questo post, stiamo sviluppando un simple local blast server come un semplice alternative to wwwblast. Lavori in corso allo http://www.sequenceserver.com. Un server demo ti consente di effettuare il BLAST ant genomes.

+0

Grazie, era esattamente il tipo di cosa che stavo cercando. Qualcosa che posso installare ed eseguire su un server. –

0

non è né la lingua si sta parlando, ma non v'è Bioperl, che è una raccolta di funzioni specificamente realizzati per il DNA e RNA e altri acidi e proteine ​​di base 'programmazione'

cercarlo in CPAN .org

+0

Permette anche la creazione di front-end Web? Perl non è una lingua con cui ho familiarità. –

+0

Puoi fare Web Front End con perl. In effetti, ho trascorso 3 anni sviluppando un sito web in PERL. Credo che il PHP sia, in una certa misura, derivato dal PERL. Ho sentito che la sintassi è molto simile –

+0

In effetti, potrei aggiungere che BioPERL è così avanzato rispetto a qualsiasi altra API BioInformatic che il tempo per imparare PERL sarà molto più breve del tempo che impiegherebbe a costruire la tua libreria in un'altra lingua. Per il rendering HTML in PERL, puoi cercare HTML :: Template in CPAN. Ti aiuterà a creare HTML usando la programmazione di programmi like loop e ifs CPAN è in realtà un repository per il codice Perl che chiunque può scaricare. È possibile trovare quasi tutto, il rendering HTML, la creazione di PDF e molti altri. –

-1

Non avendo idea di quale formato verrà archiviato l'informazione o di come vengono visualizzate le sequenze di DNA (è solo una lunga stringa?), potresti riuscire a farla franca inserendo semplicemente ogni sequenza di DNA in un database MySQL e poi eseguendo una semplice query del tipo:

SELECT * FROM `dna_table` WHERE `sequence` = $sequence; 

Assicurarsi di utilizzare una stringa di escape o una query parametrizzata (per impedire l'iniezione SQL), ma a parte questo, sembra un programma DB REALMENTE semplice che non dovrebbe essere superiore a circa 100 righe di codice.

+0

Le sequenze verranno probabilmente archiviate come FASTA e vorrei anche essere in grado di interrogare il database usando BLAST tramite un modulo web. –

+1

Lavorare con la sequenza del DNA è molto più complicato della normale ricerca di stringhe. È necessario verificare la presenza di disallineamenti, cesoie, introne-extron, splicing alternativo, ecc ... –

+0

Ecco perché ho detto che non ero sicuro. Stavo solo cercando di dare un esempio di come interrogare un DB contro una frase di ricerca, nel caso non lo sapesse nemmeno. Ma comunque, sì ho pensato che potrebbe essere più approfondito di quello. –

2

Probabilmente questo sarà eccessivo ma .... ncbi ha un sacco di software disponibile. Link.

In particolare, this.

+0

Il banco di lavoro del genoma sembra utile, grazie. Non penso che possa essere usato per creare un front end web, ma può? –

0

Consiglio vivamente di contattare la comunità bioinformatica. La cosa più importante è progettare il database e decidere il suo scopo. Lei menziona il DNA nel titolo ma l'RRNA nel testo - queste sono cose completamente diverse. Se è solo un refuso, va bene - ma se non capisci la differenza, parla con le persone della comunità.

Dato che sono coinvolto nella comunità, è possibile contattare la community MyExperiment (http://en.wikipedia.org/wiki/MyExperiment) e indicare il mio nome se necessario. Troverete molte persone amichevoli e aiuto.

UPDATE ho appena notato sei da Manchester e che è il fulcro della MyExperiment così è davvero il posto più ovvio per iniziare!

+0

Ciao Peter. Quello che intendevo scrivere è un database di acidi nucleici generici, che si tratti di RNA o DNA a cui è possibile accedere tramite un modulo Web BLAST. Ho dato un'occhiata a myExperiment e questo sembra concentrato sui flussi di lavoro di Taverna piuttosto che sui front-end web. –

+0

Taverna si basa sull'accesso ai servizi Web. So che questi non sono i Web front ma sono probabilmente la strada giusta da percorrere.In ogni caso verrai messo in contatto con i modi migliori per procedere –

-1

Accetto: è necessario inviare la domanda a [email protected] o alla mailing list di bioperl.

La domanda "creazione semplice di un database di sequenze generico con un modulo di ricerca sito Web" sembra troppo generica. Un database di sequenze è un elenco di (id, sequenza) e di per sé non ha bisogno di alcun supporto per gli strumenti. Almeno non vedo alcun motivo per cui avresti bisogno di uno strumento per questo.

Penso che la tua domanda sia: c'è un client BLAST come webform che è possibile installare localmente? Ce ne sono alcuni: PLAN potrebbe valere la pena provare, anche se non l'ho mai eseguito. BioPerl ha oggetti per l'esecuzione BLAST standalone (http://doc.bioperl.org/releases/bioperl-1.0/Bio/Tools/Run/StandAloneBlast.html) e può visualizzare graficamente i risultati. Debian/Ubuntu Med ha ncbi-tools-bin e ncbi-rrna-data che installano gli strumenti e i database necessari in un paio di secondi.

Invece di ponderare il supporto degli strumenti, preferirei creare uno script CGI a 10 righe che eseguisse un'esplosione con una sequenza di input sui file Fasta che hai e poi vedrai se gli utenti non sono già contenti.

Preoccupato per il linguaggio di programmazione: Se lo desideri, puoi farlo con uno script di shell (*). Questo potrebbe anche richiedere meno tempo rispetto alla pubblicazione su StackOverflow ... ;-)

(*) Nota per colleghi informatici paranoici: sarà un'applicazione interna per i biologi che non conoscono la differenza tra un sistema operativo e sovraccarico dell'operatore, quindi le iniezioni sql sono molto molto improbabili ...

Penso che questo sia un esempio in cui l'ottimizzazione prematura è abbastanza malvagia, nel senso che si può perdere un sacco di tempo con la progettazione di un sistema troppo complesso per un compito semplice. Nello spirito della programmazione agile, se ti piacciono le parole d'ordine dell'ingegneria del software, potresti semplicemente hackerare qualcosa insieme e poi provarlo sui tuoi utenti prima di pensare all'architettura.

0

Per quanto riguarda GMOD: Sono relativamente sicuro che GMOD è completo per la vostra applicazione. GMOD non è un server, è una raccolta di strumenti, lo schema del database (CHADO) è uno di questi, e Chado non è proprio per qualcuno che per lo più avrà sequenze e id. BioMart non è neanche un server, è uno strumento che consente la de-normalizzazione dei database dei modelli, per essere in grado di eseguire query dell'intero genoma abbastanza velocemente. Uno dei client BioMart (MartView) si presenta come un'interfaccia web. Sicuramente non vuoi usare Biomart al momento, ma posso spiegarlo dettagliatamente via email. Ho l'impressione che tu abbia bisogno di un client BLAST basato sul web per iniziare per primo.

0

Galaxy: Galaxy non è un database, è un sito Web con strumenti per lavorare con (per lo più DNA) sequenze di vari genomi. Galaxy è strettamente collegato alle sequenze, agli strumenti e ai formati di file del genoma UCSC. Quindi se vuoi creare un database di sequenze completamente nuove, la galassia non fa per te. Non include neanche alcun server BLAST. Se vuoi creare un database di sequenze, CHADO come parte di GMOD si avvicina, ma preferirei iniziare a usare un file di testo per iniziare, vedi il mio post qui sopra.

1

C'è anche un semplice front-end CGI distribuito con il pacchetto NCBI BLAST. È possibile scaricare dal loro sito FTP, che è qui:

ftp://ftp.ncbi.nih.gov/

+0

Un'alternativa più semplice (e più bella) potrebbe essere http://www.sequenceserver.com/ –

0

Forse si può guardare Plone4Bio.

Plone è un motore di gestione del contenuto esteso scritto in python, con molte funzionalità e applicazioni facili da usare, così puoi creare il tuo sito web utilizzando una raccolta di moduli come forum, prodotti per le notizie, ecc ... (So che lo sai già ma è solo per dare un po 'di background).

Plone4Bio ha lo scopo di fornire alcune applicazioni plone per la bioinformatica ... Non so quanto sia avanzato il progetto e non l'ho ancora usato, ma sembra che almeno abbiate un oggetto sequenza e alcuni app per visualizzarlo e probabilmente alcune applicazioni per cercarle. (ps lo usano su uniprot - guarda la sezione "Dati di terze parti" per qualsiasi proteina di membrana)

Non conosco altre app CMS finalizzate alla bioinformatica, ma forse puoi anche implementare facilmente qualcosa con django senza troppi sforzi.

Problemi correlati