BioPerl

BioPerl
Typ bioinformatika
Zapsáno v Perl
Operační systém Linux , Mac OS X , Microsoft Windows
První vydání 11. června 2002 ( 2002-06-11 )
Nejnovější verze 1.7.8 (3. února 2021 ) ( 2021-02-03 )
Licence GNU General Public License a Artistic License
webová stránka bioperl.org , metacpan.org/pod/BioPerl

BioPerl [1] [2] je rozsáhlá sbírka modulů v jazyce Perl , které usnadňují vývoj skriptů v jazyce Perl pro úlohy v oblasti bioinformatiky . BioPerl sehrál důležitou roli v projektu Human Genome Project [3] .

BioPerl je napsán v programovacím jazyce Perl , díky tomu jsou podporována multiplatformní hotová řešení ( Linux , většina systémů podobných UNIXu , Mac OS X , Microsoft Windows ). Vyvinuto a distribuováno volně a otevřeně. Má aktivní mezinárodní komunitu vývojářů a vědců.

Historie vytvoření

BioPerl je aktivní Open Source softwarový projekt spravovaný Open Bioinformatics Foundation . První sadu kódů Perl pro BioPerl vytvořili Tim Hubbard a Jong Bhak v centru Medical Research Council (United Kingdom) (MRC) v Cambridge, kde Fred Sanger provedl první sekvenování genomu . MRC bylo jedním z center a rodišť moderní bioinformatiky, protože mělo velké množství sekvencí DNA a trojrozměrné proteinové struktury.

Tim Hubbard používal knihovnu Perl, která obsahovala mnoho užitečných perlských rutin pro bioinformatiku. Jong Bhak, první postgraduální student Tima Hubbarda , vytvořil skript . Bhak sloučil dvě knihovny podprogramů Perldo Bio.pl.

Název BioPerl vymysleli společně Bhak a Steven Brenner v Centru pro proteinové inženýrství (CPE). V roce 1995 Brenner zorganizoval sekci BioPerl na konferenci Intelligent Systems for Molecular Biology (ISMB) v Cambridge. BioPerl získal uživatele v následujících měsících, včetně Georga Fuellena, který pořádal školicí kurz v Německu. Fuellenovi kolegové a studenti výrazně rozšířili BioPerl.

Dále byl BioPerl rozšířen o další uživatele, mezi něž patřil Steve Cherwitz (aktivně vyvíjel kódy Perlu pro svou databázi genomu kvasinek). Významné rozšíření nastalo, když se k vývojovému týmu připojil student Cambridge Ewan Birney .

První stabilní vydání proběhlo 11. června 2002. Nejnovější stabilní (z hlediska API) vydání je 1.7.8 3. února 2021. Vývojářská vydání jsou také vydávána pravidelně. Verze 1.7.x série je považována za nejstabilnější (z hlediska chyb) verzi BioPerlu a je doporučena pro každodenní použití.

Vliv na projekt lidského genomu

Během své existence čelil Projekt lidského genomu několika výzvám. Některé z těchto problémů byly vyřešeny, když mnoho genomických laboratoří začalo používat Perl. Jedním takovým problémem byl proces analýzy všech sekvencí DNA. Některé laboratoře vybudovaly velké monolitické systémy se složitými relačními databázemi, jejichž ladění a implementace trvalo věčnost a byly překonány novými technologiemi. Jiné laboratoře se naučily, jak vytvářet modulární, volně propojené systémy, jejichž části lze zaměňovat, když se objevily nové technologie. Mnohé z počátečních výsledků ze všech laboratoří byly smíšené. Nakonec se zjistilo, že mnoho kroků lze implementovat jako volně propojené programy běžící přes skript v Perlu.

Dalším problémem, který byl opraven, je sdílení dat. Každá laboratoř měla obvykle různé programy, které spouštěla ​​se svými skripty, což vedlo k několika konverzím při porovnávání výsledků. Aby to napravily, začaly laboratoře kolektivně používat superdataset. Jeden skript byl použit pro transformaci z nadmnožiny na sadu každé laboratoře a druhý skript byl použit pro konverzi zpět. Tím se minimalizoval počet potřebných skriptů a komunikace s Perlem se stala jednodušší.

Funkce a příklady

Aby uživatel mohl využít BioPerl, potřebuje základní znalosti programovacího jazyka Perl, včetně porozumění tomu, jak používat Perl reference, moduly, objekty a metody v Perlu.

BioPerl nezahrnuje hotové programy, ale poskytuje univerzální softwarové moduly pro mnoho typických bioinformatických úloh. To usnadňuje psaní skriptů a pipeline pro manipulaci nukleotidových a aminokyselinových sekvencí, přístup k databázím pomocí různých formátů ukládání biologických dat, spouštění a analýzu výsledků v různých bioinformatických programech, například BLAST , ClustalW , T-COFFEE ( tcoffee . ) , HMMER a další.

Obecně vám moduly BioPerl umožňují:

Příklad přístupu do GenBank (vzdálená databáze) za účelem získání sekvence:

#!/usr/bin/perl -w use Bio::DB::GenBank ; my $db_obj = Bio::DB::GenBank -> new ; # Tento objekt může mluvit s GenBank můj $seq_obj ; $seq_obj = $db_obj -> get_Seq_by_acc ( 'J00522' ); # using Accession Number $seq_obj = $db_obj -> get_Seq_by_version ( 'J00522.1' ); # Accession.version $seq_obj = $db_obj -> get_Seq_by_gi ( '25829' ); # Číslo GI print $seq_obj -> display_id (), "\n" ; # print pro člověka čitelný identifikátor sekvence print $seq_obj -> desc (), "\n" ; # popis sekvence tisku print $seq_obj -> seq (), "\n" ; # výstupní sekvence použijte Bio::SeqIO ; my $seqOut = new Bio:: SeqIO ( - format => 'genbank' ); $seqOut -> write_seq ( $seq_obj );
  • Konverze formátů záznamů a souborů biologické databáze.

Ukázkový kód pro převod formátů

použijte Bio::SeqIO ; my $usage = "all2y.pl informat outfile outfileformat" ; můj $informat = posun nebo zemře $použití ; my $outfile = shift or die $usage ; my $outformat = shift or die $usage ; my $seqin = Bio::SeqIO -> new ( - fh => * STDIN , - format => $informat , ); my $seqout = Bio::SeqIO -> new ( - soubor => ">$outfile" , - format => $outformat , ); while ( my $inseq = $seqin -> next_seq ) { $seqout -> write_seq ( $inseq ); }
  • Analýza jednotlivých sekvencí.

Sběr statistik pro danou sekvenci

použijte Bio::Tools::SeqStats ; my $seq_stats = Bio::Tools::SeqStats -> new ( $seqobj ); # Vrátí odkaz na dvouprvkové pole, které obsahuje maximální dolní mez a nejmenší horní mez molekulové hmotnosti sekvence my $weight = $seq_stats -> get_mol_wt (); my $monomer_ref = $seq_stats -> count_monomers (); # počet monomerů (nukleotidů) # Pro nukleotidovou sekvenci my $codon_ref = $seq_stats -> count_codons (); # počet kodonů

Aplikace

Kromě přímého použití koncovými uživateli [4] je BioPerl také základem pro širokou škálu bioinformatických nástrojů, včetně:

  • Degenerovaný návrh základního nátěru [10]
  • Dotazování na veřejné databáze [11]
  • Aktuální srovnávací tabulka [12]

Nové nástroje a algoritmy od externích vývojářů jsou často integrovány přímo do samotného BioPerlu:

  • Práce s fylogenetickými stromy a vnořenými taxony [13]
  • Webové nástroje FPC [14]

Výhody

V současné době BioPerl obsahuje asi 1000 modulů. Jde o jedno z prvních úložišť biologických softwarových modulů, které výrazně zvýšilo pohodlí a rychlost řešení bioinformatických problémů. BioPerl má velmi snadno instalovatelné moduly Perl a flexibilní globální úložiště. BioPerl používá dobré testovací moduly pro širokou škálu procesů.

Jednou ze silných stránek BioPerlu je, že vám umožňuje extrahovat sekvence ze všech druhů zdrojů: souborů, vzdálených biologických databází ( GenBank , SwissProt/UniProt , GenPept , EMBL , SeqHound , Entrez Gene a RefSeq ), místních databází, bez ohledu na jejich formát.

Nevýhody

Existuje mnoho způsobů, jak používat BioPerl, od jednoduchého skriptování až po velmi složité objektově orientované programování. To někdy činí jazyk Perl obtížně srozumitelným. Z velkého množství modulů BioPerl některé ne vždy fungují podle očekávání.

Podobné knihovny v jiných programovacích jazycích

Existují následující bioinformatické knihovny podobné BioPerlu, které jsou implementovány v jiných programovacích jazycích jako součást Open Bioinformatics Foundation :

  • Biovodič
  • biopython
  • BioJava
  • BioRuby
  • BioPHP
  • BioJS

Viz také

Literatura

Poznámky

  1. Stajich, JE; Block, D.; Boulez, K.; Brenner, S .; Chervitz, S.; Dagdigian, C.; Fuellen, G.; Gilbert, J.; Korf, I.; Lapp, H.; Lehvaslaiho, H.; Matsalla, C.; Mungall, CJ; Osborne, B.I.; Pocock, M. R.; Schattner, P.; Senger, M.; Stein, L.D .; Stupka, E.; Wilkinson, M.D.; Birney, E. (2002). „BioPerl Toolkit: Perl Modules for the Life Sciences“ . Výzkum genomu . 12 (10): 1611-1618. DOI : 10.1101/gr.361602 . PMC  187536 . PMID  12368254 .
  2. Archivovaná kopie . Datum přístupu: 21. ledna 2007. Archivováno z originálu 2. února 2007.
  3. Lincoln Stein (1996). „Jak Perl zachránil projekt lidského genomu“ . Perl Journal . 1 (2). Archivováno z originálu dne 2007-02-02 . Získáno 25. 2. 2009 .
  4. Metody identifikace a mapování recentních segmentálních a genových duplikací v eukaryotických genomech // Gene Mapping, Discovery, and Expression . - Totowa, NJ: Humana Press, 2006. - Sv. 338. - S. 9–20. - ISBN 978-1-59745-097-3 . - doi : 10.1385/1-59745-097-9:9 .
  5. Pan, X.; Stein, L .; Brendel, V. (2005). SynBrowse: Synteny prohlížeč pro srovnávací sekvenční analýzu. bioinformatika . 21 (17): 3461-3468. DOI : 10.1093/bioinformatics/bti555 . PMID  15994196 .
  6. Shah, S. P.; McVicker, G.P.; MacKworth, A.K.; Rogic, S.; Ouellette, BFF (2003). „GeneComber: Kombinace výstupů programů genové predikce pro lepší výsledky“. bioinformatika . 19 (10): 1296-1297. doi : 10.1093/bioinformatika/ btg139 . PMID 12835277 . 
  7. Lenhard, B.; Wasserman, W. W. (2002). „TFBS: Výpočtový rámec pro analýzu vazebného místa transkripčního faktoru“ . bioinformatika . 18 (8): 1135-1136. DOI : 10.1093/bioinformatics/18.8.1135 . PMID  12176838 .
  8. Huang, J.; Gutteridge, A.; Honda, W.; Kanehisa, M. (2006). „MIMOX: Webový nástroj pro mapování epitopů založené na fágovém zobrazení“ . Bioinformatika BMC . 7 : 451. DOI : 10.1186/1471-2105-7-451 . PMC  1618411 . PMID  17038191 .
  9. Catanho, M.; Mascarenhas, D.; Degrave, W.; De Miranda, AB ?L. (2006). BioParser. Aplikovaná bioinformatika . 5 (1):49-53. DOI : 10.2165/00822942-200605010-00007 . PMID  16539538 .
  10. Wei, X.; Kuhn, D.N.; Narasimhan, G. (2003). „Degenerovaný návrh primeru prostřednictvím shlukování“. Sborník. IEEE Computer Society Bioinformatická konference . 2 :75-83. PMID  16452781 .
  11. Croce, O.; Lamarre, M. L.; Christen, R. (2006). „Dotazování sekvencí ve veřejných databázích pomocí složitých klíčových slov obsažených v rysech“ . Bioinformatika BMC . 7: 45. DOI : 10.1186/ 1471-2105-7-45 . PMC 1403806 . PMID 16441875 .  
  12. Landsteiner, B.R.; Olson, M. R.; Rutherford, R. (2005). „Aktuální srovnávací tabulka (CCT) automatizuje přizpůsobené vyhledávání dynamických biologických databází“ . Výzkum nukleových kyselin . 33 (problém s webovým serverem): W770-W773. doi : 10.1093/nar/ gki432 . PMC 1160193 . PMID 15980582 .  
  13. Llabres, M.; Rocha, J.; Rossello, F.; Valiente, G. (2006). "O rodové kompatibilitě dvou fylogenetických stromů s vnořenými taxony." Journal of Mathematical Biology . 53 (3): 340-364. arXiv : cs/0505086 . DOI : 10.1007/s00285-006-0011-4 . PMID  16823581 .
  14. Pampanwar, V.; Engler, F.; Hatfield, J.; Blundy, S.; Gupta, G.; Soderlund, C. (2005). "Webové nástroje FPC pro rýži, kukuřici a distribuci" . Fyziologie rostlin . 138 (1): 116-126. DOI : 10.1104/pp.104.056291 . PMC  1104167 . PMID  15888684 .