factograf
EL
Sign in

συλλογή προγραμμάτων ανοικτού κώδικα υλοποιημένων σε Python για τους τομείς της υπολογιστικής βιολογίας και της βιοπληροφορικής

Biopython

Biopython
All data from the card 6
Ημερ. Δημιουργίας
7 Δεκέμβριος 1999
Είδος
Λογισμικό βιοπληροφορικής
Λειτουργικά
ανεξάρτητο πλατφόρμας
Γραμμένο σε
Python, C
Κατάσταση
Ενεργό
Άδεια χρήσης
BSD 3-clause

Η Biopython είναι μια συλλογή μη εμπορικών προγραμμάτων ανοικτού κώδικα υλοποιημένων σε Python τα οποία είναι χρήσιμα στους τομείς της υπολογιστικής βιολογίας και της βιοπληροφορικής. Παρέχει στους ερευνητές εύκολη πρόσβαση σε αξιόπιστο και εκτενώς δοκιμασμένο κώδικα. Επίσης η Python είναι αντικειμενοστρεφής γλώσσα προγραμματισμού και αποτελεί κατάλληλη επιλογή για την αυτοματοποίηση συνηθισμένων εργασιών. Η διαθεσιμότητα επαναχρησιμοποιήσιμων βιβλιοθηκών εξοικονομεί χρόνο ανάπτυξης και επιτρέπει στους ερευνητές να επικεντρώνονται στην αντιμετώπιση επιστημονικών ερωτημάτων.

Η Biopython ενημερώνεται και συντηρείται διαρκώς από μεγάλη ομάδα εθελοντών σε ολόκληρο τον κόσμο. Περιλαμβάνει συντακτικούς αναλυτές (αγγλικά: parser)‎‎ για ποικίλους μορφότυπους (αγγλικά: format‎‎) αλληλουχιών, στοιχίσεων και δομών της βιοπληροφορικής. Στους μορφότυπους αλληλουχιών περιλαμβάνονται οι FASTA, FASTQ, GenBank και EMBL. Στους μορφότυπους στοιχίσεων περιλαμβάνονται οι Clustal, BLAST, PHYLIP και NEXUS. Στους μορφότυπους δομών περιλαμβάνεται ο PDB, ο οποίος περιέχει τις τρισδιάστατες ατομικές συντεταγμένες των μακρομορίων. Παρέχει επίσης δυνατότητες πρόσβασης σε πληροφορίες από βιολογικές βάσεις δεδομένων, όπως οι NCBI, Expasy, PDB και BioSQL. Οι δυνατότητες αυτές μπορούν να χρησιμοποιηθούν σε scripts ή να ενσωματωθούν σε άλλα πακέτα λογισμικού. Περιλαμβάνεται επίσης μια τυπική κλάση για αλληλουχίες, εργαλεία στοίχισης αλληλουχιών και ανάλυσης μοτίβων. Περιλαμβάνει επίσης αλγορίθμους ομαδοποίησης (αγγλικά: clustering)‎‎, δομικής βιολογίας και φυλογενετικής ανάλυσης.

Ιστορικό

Η ανάπτυξη της Biopython ξεκίνησε το 1999 και η πρώτη της έκδοση κυκλοφόρησε τον Ιούλιο του 2000. Η πρώτη «μισοτελειωμένη» έκδοση κυκλοφόρησε τον Μάρτιο του 2001 και η πρώτη «σχετικά σταθερή» έκδοση τον Δεκέμβριο του 2002. Αναπτύχθηκε περίπου την ίδια περίοδο και με παρόμοιους στόχους με άλλα εγχειρήματα, όπως οι BioPerl, BioRuby και BioJava, που έδιναν δυνατότητες βιοπληροφορικής ανάλυσης στις αντίστοιχες γλώσσες προγραμματισμού. Μεταξύ των πρώτων προγραμματιστών που συνέβαλλαν στην ανάπτυξη της Biopython ήταν οι Τζεφ Τσανγκ, Άντριου Ντάλκε και Μπραντ Τσάπμαν, αν και μέχρι σήμερα έχουν συνεισφέρει περισσότερα από εκατό άτομα. Το 2007 δημιουργήθηκε ένα παρόμοιο εγχείρημα σε Python, το PyCogent.

Το αρχικό πεδίο χρήσης της Biopython ήταν πάνω στην πρόσβαση, την ευρετηρίαση και την επεξεργασία αρχείων βιολογικών αλληλουχιών. Τα δεδομένα που ανακτώνταν από κοινές βιολογικές βάσεις δεδομένων αναλύονταν και μετατρέπονταν σε δομές δεδομένων της Python. Τα επόμενα χρόνια προστέθηκε λογισμικό που επέκτεινε τις δυνατότητές της και σε άλλους κλάδους της Βιολογίας. Η βασική δυσκολία κατά τον σχεδιασμό αναλυτών για μορφότυπους αρχείων βιοπληροφορικής είναι η συχνότητα με την οποία μεταβάλλονται οι μορφότυποι των δεδομένων. Αυτό οφείλεται στην ανεπαρκή επιμέλεια της δομής των δεδομένων και στις μεταβολές του περιεχομένου των βάσεων δεδομένων. Το πρόβλημα αντιμετωπίζεται με τη χρήση τυποποιημένου σχεδιασμού αναλυτή προσανατολισμένου σε συμβάντα.

Από την έκδοση 1.77 και μετά η Biopython δεν υποστηρίζει πλέον την Python 2. Πλέον υποστηρίζεται μόνο η Python 3 ενώ οι πρόσφατες εκδόσεις της συλλογής απαιτούν τη βιβλιοθήκη NumPy και όχι τη Numeric.

Σχεδιαστικές επιλογές

Όπου είναι εφικτό ακολουθούνται οι συμβάσεις της Python ώστε να γίνεται η χρήση της συλλογής ευκολότεροι για όσους είναι εξοικειωμένοι με τη γλώσσα προγραμματισμού. Για παράδειγμα, τα αντικείμενα Seq και SeqRecord μπορούν να υποστούν επεξεργασία με τεμαχισμό (αγγλικά: slicing‎‎) με τρόπο παρόμοιο με τις συμβολοσειρές και τις λίστες στην Python. Επιπλέον η Biopython έχει σχεδιαστεί με τέτοιον τρόπο ώστε να παρουσιάζει λειτουργικές ομοιότητες με άλλα εγχειρήματα της οικογένειας Bio*, όπως η BioPerl. Είναι οργανωμένη σε επιμέρους πακέτα (αγγλικά: module‎‎, όπως τα Bio.Seq, Bio.Align, Bio.PDB και Bio.Entrez, καθένα από τα οποία εξυπηρετεί διαφορετικό πεδίο της βιοπληροφορικής. Αξιοποιεί αρχές όπως η ενθυλάκωση (αγγλικά: encapsulation‎‎) και ο πολυμορφισμός (αγγλικά: polymorphism‎‎) ιδίως στις κλάσεις Seq, SeqRecord και Bio.PDB.Structure. Μπορεί επίσης να συνδυαστεί με άλλα εργαλεία που είναι υλοποιημένα σε Python, συμπεριλαμβανομένων των pandas, Matplotlib και SciPy.

Δείτε επίσης

  • Open Bioinformatics Foundation
  • BioPerl
  • BioRuby
  • BioJS
  • BioJava

Εξωτερικοί σύνδεσμοι

  • Επίσημος ιστότοπος (Αγγλικά)
  • Biopython Tutorial and Cookbook (Αγγλικά)
  • Πηγαίος κώδικας στο GitHub (Αγγλικά)

Read next

In 14 languages

Text from Wikipedia, CC BY-SA 4.0 · Source article