Кіріспе
BioJava – биологиялық деректерді өңдеуге арналған Java құралдарын ұсынуға бағытталған ашық бастапқы кодты бағдарламалық жоба. BioJava – Java бағдарламалау тілінде жазылған кітапхана функцияларының жиынтығы, ол тізбектерді, белок құрылымдарын, файлдарды талдаушыларды, Common Object Request Broker Architecture (CORBA) өзара іс-қимыл мүмкіндігін, Таратылған Аннотация Жүйесін (DAS), AceDB-ге қол жеткізуді, динамикалық бағдарламалауды және қарапайым статистикалық амалдарды жүзеге асыруға арналған. BioJava ДНК және белок тізбектерінен бастап 3D белок құрылымдарының деңгейіне дейін кең ауқымды деректерді қолдайды. BioJava кітапханалары Protein Data Bank (PDB) файлының талдауын жүргізу, Jmol-мен өзара әрекеттесу сияқты көптеген күнделікті және еңбек сіңіретін биоинформатикалық тапсырмаларды автоматтандыруға көмектеседі. BioPython, BioPerl, BioRuby, EMBOSS сияқты BioJava-дан басқа Bio* аясындағы жобалардың мысалдары да бар. 2012 жылдың қазан айында BioJava туралы алғашқы мақала жарияланды. Бұл мақалада BioJava модульдері, функционалдығы және мақсаты егжей-тегжейлі сипатталды. 2018 жылдың қараша айына қарай Google Scholar 130-дан астам сілтемелерді тіркеді. BioJava туралы соңғы мақала 2017 жылдың ақпан айында жазылды. Бұл мақалада BioJava ModFinder деп аталатын жаңа құрал туралы толық мәлімет берілді. Бұл құрал ақуыздық дерекқордағы (PDB) ақуыздық модификацияларды анықтау және оларды 3D кеңістікте картографиялау үшін пайдаланылуы мүмкін. Пакет RCSB PDB веб-қосымшасымен интеграцияланды және реттілік диаграммасы мен құрылымдық дисплейге ақуыздық модификациялар туралы түсініктемелер қосты. BioJava ModFinder қолданысымен 30 000-нан астам белок модификацияланған құрылымдар анықталды және оларды RCSB PDB веб-сайтында табуға болады. 2008 жылы BioJava-ның алғашқы қолданбалық ескертуі жарияланды. Жоба BioJava legacy деп аталатын бөлек репозиторийге көшірілді және қателерді түзету және шағын өзгерістер енгізу үшін күтіліп тұр. 3-ші нұсқасы 2010 жылдың желтоқсан айында шығарылды. Бұл бұрынғы нұсқаларға қарағанда маңызды жаңарту болды. Бұл релиздің мақсаты BioJava-ны қайта жазу арқылы оны шағын, қайта пайдалануға болатын компоненттерге бөлу болды. Бұл әзірлеушілерге оңай үлес қосуға және тәуелділікті азайтуға мүмкіндік берді. BioJava 3-те көрінген жаңа тәсіл Apache Commons үлгісімен жасалды. 4-ші нұсқасы 2015 жылдың қаңтар айында шығарылды. Бұл нұсқа biojava core, biojava structure, biojava structure gui, biojava phylo және басқа да пакеттерге көптеген жаңа мүмкіндіктер мен жақсартулар әкелді. BioJava 4.2.0 Maven Central-дан Maven арқылы қол жетімді болған алғашқы релиз болды. 5-ші нұсқа 2018 жылдың наурыз айында шығарылды. Бұл жоба үшін маңызды кезеңді білдіреді. BioJava 5.0.0 – Java 8 негізінде шығарылған алғашқы релиз, ол lambda функцияларын және ағымдық API шақыруларын енгізеді. BioJava structure модуліне де маңызды өзгерістер енгізілді. Сондай-ақ, макромолекулярлық құрылымдардың бұрынғы деректер модельдері mmCIF деректер моделін жақын көрсету үшін бейімделді. Бұл екі жылдан астам уақыттан кейін шығарылған алғашқы релиз болды. Басқа жақсартулардың ішінде biojava structure модуліндегі симметрияны анықтауды жақсарту және MMTF форматтарына қолдау қосылған. Басқа жалпы жақсартуларға Javadoc жаңартулары, тәуелділік нұсқалары және барлық тесттер енді Junit4 форматында жүзеге асырылады. Бұл релизде 19 автордан 1170 commit бар.
Негізгі модуль
Бұл модуль аминқышқылы немесе нуклеотидтік тізбектерді модельдеу үшін Java кластарын ұсынады. Кластардың атаулары биологтарға таныс әрі түсінікті болуы үшін, сондай-ақ компьютерлік ғалымдар мен бағдарламашылар үшін ген тізбегінен ақуыз тізбегіне өтудің нақты қадамдарын көрсету мақсатында жасалған. BioJava жобасы мен BioJava3 арасындағы маңызды айырмашылық – Java-дағы жаңа инновацияларды пайдалануға бағытталған құрылымдық өзгерістерде. Тізбек – жалпы интерфейс ретінде анықталған, бұл қалған модульдерге барлық тізбектермен жұмыс істейтін кез келген қосымша құралды жасауға мүмкіндік береді. Биологтардың пайдалануын жақсарту үшін ДНҚ және ақуыздар сияқты жиі қолданылатын тізбектерге арналған арнайы кластар анықталды. Аударма механизмі осы жұмысты толыққанды пайдаланады, ДНҚ, РНҚ және аминқышқылы тізбектерін бір-біріне түрлендіруге мүмкіндік береді. Бұл механизм кодондық кестені таңдау, бастапқы кодондарды метионинге түрлендіру, тоқтату кодондарын алып тастау, оқу тізбегін анықтау және екіұшты тізбектерді өңдеу сияқты мәселелерді шеше алады. Тізбектерді сақтау жобасына ерекше назар аударылды, осылайша жадты үнемдеуге болады. Прокси үлгісі сияқты арнайы дизайн үлгілері әзірлеушілерге тізбектерді жадта сақтауға, UniProt сияқты веб-қызметтен қажет болғанда алуға немесе FASTA файлынан оқуға мүмкіндік беретін құрылымды жасауға көмектесті. Соңғы екі тәсіл бағдарламада қолданылғанға дейін тізбек деректерін жүктемеу арқылы жадты үнемдейді. Бұл тұжырым NCBI GenBank сияқты өте үлкен геномдық деректер жиынтығын немесе жекеменшік дерекқорын өңдеу үшін де қолданылуы мүмкін.
Түзеткіш модулі
Бұл модульде пайдаланушыларға жұптық және көптік тізбектерді сәйкестендіруді орындауға мүмкіндік беретін бірнеше класс және әдіс бар. Тізбектерді бір жіпті немесе көп жіпті режимде сәйкестендіруге болады. BioJava жаһандық сәйкестендіру үшін Needleman-Wunsch алгоритмін және жергілікті сәйкестендіру үшін Smith-Waterman алгоритмін іске асырады. Жергілікті және жаһандық сәйкестендірулердің нәтижелері стандартты форматтарда қолжетімді. Бұл екі алгоритмге қоса, Guan–Uberbacher алгоритмінің іске асырылуы да бар, ол сызықтық жадты ғана пайдаланатындықтан жаһандық тізбек сәйкестендіруін өте тиімді орындайды. Көптік тізбек сәйкестендіру үшін жоғарыда талқыланған әдістердің кез келгенін тізбектерді біртіндеп сәйкестендіру үшін қолдануға болады.
ModFinder модулі
ModFinder модулі мен белок құрылымы модулін пайдаланатын қолданба мысалы. Белоктың өзгерістері ферродоксин I-нің тізбегі мен құрылымына (PDB ID 1GAO) бейімделеді. Белок тізбегінде екі мүмкін темір-күкірт кластері көрсетілген (3Fe–4S (F3S): апельсин түсті үшбұрыштар/сызықтар; 4Fe–4S (SF4): күлгін түсті ромбтар/сызықтар). 4Fe–4S кластері тізбек дисплейінің үстіндегі Jmol құрылым терезесінде көрсетілген. ModFinder модулі белоктың 3D құрылымындағы белок модификацияларын анықтау және жіктеудің жаңа әдістерін ұсынады. PSI MOD, RESID және RCSB PDB деректеріндегі аннотациялар негізінде фосфорилирлеу, гликозилирлеу, дисульфидтік байланыстар, металл келаттау сияқты 400-ден астам түрлі белок модификациясы жиналып, өңделген. Модуль сонымен қатар белок құрылымдарындағы пре-, ко- және пост-трансляциялық белок модификацияларын анықтауға арналған API ұсынады. Бұл модуль фосфорилирлеуді анықтап, құрылымнан барлық алдын ала жүктелген өзгерістерді басып шығара алады.
The ModFinder module provides new methods to identify and classify protein modifications in protein 3D structures. Over 400 different types of protein modifications such as phosphorylation, glycosylation, disulfide bonds metal chelation etc. were collected and curated based on annotations in PSI MOD, RESID and RCSB PDB. The module also provides an API for detecting pre , co , and post translational protein modifications within protein structures. This module can also identify phosphorylation and print all pre loaded modifications from a structure.
Веб-қызметке қол жеткізу модулі
Биоинформатикадағы қазіргі трендтерге сәйкес, веб-негізгі құралдар кеңінен танымал болып келеді. Веб-қызмет модулі биоинформатикалық қызметтерге REST протоколдары арқылы қол жеткізуге мүмкіндік береді. Қазіргі таңда екі қызмет іске асырылды: NCBI Blast, Blast URLAPI (бұрын QBlast деп белгілі болған) және HMMER веб-қызметі.