[Python] Consigli per biologo

Manlio Perillo manlio.perillo a gmail.com
Gio 19 Mar 2015 15:34:42 CET


2015-03-19 8:54 GMT+01:00 Stefano Gasbarro <python a gasbarro.eu>:

> Buongiorno a tutti ragazzi...mi presento sono Stefano da Roma e sono un
> biologo. ..é un pò che vi seguo ma non sono mai intervenuto. Prima di
> diventare biologo sono stato informatico per più di 10 anni ed ho
> un'infarinatura di programmazione. Mi sto approcciando a Python da poco e
> da "grande" mi piacerebbe fare il bioinformatico. Ho comprato la guida
> completa di Marco Buttu e la trovo ottima...mi servirebbe da voi un
> consiglio sugli strumenti necessari alla realizzazione di software per
> l'elaborazione dei dati scientifici...cosa usare per creare GUI...quali
> sono le potenzialità di Python per la biologia. ..insomma un quadro
> generale che vada oltre la mera programmazione. Vi ringrazio e conplimenti
> per la mailing list!


Ciao.

Python è un buon linguaggio per la biologia, perchè è maturo e trovi molte
librerie pronte.
Per alcune di queste, ti basta una veloce ricerca "python biology":

- NumPy
- SciPy
- Pandas
- BioPython

Addirittura c'è un libro:
http://www.amazon.com/Python-Biologists-complete-programming-beginners/dp/1492346136

Python però ha anche un grosso problema: non appeni esci "fuori dalle
rotaie", ossia incominci a scrivere un algoritmo o simulazione numerica
personalizzata, avrai un notevole calo delle prestazioni.  Infatti tutte le
librerie numeriche per Python hanno il "cuore" scritto in C o Cython.

Quindi molto dipende da quello che devi fare.
Se le librerie disponibili fanno quello che cerchi, sei a posto; lo stesso
se non hai problemi a scrivere codice C o Cython.

Altrimenti valuta anche un altro linguaggio.
Il problema è che linguaggi *veramente* alternativi a Python sono molto
recenti, mi riferisco a Go e soprattutto a Julia, quindi non è una scelta
facile.

Fai qualche prova e vedi con cosa ti trovi meglio.

Per mia esperienza:

1) Se cerchi la comodità e la disponibilià di tools maturi: Python
2) Se cerchi un linguaggio ottimizzato per le applicazioni numeriche: Julia
3) Se cerchi un linguaggio ottimizzato per l'ingegneria del software: Go



Ciao  Manlio
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150319/a609b976/attachment-0001.html>


Maggiori informazioni sulla lista Python