книга Основи Perl для Біоінформатика

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Казанської державної ЕНЕРГЕТИЧНИЙ УНІВЕРСИТЕТ

Кафедра іноземних мов

Beginning Perl for Bioinformatics

James Tisdall

Publisher: O'Reilly

First Edition October 2001

ISBN: 0-596-00080-4, 384 pages

Переклад виконала: Аспірантка кафедри ІК
Габідінова А.Р.

Науковий керівник: Д.т.н., професор
Шаріфуллін В.М.

Перевірив: Доцент кафедри іноземних мов
Молюков І.М.


КАЗАНЬ 2007

Глава 4. Ланцюжки і рядки

Вивчаючи цей розділ Ви зможете почати писати Perl-програми для маніпуляцій даними біологічних послідовностей ДНК та білків.

Якщо файли з послідовностями є на Вашому комп'ютері, то створювані програми дозволять проводити такі операції з послідовностями:

- Переводити генетичний код ДНК в РНК
- Зчіплювати послідовності
- Читати комплементарную послідовність у зворотному напрямку

- Зчитувати послідовності з файлів
А так же напишемо програму, яка видає інформацію про послідовності, наскільки цінний генетичний код ДНК, яка гідрофобність протеїнів. Ви познайомитеся з методологією програмування і зможете вирішити ці та аналогічні завдання.

Після прочитання цієї глави Ви знайдете основні навички мови Perl. Ось деякі з них:

- Скалярні змінні

- Масиви

- Операції з рядками: підстановка і перетворення

- Читання даних з файлу

4.1 Представлення даних ланцюжки

Більшість дій, описаних в цій книзі, це обробка символів, які складають записи ланцюжків ДНК і протеїнів. У біоінформатики для аналітичного подання біологічних ланцюжків використовуються такі ж позначення як у літературі.

Як відомо, ДНК складається з 4 структурних видів - нуклеїнових кислот, які так само називаються нуклеотидами або підставами. Білки складаються з 20 структурних видів - амінокислот, інакше - радикалів. Фрагменти білків називаються пептидами. І ДНК, і протеїни по суті полімери, які сформовані із структурних видів, скріплених кінець до кінця. Таким чином, можна підсумувати структуру молекули ДНК або білка просто склавши ланцюжка підстав або амінокислот.

Це короткі визначення. Припускаю, що Ви або вже знайомі з ними, або можете познайомитися детальніше в вступному підручнику з молекулярної біології. У табл. 4-1 представлені азотисті основи; додайте сахарозу і Ви отримаєте нуклеотиди - аденозин, гуанозин, цітідін, тимідину і уридин. Крім того, додавши фосфат, Ви можете отримати нуклеотиди - аденілових кислоту, гуаніліновую кислоту, цітідіновую кислоту, тіміділовую кислоту і уріділовая кислоту. Нуклеїнова кислота - це хімічно зв'язана послідовність нуклеотидів. Пептид - це невелике число об'єднаних аминоксилот; довгий ланцюжок поліпептидів. Протеїн - це біологічно функціональне з'єднання, складене з одного або декількох поліпептидів. Радикал - це амінокислота в поліпептидного ланцюга.

Для доцільності, імена нуклеїнових кислот і амінокислот частіше представлені як одно-або трехсімвольние коди, як показано в Табл. 4-1 і Табл. 4-2. (У цій книзі здебільшого використовуються Односимвольний коди амінокислот.)

Table 4 -1. Standard IUB / IUPAC nucleic acid codes

Table 4-2. Standard IUB / IUPAC amino acid codes

Коди нуклеїнових кислот в Табл. 4-1 включають символи 4 основних нуклеїнових кислот. У більшості випадків в цій книзі я використовую тільки A, C, G, T, U і N. Букви A, C, G і T задають нуклеїнові кислоти для ДНК. U замінюється на T, коли ДНК переводиться в РНК. N - загальноприйняте позначення для "невідомого", як наприклад, коли секвенсер не може визначити азотистих основ з достовірністю. Пізніше, у Розділі 9, нам знадобляться інші коди для груп нуклеїнових кислот, для програмування рестрикційних карт. Треба зауважити, версії з малими буквами цих однобуквені кодів так само використовуються з нагоди, частіше для ДНК, рідше для білків.

У наукових комп'ютерної та біологічна термінологія є невеликі відмінності в кодах Табл. 4-1 і Табл. 4-2. На науково-комп'ютерному мові ці таблиці визначають два алфавіту з кінцевими наборами символів, які можуть становити рядка. Послідовність символів називається рядком. Наприклад, ця пропозиція є рядком. Мова (кінцевий або нескінченний) - це набір рядків. У цій книзі мови, в основному, послідовностей даних ДНК та білків. Ви частіше чуєте, що біоінформатики говорять про реальну послідовності ДНК або білка як про "рядку", в протиставлення їх поданням як про послідовність даних. Це приклад термінології двох дисциплін, що перетинаються в чомусь.

Як Ви бачили в таблицях, дані зображені як прості літери, подібно до тих, які написані на сторінці. Але, насправді, комп'ютери використовують додаткові коди для зображення простих букв. Не турбуйтеся про це, просто пам'ятайте це при використанні текстового редактора, що їх потрібно зберігати як ASCII або простий текст.

За допомогою ASCII комп'ютер завантажує текстову (і керуючу) інформацію в пам'ять. Потім, коли програмою, такої як текстовий редактор, читаються дані, про які відомо, що це ASCII, програма в дійсності здатна вивести на екран символи в зрозумілому вигляді, оскільки запрограмоване розпізнавати цей конкретний код. Тобто нижня рядок це: ASCII - це код для запису тексту в комп'ютер.

Нова кодування символів, звана Юнікод, яка може обробляти всі символи всіх мов у світі, стає широко застосовувану, і підтримується і в Perl.

4.2 Програма збереження ланцюжка ДНК

Давайте напишемо невелику програму, яка зберігає ДНК у змінній і роздруковує на екран. ДНК записана в звичайному вигляді, як рядок з букв A, C, G і T і ми назвемо змінну $ DNA. Іншими словами, $ DNA ця назва даних ланцюжки ДНК, використаних в програмі. Зауважте, що в Perl мінлива це насправді назва для використовуваних даних. Назва дає повний доступ до даних. Приклад 4-1 показує всю програму.

Examp le 4-1. Запис ДНК в комп'ютер

Використовуючи те, що ви дізналися про текстових редакторах та запуску Perl програм у Розділі 2, введіть код (або скопіюйте його з сайту підручника) і збережіть у файл. Не забудьте зберегти програму в форматі ASCII або ASCII-файл без елементів форматування, інакше можуть бути труднощі в Perl при читанні вихідного файлу.

Другий крок - запуск програми. Як запустити програму залежить від типу вашого комп'ютера (см.Главу 2). Припустимо, програма на вашому комп'ютері знаходиться у файлі з назвою example4-1. Як ви пам'ятаєте з Глави 2, якщо ви запускаєте програму на Unix або Linux, то повинні набирати у вікні інтерфейсу наступне:

perl example4-1

А на Макінтош відкрийте файл у програмі MacPerl і збережіть його як droplet, і потім просто двічі клацніть на droplet. У Windows наберіть наступне в командному вікні MS - DOS:

perl example4-1

Якщо програма успішно запустилася, то ви побачите виведення результатів на екран комп'ютера.

4.2.1 Процес управління

Приклад 4-1 ілюструє багато понять, на яких заснована наша Perl програма. Одне з цих понять Control Flow - процес управління або порядок, в якому завдання виконуються комп'ютером.

Кожна програма починається з першого рядка і виконує команди одну за іншою, поки не дійде до кінця, якщо не задано інакше. Приклад 4-1 просто виконується з верху до низу, без змін.

У наступних розділах ви дізнаєтеся як можна контролювати порядок виконання в програмі.

4.2.2 Переробка коментарів

А зараз давайте звернемо увагу на частину Примера 4-1. Ви помітите багато порожніх рядків. Вони використані для того, щоб зробити програму легкою для читання людиною. Потім, зверніть увагу на коментарі, які починаються зі знака #. Ви пам'ятаєте з Глави 3, що при компіляції Perl відкидає їх разом з порожніми рядками. По суті, для Perl наступний код, це точно така ж програма як Приклад 4-1.

#! / Usr / bin / perl-w

$ DNA = 'ACGGGAGGACGGGAAAATTACTACGGCATTAGC'; print $ DNA;

exit;

У прикладі 4-1 коментарі вільно використовувалися. Коментарі на початку коду можуть пояснювати для чого програма, хто її написав і надати іншу інформацію, яка може бути корисна, коли комусь потрібно зрозуміти код. Коментарі також пояснюють, для чого кожна частина коду і іноді пояснюють як код виконує своє завдання.

Щоб зрозуміти значимість коментарів, досить сказати, що на університетському рівні програма без коментарів зазвичай оцінюється низько або незадовільно, а програміст, який в роботі не коментує відповідально свій код, не може зробити гарною кар'єри.

4.2.3 Інтерпретація команд

Перший рядок виглядає як коментар, оскільки починається зі знака #, але здається не дуже інформативною.

#! / Usr / bin / perl-w

Це спеціальний рядок, яка називається інтерпретацією команд і пояснює комп'ютера під UNIX або LINUX, що це програма на Perl. Вона може виглядати трохи по-різному на різних комп'ютерах. На деяких комп'ютерах вона, до того ж, і не потрібна, так як комп'ютер дізнається, що це Perl з іншої інформації. Конфігурація комп'ютерів під Windows зазвичай налаштовані асоціювати будь-яку програму, яка закінчується на. Pl як Perl програму. У UNIX або LINUX, в командному вікні Wi n dows або в оболонці MacOS X, можна набрати perl my_program і тоді Perl програмі my_program не потрібно спеціальних рядків. Однак, вони часто використовуються, і будуть зустрічатися на початку всіх наших програм.

Зверніть увагу, що в першому рядку використовується прапор-w. -W означає попередження і змушує Perl виводити повідомлення в разі помилок. Дуже часто повідомлення про помилку вказує номер рядка, в якій, імовірно, починається помилка. Іноді номер рядка буває невірним, але зазвичай помилка саме в тому рядку або в попередньому рядку. Далі в книзі ви так само побачите формулювання use warnings, як альтернатива -W.

4.2.4 Оператори

Наступний рядок прикладу 4-1 зберігає ДНК в змінної:

$ DNA = 'ACGGGAGGACGGGAAAATTACTACGGCATTAGC';

Це дуже поширена і важлива річ, яка виконується в мові програмування, давайте розглянемо її не поспішаючи. Ви побачите деякі базові особливості Perl та мови програмування в цілому. Якраз тут слід перестати лише побіжно переглядати, а варто розпочати справді читати. Такий рядок коду називається оператором. У Perl оператор закінчується на; (крапка з комою). Використання; схоже на використання цього знака для пауз в реченні в англійській мові.

Точніше кажучи, цей рядок коду - оператор присвоювання. Його призначення в цій програмі - зберегти деяку ДНК в змінну під назвою $ DNA. Тут є кілька важливих моментів, ви зможете дізнатися про них у наступному розділі.

4.2.4.1 Змінні

Для початку давайте поглянемо на змінну $ DNA. Ця назва дуже довільне. Ви можете підібрати іншу назву для неї, а програма буде працювати також. Наприклад, якщо ви замінюєте два рядки:

$ DNA = 'ACGGGAGGACGGGAAAATTACTACGGCATTAGC';

print $ DNA;

цими рядками:

$ A_poem_by_Seamus_Heaney =

'ACGGGAGGACGGGAAAATTACTACGGCATTAGC';

print $ A_poem_by_Seamus_Heaney;

програма працює точно також - друкує ДНК на екран комп'ютера. Справа в тому, що назва для змінних в комп'ютерній програмі дається на ваш власний вибір. (В рамках обов'язкових обмежень: в Perl назва змінної повинно бути складено з великих або малих літер, цифр та символів підкреслення. А також перший символ не повинен бути цифрою.)

Це інший важливий момент, подібний до тих зауважень, які я робив, про використання порожніх рядків і коментарів, щоб зробити код більш легким для читання людини.

Комп'ютер не надає значення Вашого назви зміною $ DNA замість $ A_poem_by_Seamus_Heaney, але хто б не читав програму, звичайно ж зверне увагу на це.

Одна назва надає справжній сенс, ясно вказує для чого ця змінна в програмі і полегшує постійні операції в розумінні програми. Інша назва робить незрозумілим, що робить програма або для чого ця змінна. Використання добре підібраних назв для змінних це частина так званого самодокументірованія коду. Коментарі все ще будуть потрібні, але швидше за все вже не часто, якщо ви добре підібрали назву змінної.

Ви помітили, що змінна $ DNA починається зі знака долара. У Perl такий вид зміною називається скалярної змінної, і ця змінна містить один елемент даних. Скалярні змінні використовуються для таких типів даних як рядкові або числові типи (наприклад, рядок hello, або числа 25, 6,234, 3,5 Е10, -0,8373). Скалярна змінна містить тільки один елемент даних в кожний момент.

4.2.4.2. Символьний рядок

У прикладі 4-1, скалярна змінна $ DNA містить якусь ДНК, представлену звичайним чином буквами A, C, G, і T. Як говорилося раніше, в комп'ютерній науці послідовність літер називається символьним рядком. У Perl, щоб визначити символьну рядок, потрібно взяти її в лапки. Можна використовувати одинарні лапки, як у прикладі 4-1, або подвійні лапки. (Ви пізнаєте їх відмінність трохи пізніше). Таким чином ДНК виглядає так:

'ACGGGAGGACGGGAAAATTACTACGGCATTAGC'

4.2.4.3.Прісваіваніе

У Perl, щоб привласнити певне значення змінної використовується знак =. Цей знак = називається оператором присвоювання. У Примері 4-1, значення 'ACGGGAGGACGGGAAAATTACTACGGCATTAGC'

присвоюється зміною $ DNA. Після присвоювання Ви можете використовувати назву змінної, щоб отримати це значення, наприклад як в операторі print у прикладі 4-1.

У операторі присвоювання важливий порядок частин. Значення, присвоєне чогось, вказується праворуч від оператора присвоювання.

Змінна, яка привласнює значення, завжди ліворуч від оператора присвоювання. У довідниках з програмування ви іноді зустрічаєте терміни lvalue і rvalue ліворуч або праворуч від оператора присвоювання.

Використання знака = має довгу історію в мові програмування. Проте, він може наштовхнути на певний висновок: наприклад, у математиці використання знака = означає рівність двох значень по боках від знака. Отже, важливо відзначити, що в Perl знак = не означає рівнозначність. Він привласнює значення змінної (Далі ми побачимо, як показати рівнозначність).

Отже, щоб підвести підсумок поки того, що ми дізналися про це оператора:

$ DNA = 'ACGGGAGGACGGGAAAATTACTACGGCATTAGC';

Це оператор присвоювання, який присвоює скалярной змінної $ DNA значення символьну рядок, що означає якусь ДНК.

4.2.4.4. Друк

Оператор: print $ DNA;

виводить ACGGGAGGACGGGAAAATTACTACGGCATTAGC на екран комп'ютера. Зауважте, що оператор print працює зі скалярними змінними, роздруковуючи їх значення, в цьому випадку символьну рядок, який містить змінна $ DNA. Пізніше ви довідаєтеся про друк більше.

4.2.4.5. Вихід

На закінчення, оператор виходу вказує комп'ютеру вийти з програми. Perl не вимагає оператора виходу при завершенні програми, програма завершується автоматично, коли доходить до кінця. Але не завадить ввести цей оператор і він ясно вкаже, що програма завершилася. Ви побачите інші програми, які завершуються через помилки до того як програма завершиться звичайним чином, тому, оператор виходу визначено корисний.

4.3 З'єднання фрагментів ДНК

Зараз ми зробимо невелика зміна Примера 4-1, щоб показати, як зв'язати 2 фрагменти ДНК. Зв'язування - це приєднання чогось одного до кінця чого-небудь іншого. Біолог добре усвідомлює, що з'єднання послідовностей ДНК - це звичайне завдання в біологічній лабораторії, наприклад, коли клон вставляється в вектор клітини або при з'єднанні екзонів при експресії генів. Багато біоінформатіческіе пакети програм виробляють такі операції, тому обраний наступний приклад. Приклад 4-2 показує більше операцій, пов'язаних з рядками, змінними та операторами друку.

Example 4-2. З'єднання фрагментів ДНК

Як ви бачите, тут три змінні $ DNA1, $ DNA2, $ DNA 3. Я додав оператор друку для підрядкового коментаря для того, щоб результати програми, які з'являються на екрані комп'ютера, були більш зрозумілі і не були просто послідовністю фрагментів якогось ДНК.

Ось як виглядає результат прикладу 4-2:

Here are the original two DNA fragments:

Приклад 4-2 дуже схожий з прикладом 4-1. Давайте подивимося на відмінності. Для початку, оператор друку має кілька неясних додатків:

print $ DNA1, "\ n";

print $ DNA2, "\ n \ n";

У операторі пресі є змінні, що містять, як і раніше, ДНК, але крім цього ще кому і потім "\ n" або "\ N \ n". Це інструкції друкувати роздільник рядків. Роздільник рядків невидимий на сторінці або екрані, але вказує комп'ютера перейти на початок наступного рядка перед наступним друком.

Один роздільник рядка "\ n" просто ставить вас на початок наступного рядка коду. Дві нові рядки "\ n \ n" переходять на наступний рядок і потім ставлять вас на початок рядка, залишаючи порожній рядок всередині.

Подивіться на код для Примера 4-2 і переконайтеся, що бачите дію цих покажчиків роздільників рядків у вихідних даних. Пустий рядок коду - це рядок, де нічого не надруковано. Залежно від вашої операційної системи це може бути тільки символ нового рядка або переведення сторінки і повернення каретки (у цих випадках, вона може бути також названа незаповненою рядком коду), або вона може містити недрукований символ порожнього рядка такі як пробіл або символ табуляції. Зауважте, що роздільники рядків поміщені в подвійні лапки, це означає, що вони частини символьного рядка. (Ось тут і різниця між одинарними і подвійними лапками, про яку згадувалося раніше: "\ n" друкує роздільник рядка; '\ n' друкує \ N як є.)

Зверніть увагу на кому в операторі друку. Кома розділяє окремі елементи у списку. Оператор друку друкує всі перераховані елементи. Так от просто.

Зараз давайте поглянемо на оператор, який з'єднує 2 фрагменти ДНК $ DNA1, $ DNA2 в змінну $ DNA 3:

$ DNA3 = "$ DNA1 $ DNA2";

Присвоєння значення $ DNA 3 - Це звичайне присвоювання значення, як ви бачили а Примері 4-1, назва змінної, за якою стоїть знак = і після нього слід значення, яке треба призначити.

Значення праворуч від оператора присвоювання це символьний рядок, укладена в подвійні лапки. Подвійні лапки дозволяють змінним в символьної рядку замінюватися своїми значеннями. Це називається інтерполяцією символьного рядка. [2] Таким чином, фактично, символьний рядок тут це всього лише ДНК змінної $ DNA1 за якою слідує ДНК змінної "$ DNA 2. Це конкатенація двох фрагментів ДНК, яка потім присвоюється змінної $ DNA3.

2 Є випадки, коли можна додати фігурні дужки під час інтерполяція символьного рядка. Додаткові фігурні дужки, щоб переконатися, що назва змінних не сплутані з якимись символьними рядками в подвійних лапках. Наприклад, якщо у вас змінна $ prefix і ви намагалися б інтерполювати його в символьну рядок I am $ prefixinterested, Perl може не розпізнати змінну, плутаючи її з неіснуючої змінної $ prefixinterested. Але символьний рядок I am $ {prefix} interested не є двозначною для Perl.

Після встановлення значення ДНК змінної $ DNA3, ви роздрукуєте її, і потім слідує порожній рядок коду.

print "$ DNA3 \ n \ n";

Одне з добре відомих виразів в Perl це «Існує не один спосіб зробити це!». Таким чином, наступна частина програми показує інший спосіб з'єднання двох символьних рядків, використовуючи оператор точку. Оператор точка, коли стоїть між двома символьними рядками, створює одну символьну рядок, об'єднує 2 вихідні символьні рядки. Таким чином, наступна кодова рядок показує використання цього оператора: $ DNA3 = $ DNA1. $ DNA2;

Оператор на мові програмування містить будь-які параметри, в даному випадку - символьні рядки $ DNA1 і $ DNA2, і виробляє дію, повертаючи якесь значення, в даному випадку з'єднану символьну рядок у змінну $ DNA3. Найвідоміші оператори - з арифметики - плюс, мінус, множення, ділення - це оператори, які беруть вихідні два числа як аргумент і повертають число як значення.

На закінчення, для тренування в різних частинах мови, давайте виконаємо ту ж конкатенацію, використовуючи тільки оператор друку.

print $ DNA1, $ DNA2, "\ n";

Тут оператор друку має 3 частини, розділені комами: 2 ДНК фрагмента в 2 змінних і роздільник рядка. Ви можете досягти такого ж результату з наступним оператором друку

print "$ DNA1 $ DNA2 \ n";

Можливо потрібно перефразувати слоган Perl: «Існує не тільки 2 способи зробити це!»

До завершення цієї частини, давайте, звернемо увагу на інші застосування змінних Perl. Ви вже побачили застосування змінних для утримання символьного рядка даних ланцюжки ДНК. Є також інші типи даних, і для них теж потрібні змінні в мові программітрованія. У Perl скалярна змінна, така як $ DNA, може містити символьну рядок, ціле число і число з плаваючою комою (з десятковою комою), логічне значення (true or false) та ін Коли необхідно, Perl обчислює які дані в змінній. А зараз спробуйте додати наступні кодові рядки в Приклад 4-1 або Приклад 4-2, зберігаючи число в скалярну змінну і роздруковуючи її.

4.4. Перетворення ДНК в РНК

Велика частина того часу, який Ви, програміст біоінформатики, витрачаєте, піде на внесення змін, аналогічних тим, що в Прімері 4-1 і 4-2 Примері. В и отримаєте якісь дані, це буде ДНК, протеїн, записи Генетичного Банку або щось ще, потім Ви будете оперувати цими даними і роздруковувати якісь результати.

Приклад 4-3 ще одна програма, яка оперує даними ДНК, вона перетворює ДНК в РНК. У клітці перетворення ДНК в РНК результат роботи тендітних, складних, виправляють помилки молекулярних механізмів [3]. Тут же це проста підстановка. Коли ДНК перетвориться в РНК, все T замінюються на U, і це все, що потрібно знати нашій програмі [4].

[3] Коротко кажучи, кодування ДНК ланцюжка - це зворотне доповнення інший ланцюжка, який використовується як зразок для синтезування його зворотного доповнення, такого як РНК, де Т замінено на U. C двома зворотними доповненнями, це те саме, що кодування заміни T на U.

[4] Ми ігноруємо механізм вирізування ділянок РНК поза інтронів, це ясно. T позначає Тимін; U позначає урацил.

Example 4-3. Transcribing DNA into RNA

Ось висновок даних Примера 4-3:

Ця коротка програма зачіпає важливу частину Perl: здатність можливість легко оперувати текстовими даними, такими як символьний рядок з ДНК. Операції можуть бути різними: трансляція, реверсія, переупорядочивание і т.п. Ці можливості Perl - це одна з головних причин популярності в біоінформатики і серед програмістів в цілому.

Спочатку програма робить копію ДНК і встановлює її в змінну з назвою $ RNA.

$ RNA = $ DNA;

Варто зауважити, що коли цей оператор виконаний, ця змінна $ RN А містить ДНК. [5] Пам'ятайте, Ви вільні називати змінні як Вам завгодно, але через неточні назв змінних можливі плутанини. В даному випадку, після копіювання слід інформативний коментар, а за ним оператор, суть якого змусити змінну $ RNA містити РНК, так що все в порядку. Це спосіб не допустити, щоб в $ RNA містилося що-небудь окрім РНК.

[5] Повернемося до обговорення з Параграфа 4.2.4.3 про важливість порядку частин в операторі присвоєння. Тут значення $ DNA, яке є ланцюжком даних ДНК, була збережена у змінній $ DNA і присвоюється змінній $ RNA. Якби ви написали $ D NA = $ RNA, значення змінної $ RNA (Яке не містить нічого) було б присвоєно змінній $ D NA, фактично знищуючи ланцюжок даних ДНК в цієї змінної і залишаючи 2 порожні змінні.

($ RNA = $ DNA) = ~ s / T / U / g;

У Примері 3-1 виробляється за допомогою цього оператора:

$ RNA = ~ s / T / U / g;

У цьому виразі два нові елементи: оператор зв'язування (= ~) і команда підстановки s / T / U / g.

Очевидно, досить використовувати оператор зв'язування (= ~) для змінних, содеражщіх символьні рядки; тут змінна $ RNA містить ланцюжок даних ДНК. Оператор зв'язування означає «застосувати операцію праворуч від символьного рядка до змінної ліворуч.

Оператор підстановки, показаний на рисунку 4-1, вимагає трохи більше пояснень. Різні частини команди розділені (або розмежовані) косою рисою. S на початку означає, що це підстановка. Після першої / йде T, який вказує елемент в символьної рядку, який повинен бути замінений. Після другої / йде U - це елемент для заміни T. Після третьої / варто g. g означає «global» - це один з можливих модифікаторів, які можуть ставитися в цій частині оператора. Global означає «зробити це заміщення в усій символьної рядку», простіше кажучи, скрізь, де в цій символьної рядку можливо.

Figure 4-1. The substitution operator

Таким чином, значення оператора в цілому - «заміщення всіх T на U в символьної рядку, що міститься в змінної $ RNA».

Оператор підстановки це приклад використання регулярних виразів. Регулярні вираження це ключ до оперування текстовими даними, одне з найпотужніших можливостей Perl, Ви зможете побачити це в наступних розділах.

4.5. Використання документації Perl.

Найважливіший ресурс для Perl програміста це Perl-документація. Вона швидше за все була встановлена ​​на Ваш комп'ютер, а так її можна знайти в інтернеті на сайті Perl. Perl-документація може трохи відрізнятися в різних комп'ютерних системах, але web-версія однакова для всіх. Це версія, на яку я буду посилатися в даній книзі. Подивіться посилання в Додатку A, щоб дізнатися подробиці про різних ресурсах з Perl - документацією.

Щоб спробувати це, давайте знайдемо в довіднику оператор друку. Для початку, відкрийте свій веб-браузер і зайдіть на http://www.perl.com. Потім клікніть на с c илку Документація. Виберіть "Perl 's Builin Functions", потім "Alphabetical Listing of Perl' s Functions". Ви побачите досить довгий альфавітний список функцій Perl. Можливо, якось Ви знову захочете знайти цю сторінку, тому можна зробити закладку на неї у веб-браузері, може виявитися, що ви часто звертаєтеся до неї. Тепер клацніть на Print, щоб прочитати про оператора друку.

Спробуйте показані приклади, щоб відчути, як насправді використовуються мовні особливості. Це звичайно найшвидший спосіб отримати необхідні знання.

Як-небудь при перегляді документації Ви виявите, що читання документації допомагає відповісти на деякі питання, але так само викликає інші. Документація направлена ​​подати всю інформацію в стислому вигляді, що може налякати новачків. Наприклад, документація по функції Print починається так «Друкує символьну рядок або список символьних рядків, розділених комами. Видає TRUE у разі успіху ». Але потім йде купа сміття (або так може здатися на даному етапі навчання): індекс файлу, вихідний потік, списковий контекст ...

Вся ця інформація необхідна в документації, адже насправді Вам колись знадобиться вся інформація. Поки Ви можете не звертати увагу на те, що не потрібно.

Perl документація також містить у собі кілька навчальних програм, які можуть сильно допомогти у вивченні Perl. Вони іноді вимагають великих знань мови, ніж ті, якими володіють новачки, але швидше за все вони виявляться Вам дуже корисними. Вивчення документації - це відмінний спосіб прискорити вивчення мови Perl.

4.6. Розрахунок зворотного додатки за допомогою Perl

Як ви пам'ятаєте з Глави 1, полімер ДНК складається з нуклеотидів. Встановивши тісний взаємозв'язок між 2 ланцюжками ДНК в подвійній спіралі, виявилося, що досить просто написати програму, яка знаючи один ланцюжок роздруковує іншу. Цей розрахунок - важлива частина багатьох біоінформатічекіх програм. Наприклад, при пошуку ДНК в базі даних зазвичай автоматично йде і пошук зворотного додатки ДНК, в результаті може бути знайдена ланцюжок зворотного порядку якогось відомого гена.

Не затягуючи більше, розглянемо Приклад 4-4, в якому використовується кілька відомих властивостей Perl. Як Ви можете бачити, спочатку пробується один метод, який виявляється невдалим, потім інший успішний.

Example 4-4. Calculating the rev erse complement of a strand of DNA

Ось як має виглядати результат Примера 4-4 на вашому екрані:

Ви можете перевірити, чи дійсно 2 ланцюжки ДНК це зворотні набори один одного, прочитавши один зліва направо та іншої справа наліво, тобто почавши читати з різних кінців. Потім порівняйте кожну пару основ, коли читаєте 2 ланцюжки: вони повинні завжди бути в парі С з G і A з Т.

Прочитавши лише кілька символів починаючи з початкової ДНК і зворотного набору ДНК з першої спроби ви побачите, що перша спроба розрахунку зворотного доповнення не вдалася. Це був невірний алгоритм.

З таким Ви іноді будете зустрічатися під час програмування. Ви напишіть програму, завершіть роботу, а потім виявите, що вона не працює так, як ви очікували. У першому випадку ми використовували можливості мови, з якими вже були знайомі, і спробували їх застосувати для нового завдання. Але це не спрацювало. Що було не так?

Ви виявите, що випадок, коли ви пишете код, а він не працює, стає звичним! Тому, Ви або налагоджує синтаксис (що зазвичай легко може бути зроблено за повідомленнями про помилки), або ретельніше обмірковуєте програму, знаходите причину того, чому вона не працює, а потім намагаєтеся розробити новий і більш успішний варіант. Часто для цього потрібно перегляд документації мови програмування, пошук детальної інформації про те, як влаштований мову програмування, в надії знайти можливість усунути проблему. Якщо це може бути вирішено на комп'ютері, отже можливо вирішити і за допомогою Perl. Питання в тому, як саме?

У прикладі 4-4 перша спроба обчислити зворотний набір не вдалася. Кожна основа в символьної рядку була транслюватися як ціла, використовуючи 4 заміни в глобальному вигляді. Потрібен інший спосіб. Ви можете просуватися по ДНК зліва направо, дивитися на кожну основу один за одним, робити зміни в додатковому коді і потім дивитися на наступну основу в ДНК, пересуваючись до кінця символьного рядка. Потім просто розгорнути символьну рядок. Це насправді дієвий метод і його зовсім не складно виконати в Perl, хоча потрібно деякі знання мови програмування, які до Глави 5 не зустрічалися.

Як би не було, в цьому випадку оператор tr, що означає трансляцію або переклад, точно підходить для вирішення завдання. Він виглядає так само, як оператор підстановки, з 3 косими рисами, які поділяють різні частини.

Tr робить точно те, що потрібно. Він переводить один набір символів в інший набір відразу цілком. На Малюнку 4-2 показано, як він працює: набір перекладаються символів знаходиться між першими двома косими рисами. Набір символів, які заміщають вихідні, знаходиться між другою і третьою косими рисами. Кожен символ першого набору переводиться в символи, що на тих же позиціях у другому наборі. Наприклад, в Примері 4-4 C - це другий символ в першому наборі, і він переводиться в другій символ другого набору, а саме в G. Нарешті, оскільки ланцюжок ДНК може кодуватися і великими, і малими буквами (не дивлячись на те, що в цій програмі ДНК представлена ​​тільки великими буквами), обидва випадки в Прімері 4-4 включені в tr оператор.

Figure 4-2. The tr statement

Функція reverse реалізується так само з мінімумом зусиль. Як можна бачити з Примера 4-4, вона створена, щоб змінити порядок елементів, включаючи символьні рядки, на зворотний.

4.7. Білки, файли та масиви

Поки ми створювали програми з послідовностями ДН K. Зараз ми додамо до них не менш важливі послідовності білка. Ось коротко те, що описано в наступних розділах:

Як використовувати дані білкової послідовності в Perl програмі

Як рахувати дані білкової послідовності в файл

Масиви в мові Perl

У решти розділах використовуються і ДНК послідовності, і білкові послідовності.

4.8. Зчитування білків з файлів

Програма взаємодіє з файлами на диску комп'ютера. Ці файли можуть бути на жорсткому диску, CD, дискеті, Zip накопичувачі, магнітній стрічці - будь-якому вигляді постійного запам'ятовуючого пристрою.

Давайте розглянемо, як зчитувати дані білкової послідовності з файлу. Для початку створіть файл на вашому комп'ютері (використовуйте текстовий редактор) і вставте в нього дані якийсь білкової послідовності. Назвіть файл NM_021964fragment.pep (ви можете завантажити його з сайту цієї книги). Ви будете використовувати такі дані (частина білка покажчика людського цинку NM_021964):

Ви можете придумати будь-яку назву, крім тих, які вже використані в тій же папці.

Добре підібрані назви файлів і папок можуть бути так само значимі, як і добре підібрані назви змінних важливі для розуміння програми. Якщо Ваш проект генерує безліч комп'ютерних файлів, Вам потрібно ретельно продумувати, як називати і організовувати файли і папки. Це необхідно як для індивідуальних розробок, так і для командних і багатонаціональних.

Файл NM_021964fragment.pep походить з GenBank ID, де і був знайдений цей білок. Воно також позначає фрагментарний тип даних і містить розширення файлу. Pep, даючи зрозуміти, що файл містить пептид і білкову послідовність. Звичайно, може бути вам могли б підійти краще інші схеми, але мета цього - зрозуміти що знаходиться у файлі перед переглядом вмісту.

Зараз, коли ви створили або скачали файл з білковою послідовністю, давайте розробимо програму, яка прочитує дані білкової послідовності з файлу і зберігає їх в змінну. У Приклад 4-5 показана перша спроба, яка буде доопрацьовуватися у процесі.

Example 4-5. Reading protein sequence data from a file

Зауважте, що роздруковується тільки перший рядок файлу. Зараз я роз'ясню чому.

Vocabulary

A

abb reviation - Скорочення (напр., тексту); абревіатура

absolute value - абсолютне значення, абсолютна величина, модуль (числа)

abstraction - абстракція, відволікання

access - доступ; звернення (напр., до пам'яті ЕОМ, бази даних, каталогу) / / звертатися

accession - 1. надходження, 2. інвентаризація; реєстрація (нових надходжень)

acknowledgement - підтвердження прийому (повідомлення)

acronym - 1. акронім, слово, утворене за першими звуками або складах словосполучення, яке воно заміняє 2. Переважно. в СМС-повідомленнях і електронною поштою: слово, утворене з букв і цифр, які заміняють більш довгі слова або цілі словосполучення: наприклад, L8R = later, CU = see you

action - 1. дію; вплив; 2. діяльність; лінія поведінки, 3. операція

adapt - адаптувати, пристосовувати

addition - додавання, підсумовування; додаток

advanced - 1. покращений, вдосконалений, 2. перспективний, прогресивний; розвинений

agent - 1. агент; представник; посередник; довірена особа; 2. агент (суб'єкт дії), 3. діюча сила; фактор

allow - дозволяти, надавати

alphanumeric - буквено-цифровий

ambiguity - невизначеність; неясність; неоднозначність

amount - кількість, величина; дорівнювати

answer - відповідь; реакція

appear - здаватися

appendix - додаток

application - 1. застосування; використання; 2. прикладна задача

approach - 1. підхід; 2. метод; принцип

aptitude - 1. придатність, відповідність; 2. здатність виконувати (певну) роботу

arbitrary - довільний

archive - архів; сховище

area - 1. (Предметна) область; 2. полі (записи); 3. площа

argument - 1. аргумент, доказ, судження, 2. аргумент, незалежна змінна; параметр

array - 1. масив; 2. лад; 3. таблиця, матриця, грати;

artificial intelligence (AI) - штучний інтелект

assertion - 1. затвердження; 2. судження

assign - визначати, привласнювати, призначати; assignment statement - Оператор присвоювання

associate - Асоціювати, пов'язувати (типи файлів з ​​додатками)

assume - припускати

atom - елементарний об'єкт, атом

authority - 1. повноваження; право; влада посадової особи 2. уповноважена особа; уповноважений орган; 3. нормативний [довідковий] матеріал (напр., покажчик)
authority control - нормативний контроль

B

background - 1. фон; фонова робота / / фоновий; низькопріоритетних; 2. пробільні місця (на фотокопії, мікроформи і т. п.); 3. підготовка; попередні знання; передумова; 4. витоки; походження; біографічні дані; 5. теоретичні основи

backspace - повертатися; переміщати назад; реверсувати; повертати на одну позицію

backup - 1) опора; опорний 2) архівування, архівація 3) резервування; резервний ресурс 4) (технічна) підтримка;

bar - (горизонтальна) смуга; бар'єр

base - 1. база; основа / / базувати (ся); засновувати (ся), 2. база (даних), 3. корінь (слова), 4. підстава; підкладка

behave - 1) поводитися, поступати, триматися 2) працювати без перебоїв (про машину)

behavior - 1. поведінка, лінія поведінки (користувача), 2. режим (роботи)

benchmark - 1. точка відліку, початок відліку; контрольна точка (для порівняння); 2. контрольна задача (для визначення порівняльних характеристик продуктивності системи), 3. атестація (програмного вироби)

benefit - вигода, прибуток

binary search - двійковий [дихотомический] пошук

binding operator - пов'язаний оператор

bioinformatics - біоінформатика (наука, що використовує досягнення біології для розробки абсолютно нових практичних підходів для вирішення проблем охорони здоров'я та сільського господарства, для розробки принципово нових технологій і матеріалів в різних галузях народного господарства); застосування ЕОМ у біології

blank - 1. пробільний матеріал; пробіл; 2. порожня (незаповнена) сторінка, 3. бланк; 4. тире (замість пропущеного або нецензурного слова), 5 заготівля

block - 1. блок; вузол / / блокувати / / блоковий, 2. група, блок (напр., слів, чисел або знаків);

boolean - 1. булево вираз / / логічний, 2. логічний

borrow - запозичувати, займати

bracket - дужка / / укладати в дужки

branch - 1. розгалуження, (умовний) перехід (в алгоритмі або програмі), 2. гілка (напр., алгоритму), 3. відділення, філія (напр., фірми)

breakdown - 1. розподіл; розчленовування; поділ на категорії; класифікація; 2. поломка; аварія

brief - стислий виклад; резюме; зведення; бюлетень / / складати короткий виклад; резюмувати

browse - переглядати

bug - 1. помилка; дефект; 2. перешкода

built-in - вбудований, властивий, вроджений

bunch - зв'язка, пучок, згусток, пачка, букет

C

call - 1. виклик; звернення / / викликати; звертатися; 2. запит / / запитувати, 3. перехід до підпрограми; 4. заявка

capability - 1. можливість; здатність; 2. продуктивність; 3. характеристика

capital letter - заголовна [прописна] буква

capture - 1. збір (даних) / / збирати (дані); 2. фіксувати [зупиняти] (зображення)

carriage return - зворотний хід каретки; повернення каретки

case - складальна каса; uppercase / lowercase - верхній / нижній регістр
1. випадок; обставина, 2. відмінок, 3. оболонка; кейс

cell - 1. осередок; елемент; 2. (Фото) елемент; 3. секція (єдиний ділянка пам'яті у файлі)

chain - 1. ланцюг; ланцюжок, 2. послідовність; chaining - зв'язування; формування ланцюжка; зчеплення (програм)

chapter - 1. глава 2. розділ; секція; сегмент (програми)

character - знак, символ; цифра; буква; ієрогліф; character set - набір символів

characterization - визначення [встановлення] характеристик, особливостей, властивостей

chart - діаграма; схема; таблиця; графік; карта

check - перевірка; контролювати; checking - контроль; випробування

chip - 1. інтегральна схема, ІВ; чіп, 2. мікрокадр (на мікрофіші)

chunk - 1. блок (інформації), 2. проф. шматок програми (на блок-схемі)

class - клас; група; категорія / / клас ООП

classification - класифікація, шифр [ім'я] класу

clear - чіткий; очищати

click - натискати клавішу (маніпулятора "миша");

clone - забезпечувати абсолютну сумісність

clue - ключ; підказка

cluster - кластер / / утворювати кластер (групу)

coding - програмування, кодування (на машинному мовою); кодування;

column - колонка; стовпець; графа

combination - з'єднання; комбінація, поєднання

comma-separated - список з роздільниками-комами

command - 1. команда (див. також instruction); припис; директива; 2. управляти

command interpreter - інтерпретатор команд

command prompt - запрошення (користувача) до введення команди

command window - командне вікно (відображає параметри поточного стану системи і може використовуватися для введення команд в якості альтернативи їх вибором в діалогових вікнах)

comment - коментар; примітка;

common name - загальне ім'я (загальне)

compatibility - сумісність

compendium - 1. компендіум, інструкція, 2. конспект; резюме

compile - 1. компілювати, складати, 2. збирати (матеріал, факти і т.п.)

compiler - компілятор, транслятор програма, що виконує трансляцію вихідного тексту розроблюваної програми з мови програмування високого рівня в еквівалентну програму на цільовому мовою (target language).

complement - доповнення / / доповнювати

complete - завершувати / / закінчений

computation - обчислення, розрахунок; рахунок, підрахунок

computer language - машинний мову

computer power - обчислювальна потужність ЕОМ, обчислювальний ресурс

concatenation - 1. зв'язок, з'єднання; зчленування, 2. каскадне включення; 3. конкатенація, зчеплення

consist - Складатися з; полягати в

condition - 1) умова 2) стан 3) обумовлювати, визначати 4) кондиціонувати (повітря) 5) режим

configure - 1) надавати форму 2) компонувати (верстат) 3) змінювати структуру (напр. системи управління)

conjunction - 1. кон'юнкція, логічне множення; 2. зв'язок; з'єднання

connection - з'єднання; зв'язок; зв'язка; приєднання; включення; підключення

consistency - 1. узгодженість; 2. несуперечність

construct - 1. логічна структура; 2. складати; створювати

contain - утримувати; content - 1. зміст; 2. pl зміст

context - певний сенс (напр. тип значення змінної); режим роботи або стан системи; оточення, середовище виконання програми;

control - управління; / / регулювати; пристрій управління; контроль

control character - керуючий символ

control flow - послідовність комада

conversion - перетворення; конвертування; перенесення (даних з одного носія на інший);

core - сердечник; ядро

correlation - кореляція, співвідношення, взаємозв'язок

coverage - охоплення; зона дії

current - поточний ~ directory - Поточний каталог; ~ value - Поточне значення

curve - крива, графік; траєкторія переміщення

cycle - цикл; період / / циклічно повторювати (ся)

D

DNA - ДНК (дезоксирибонуклеїнова кислота)

data - дані, відомості; інформація; data analysis - аналіз даних; data set - набір даних

database - база даних

decimal - десятковий

decision - 1. рішення; 2. вибір

declare - оголошувати (змінну); стверджувати

default - замовчування / / котрого

define - задати (процедуру); визначити, описати (змінну); definition - тлумачення; чіткість, дозвіл (зображення)

delimiter - роздільник символ (пробіл, табуляція, кома і т.п.); обмежувач

demand - запит / / запитувати; вимагати; потребу; опитування

demo - демонстраційний приклад (роботи системи)

denied - відмовляти; заперечувати

depend - залежатиме; покластися

description - опис; характеристика; інструкція

design - 1. проектування; конструювання; розробка / / проектувати; конструювати; розробляти, 2. проект; задум

destination - адресат інформації; пункт призначення (переданого повідомлення)

development - 1. розробка; розвиток; вдосконалення; 2. прояв (зображення)

device - 1. пристрій; пристосування; апарат; прилад, 2. спосіб; средствo; прийом, 3. визначник (у класифікації)

difference - 1. різниця, 2. видову відмінність

digit - 1. цифра; розряд, 2. символ; знак

directive - покажчик; директива / / керуючий

directory - 1. керівництво; 2. каталог; довідник; список адрес

discard - шлюб / / відбраковувати

display - дисплей; (візуальне) уявлення, відображення, висновок (даних); зображення (на екрані)

distribution - розподіл (напр. мат.)

division - підрозділ; підклас; поділ

domain - (предметна) область, домен, володіння

drive - 1. рушійний механізм / / рухати 2. накопичувач (на дисках або стрічці)

drop-down - випадаючий (список, вікно)

duplex - двосторонній; спарений

E

echo - луна, повторне зображення (що заважає сприйняттю основного)

edition - випуск; видання

editor - редактор, редагуються програма

effect - 1. вплив; дію; вплив; 2. ефект; слідство; результат

efficiency - 1. економічна ефективність; продуктивність; продуктивність; прибутковість; 2. коефіцієнт корисної дії, ККД, коефіцієнт використання

eliminate - усувати, анулювати, виключати (невідоме)

embed - вставляти

empty - порожній, порожнистий; empty list - порожній список

encapsulated - інкапсульований, що містить усередині себе ще що-небудь

encoding - кодування; шифрування

enter - ввід / / вносити, вступати

entity - 1. сутність; істота; 2. річ; об'єкт; entire - цілісний

entry - 1. опис; запис 2. проникнення; 3. входження, елемент

environment - 1. навколишнє середовище; оточення, (навколишнє) обстановка, умови, 2. контекст; 3. конфігурація (напр., мережі або системи)

equipment - обладнання; прилади; апаратура

erasing - стирання (записи); руйнування (інформації)

error - помилка; похибка

error message - повідомлення про помилку

escape character - знак переходу (напр., з одного регістра в інший); знак зміни регістру; знак перемикання коду

eval - скор. від evaluation 1) оцінка 2) обчислення

event - 1. подія, 2. результат, результат

evidence - факти; свідоцтва

exception - виключення; виняткова ситуація

exchange - 1. обмін; заміна / / обмінюватися; замінювати; 2. комутаційна станція; комутатор; 3. автоматична телефонна станція, АТС; 4. телефонна мережа

exclamation mark - знак оклику

execution - виконання, виконання (програми, команди)

exists - Бути, виживати

explanation - 1. пояснення, роз'яснення, 2. тлумачення

explicit - докладний, точний; певний

explore - дослідити; вивчати

expression - 1. вираз (якого-небудь ознаки); експресія 2. віджимання, вижимання, видавлювання

extension - 1. розширення (напр., імені об'єкта); 2. продовження, поширення (індексів), 3. обсяг (поняття); лот. екстенсія, протяжність

extent - 1. безперервна область (напр., у пам'яті, що резервуються для даних); 2. ступінь; міра

extra information - додаткова інформація

extract - витримка; витяг / / витягати; вибирати;

extraneous information - стороння інформація

extreme programming - XP екстремальне програмування, одна з методологій розробки ПЗ

F

facility - 1. пристрій, 2. pl засобу; обладнання; апаратура; технічна база; 3. pl функціональні можливості; 4. зручність

fail - 1. пошкодження; несправність; збій, відмова в роботі / / ушкоджуватися; виходити з ладу; відмовляти в роботі; 2. не досягати успіху (напр., у пошуку інформації)

failure - 1. пошкодження; несправність; збій, відмова в роботі; 2. невдача, несприятливий результат

faster - прискорювач (напр., логічного пошуку)

feature - 1. ознака; властивість; особливість 2. функція; функціональна можливість

feature based - заснований на виділенні ознак

feedback - зворотній зв'язок

field - 1. поле; простір; область; зона; 2. поле, група розрядів

figure - 1. цифра / / позначати цифрами, 2. число; 3. фігура; малюнок; креслення

file - 1. (Пошуковий) масив, 2. файл, набір даних (в машиночитаній формі) / / формувати [організовувати] файл; заносити в файл; зберігати у файлі

file attribute - атрибут файлу підтримуваний файлової системою ознака, що дозволяє упорядкувати роботу з файлами.

filehandle - логічний номер (індекс) файлу, описувач файлу

filter - 1. фільтр / / фільтрувати; 2. програма фільтрації

fix - 1. встановлювати; зміцнювати; закріплювати; 2. фіксувати, закріплювати (зображення), 3. виявляти [реєструвати] розташування (напр., помилки) / / визначення місцеположення (напр., помилки)

flag - 1. прапор, прапорець, 2. ознака; ідентифікатор; 3. позначати

flow control - управління потоками (даних)

folder - папка (директорія)

font - шрифт

forbidden - заборонений

form - 1. форма; 2. бланк; формуляр; 3. уявлення (інформації в пам'яті машини), 4. сторінка (роздруківки або друкованого документа); form of output - форма видачі (даних)

fragmentation - фрагментація

frame - 1. група [блок] даних; 2. кадр на стрічці; кадр (зображення), 3. фрейм (в штучному інтелекті), 4. система координат; система відліку, 5. рамка; (фото) копіювальна рама

free - 1. вільний, незв'язаний (в координатному індекси-ровании), 2. безкоштовний

frequency of occurrence - частота зустрічальності

function - 1. функція, призначення / / функціонувати, діяти, 2. функція (математична); 3. функціональний підрозділ

functional unit - функціональний пристрій; функціональний блок, блок (реалізації) функції; функціональний елемент

G

GC - генетичний код

gain - 1. приріст, збільшення; 2. виграш, вигода, 3. отримувати, купувати;

gap - інтервал, проміжок; пропуск; пробіл, лакуна

gathering - 1. комплектування [добірка] листів або зошитів; 2. друкований лист; зошит (книжкового блоку); сфальцованний друкарський лист; 3. збір / / збирати

general rule - загальне правило

generation - 1. створення; освіта; формування; 2. генерування; породження; 3. покоління (напр., мікрокопії)

genetic algorithm (GA) - генетичний алгоритм (спроби намішати найбільш перспективні варіанти рішень з деякого початкового набору варіантів)

genetic background - генетична середу

genetic carrier - носій рецесивного гена

genetic code overlapping - перекривання генетичного коду

genetic engineering - генна інженерія область молекулярної біології, що вимагає величезних обчислювальних ресурсів

genus - рід

get in - 1. ущільнювати текст, 2. вганяти рядок (напр., зменшенням інтервалів)

gibberish - непотрібні дані; непотрібна інформація (у пам'яті), проф. сміття, "полова"

goal - мета; цільова установка

grade - клас; ступінь; ранг

graph - 1. графік; діаграма; крива; номограма; 2. граф

guessing - (несуворі) міркування з використанням здогадок (у системі штучного інтелекту)

guide - 1. керівництво, путівник, 2. розділова картка, розділювач / / постачати роздільниками

guidelines - керівні принципи

H

hand - 1. почерк, 2. підпис; 3. вказівний знак у вигляді зображення руки, 4. подавати, вручати

handler - 1. блок управління; маніпулятор; 2. програма обробки, обробник

hard disk - жорсткий магнітний диск

hash - тип даних Хеш 1. непотрібні дані (сміття в пам'яті); перешкоди 2. перемішувати

head - заголовок; рубрика; "шапка" (див. також header, heading)

health - стан, ступінь справності

hierarchical - ієрархічний

highlight - 1. найбільш яскрава область зображення; 2. блік, 3. висвічувати, виділяти (частина тексту або зображення на екрані дисплея)

hi n t - підказка, натяк

hit - 1. відповідь, відповідна довідка (при пошуку), 2. збіг (при пошуку), 3. імпульсна перешкода; 4. спалах / / спалахувати; 5. ударяти (по клавіші)

holding - зберігання (інформації)

home directory - початковий каталог

human knowledge - людські знання

I

icon - умовне графічне представлення, піктограма

identification - 1. ідентифікація; ототожнення, 2. визначення; розпізнавання; 3. позначення

identifier - ідентифікатор, а ім'я

identity - 1. ідентичність, тотожність, 2. тотожність

include - укладати (напр. файл в проект)

index - 1. індекс; покажчик / / постачати покажчиком; індексувати, 2. покажчик; каталог; картотека / / складати покажчик; заносити в покажчик, 3. показник ступеня; коефіцієнт

infer - робити логічний висновок

informatics - 1. інформатика (наукова дисципліна, що вивчає структуру і властивості інформації, історію, методику та організацію її збору, обробки, зберігання, пошуку, розповсюдження і використання в усіх сферах діяльності) див.також information science, 2. автоматизована обробка даних

initial - 1. ініціал, 2. початковий, вихідний

initialize - 1. ініціалізувати, 2. встановлювати в початкове [вихідне] стан; 3. задавати початкові умови

input / output 1) ввід-вивід 2) пристрій введення-виведення 3) дані вводу-виводу; 4) подавати на вхід / вихід
~ File - вхідний файл / вихідний файл

insert - вставка / / вкладати; вставляти

installation - 1. установка, будову, 2. установка, монтаж, 3. розташування, розміщення

instance - 1. приклад, 2. примірник (напр., об'єкта бази знань)

instruction - 1. команда (див. також command, order), 2. Інструкції; програма дій; 3. навчання

integer - ціле число / / цілий (про тип даних)

integral - 1. цілий; цілісний; 2. об'єднаний; інтегральний; 3. невід'ємний

intelligence - 1. розум, інтелект, 2. відомості, повідомлення; інформація; 3. розвинуті; логічні функції або можливості; 4. вбудовані мікропроцесорні засоби; 5. розвідка

interact - взаємодіяти

interface - 1. інтерфейс; пристрій сполучення, пару; засіб сполучення; 2. сполучення; узгодження / / сполучати; погоджувати; 3. взаємодія / / взаємодіяти

interpolate - 1. інтерполювати; 2. робити вставки (в схему класифікації або текст); вставляти слова або зауваження

interpreter - інтерпретатор - програма або середовище програмування, в якій можна виконати трансляцію вихідного тексту розроблюваної програми та її виконання без отримання відповідного машинного коду.

introduction - 1. вступ; внесення; 2. подання; 3. передмова

issue - 1. проблема, результат; 2. випуск; видання / / випускати

italic - l. курсив; 2. курсивний (про шрифт)

item - 1. елемент; одиниця; елементарна група; 2. пункт; параграф, стаття 3. друкована одиниця; одиниця зберігання (в бібліотеці); 4. елемент даних; 5. газетна замітка; повідомлення

iteration - 1. повторення, ітерація; 2. крок (в итеративном процесі); 3. цикл

J

join - 1. об'єднання; операція включає АБО, 2. з'єднання (операція над відносинами в реляційних базах даних) / / виконувати операцію з'єднання, виконувати з'єднання (над відносинами в реляційних базах даних); 3. об'єднувати; з'єднувати

journal - 1. журнал (лог, реєстрація роботи системи) 2. журнал, газета

justification - 1. виправдання; підтвердження; пояснення; 2. вертикальне вирівнювання тексту

K

key - 1. ключ; кнопка; клавіша; перемикач, 2. ключ, шифр, код; вказівка ​​до рішення; 3. перемикати; працювати ключем; комутувати

keyboard - 1. комутаційна панель; 2. клавіатура, набирати на клавіатурі

keyword - ключове слово

kind - якість, сорт, ознака

kit - набір; комплект (напр., матеріалів з ​​якого-небудь предмету)

L

label - ярлик; етикетка; мітка / / позначати, позначати, маркувати

lag - 1. запізнювання, затримка, відставання; 2. інтервал (часу)

layout - 1. розміщення, розташування; компонування; 2. формат (напр., документа); 3. макет

leaves - листя (записи самого нижнього рівня ієрархічної бази даних)

letter - 1. буква, символ; знак / / позначати літерами; 2. літера; шрифт; 3. лист

level - 1. рівень / / встановлювати [регулювати] рівень; 2. ступінь

life - 1. довговічність, термін служби; 2. ресурс

limit - межа, кордон / / обмежувати, служити кордоном

line - лінія; ряд; рядок

line break - кінцева рядок (абзацу, сторінки)

link - 1. посилання (на сторінку в інтернеті), 2. зв'язок, ланка / / пов'язувати

list - 1. список / / вести [становити] список; 2. перелік; перерахування / / складати перелік; перераховувати; 3. таблиця

listing - лістинг, роздруківка; в програмуванні - роздруківка вихідного тексту програми (або результатів її роботи) на папері або відображення його на екрані

loading - 1. завантаження (пам'яті або в пам'ять); 2. заправка (стрічки), 3. зарядка (касети, магазину)

location - 1. розстановка; розміщення; розташування; 2. місцезнаходження; місце розташування; 3. комірка (ЗУ), 4. адреса клітинки

log - 1. реєстрація, запис (інформації); протокол / / реєструвати, записувати (інформацію); протоколювати; 2. журнал реєстрації

look - перегляд: пошук; крок пошуку;
to look up - шукати; відшукувати

loop - 1. петля, 2. контур; (замкнута) ланцюг, 3. цикл

M

M ac - макінтош

machine - 1. Машина; механізм, будову, апарат / / машинний, 2. Обчислювальна машина; лічильна машина (див. також computer), 3. рідко. процесор

mailing list - поштовий реєстр

main memory - основна пам'ять, основне запам'ятовуючий пристрій; оперативна пам'ять, оперативне запам'ятовуючий пристрій; ОЗУ

maintenance - (технічне) обслуговування; підтримка; експлуатація (системи); супровід (напр., системи програмного забезпечення); ведення (напр., масиву)

management - 1. керівництво; управління; організація, 2. керівництво, керівний склад

map - 1. карта; план; схема / / наносити на карту; складати карту або схему, 2. карта (розподілу); 3. відображення, відповідність / / відображати, встановлювати відповідність; 4. перетворювати дані (з однієї форми в іншу)

mark - 1. мітка, маркер; знак / / відзначати; маркувати; позначати, ставити знак; 2. штамп, штемпель; фабрична марка, фабричне клеймо / / штампувати, штемпелевать

match - 1. збіг (ознак); равносильность; 2. порівнювати, зіставляти; ототожнювати, приводити у відповідність

matter - 1. матеріал; 2. сутність, зміст, 3. предмет (обговорення і т. п.); 4. рукопис; оригінал; 5. надрукований [набраний] матеріал (текст)

measure - 1. міра / / міряти, вимірювати, 2. межа; ступінь; 3. масштаб; мірило; критерій; 4. ширина стовпця

memorize - 1. запам'ятовувати, зберігати, 2. передавати в пам'ять

message - повідомлення; посилка, переданий блок інформації

metacharacter - метасимвол (metasymbol), символ метамови

miss - втрата, невдача, пропуск

misspelling - орфографічна помилка, написання з орфографічними помилками

mode - 1. спосіб, метод; принцип (роботи), 2. режим (роботи), 3. стан, 4. вид; клас; 5. мода, найбільш ймовірне значення

modify - модифікувати; змінювати; видозмінювати; modifier - модифікатор

multiple - 1. кратне (число) / / кратний; 2. багаторазовий, множинний, численний

N

negation - заперечення (логічна функція або операція)

nesting - 1. формування гнізда; здійснення вкладень, вкладення; 2. вкладеність; 3. рекурсивне побудова складних схем (на базі розроблених)

notice - 1. замітка; оголошення; посліду / / помічати, 2. огляд; рецензія / / рецензувати, 3. повідомлення, повідомлення; попередження / / сповіщати, повідомляти; попереджати

O

obviously - явно, зрозуміло, тривіально

octal - восьмеричний

open source code - відкриті вихідні тексти, відкриті вихідні коди принцип, який полягає в тому, що вихідний код системи, що розробляється повинен вільно і безкоштовно надаватися всім бажаючим її удосконалити

operand - операнд, об'єкт (дії)

operation - 1. операція; дію; 2. робота; функціонування; 3. режим (роботи), 4. спрацьовування (приладу); 5. рідко. управління

operator - 1. оператор; операція; 2. оператор (осіб)

option - 1. вибір, 2. варіант, версія; елемент вибору, (факультативна) можливість; варіант додатки

order - 1. порядок (розстановки), послідовність / упорядковувати, приводити в порядок, 2. порядок (величини); кратність, ступінь; 3. команда; 4. замовлення / / замовляти
ascending - зростаючий порядок; des cending - регресний

ordered set - упорядкований безліч

original - 1. оригінал, оригінал / / справжній, 2. першоджерело / / початковий; вихідний

out of date - застарілий, що вийшов з ужитку

outline - 1. контур; обрис, 2. схема; план; 3. елемент блок-схеми

P

pair - пара / / з'єднувати попарно; підбирати під пару / / парний удвоє

parent - предок, батько, джерело

parentheses - круглі дужки

parse - синтаксичний аналіз, синтаксичний розбір; граматичний розбір / / аналізувати, розбирати

partition - 1. розділ; частина; сегмент; сектор; 2. числом; поділ; розбиття / / розчленовувати / / розділяти, розбивати

path - 1. шлях; доріжка; тракт, 2. маршрут (в мережі); 3. ланцюг; гілка (програма), 4. траєкторія

pattern - 1. образ, зображення, копія; 2. зразок; шаблон; модель; стереотип (напр., поведінки); 3. схема; структура; 4. (Конкретний) набір; (конкретна) комбінація (напр., символів), 5 конфігурація

permit - дозвіл

plain text - відкритий (незакодірованний) текст

plant - 1. приміщення (напр., бібліотеки), 2. об'єкт управління; 3. ховати (команду в пам'яті)

point - 1. точка, пункт, місце, 2. точка (знак), 3. кома (у дробах); 4. ставити розділові знаки; 5. вказувати, показувати

pointer - 1. покажчик, 2. стрілка (напр., годинників, вимірювального приладу і т.п.)

policy - політика; стратегія

population - 1. сукупність; 2. заповнення (файлу)

position - 1. позиція; (місце) стан / / позиціонувати; 2. місце (цифри); розряд (числа); 3. посаду (в організації)

precision - точність

predictable - прогнозований, передбачуваний

pretty printer - програма структурної роздруківки, яка аналізує вихідний текст програми і друкує його таким чином, щоб була ясно видна структура програми, наприклад виділяє відступами рівні вкладеності циклів

printout - роздруківка, тверда копія, лістинг (програми)

privacy - таємність, конфіденційність (інформації); особиста таємниця (характер інформації); збереження таємниці (при зберіганні інформації)

processing - обробка даних; preprocessing - попередня обробка

produce - продукція / / виводити; re produce - відтворювати

programming methodology - методологія програмування сукупність поглядів на організацію розробки ПЗ і його логічну структуру, втілена у вигляді сукупності інструментальних і мовних засобів, підтримана прийнятої в організації нормативною базою, системою навчання і сформованої корпоративною культурою

programming style - стиль програмування різновид тієї чи іншої методології програмування, використовувана при кодуванні програми

programming techniques - методи програмування; методологія програмування

project - 1. проект; 2. проектувати

prompt - підказка (користувачеві з боку діалогової системи) / / підказувати

property - Властивість, право, реквізит; property sheet - відомість властивостей (напр., підлягає форматуванню тексту в текстовому редакторі)

protein - Білок

Q

qualifier - визначник, класифікатор

quality - якість

quantity - кількість

query - запит (інформаційний)

query language - Мова запитів

quote - 1. цитувати / / витримка, 2. лапки

R

RNA - (RiboNucleic Acid) рибонуклеїнова кислота

random - випадковий, обраний навмання; довільний

range - 1. область; діапазон; інтервал; ряд

rank - ранг / / ранжувати, розташовувати у певному порядку, встановлювати черговість / / ранговий; котируватися

rapid access - швидкий доступ

readability - 1. читабельність, 2. удобочитаемость

real time - 1. реальний час; реальний масштаб часу / / працює в реальному (масштабі) часу; 2. істинне час; істинний масштаб часу / / протікає в істинному (масштабі) часу

recall - 1. відшукання в пам'яті, виклик з пам'яті / / відшукувати в пам'яті, викликати з пам'яті, згадувати, 2. нагадування / / нагадувати

recognize - розпізнавати, впізнавати; розрізняти

record - 1. запис; реєстрація (фактів) / / записувати, реєструвати, 2. протокол (засідання і т.п.) / / протоколювати, заносити до протоколу; 3. офіційний документ, запис, звіт; реєстру; 4. грамофонна платівка, запис на грамофонній платівці, 5 запис (структурна одиниця інформації); 6. зона (на магнітній стрічці)

redundancy - 1. надмірність, 2. резервування; 3. надлишкове обладнання, резерв

refer - 1. посилати, посилати, направляти, 2. звертатися, справлятися; 3. ставитися, мати відношення; 4. посилатися

reference - посилання; виноска

regular expression - Регулярний вираз

relational - 1. реляційний; 2. споріднений (про дані); 3. відносний

release - опублікований матеріал / / випускати (з друку і т.п.); release candidate (RC) передвипускна версія, здавальна версія версія ПЗ, зібрана перед випуском нового релізу. Над цією версією вже не ведуться ніякі роботи, окрім тестування та підготовки до здачі

relevant - релевантний, відповідний інформаційним запитом

remote - дистанційний, віддалений

remove - Зміщувати, усувати / / віддаленість

replacing - заміна, заміщення; підстановка; перестановка

replication - 1. заперечення, відповідь; 2. відображення; репродукування

repository - сховище даних; інформаційний архів

representation - 1. уявлення (даних, знань, зображень); зображення, відображення, 2. спосіб завдання (функцій)

request - 1. запит; заявка / / запитувати, 2. вимога; прохання / / просити (про що-л.)

research and development - (наукові) дослідження та розробки

reserved word - зарезервоване слово

reset - відновлення, скидання

resist - захисний шар / / протистояти

response - 1. відповідь, відповідь дія, реакція, 2. характеристика; залежність; 3. сприйнятливість, чутливість

restriction - 1. обмеження; 2. перешкоду, перешкода

retrieve - (знову) знайти; отиск (ів) ать

return - 1. повернення / / повертати 2. оборот; дохід

reverse - зворотний / / перевертати

review - огляд / / рецензувати

root - корінь (мат., системи); root user - привілейований користувач

row - ряд; рядок (матриці або багатовимірного масиву)

rule of thumb - практичне правило, емпіричне правило; практичний прийом (на відміну від наукового)

run - 1. (Одноразовий) прохід, прогін (програми) 2. робота, хід (машини)

S

sample - зразок; еталон

scalar - скалярна величина

scale - шкала; масштаб / / масштабувати, 2. система числення

scheduling - складання розкладу, графіка або (календарного) плану; планування; розподіл (напр. машинного часу)

scheme - 1. план; проект, програма, 2. схема, креслення; 3. конспект; короткий виклад

scope - межі; сфера; масштаб; контекст

screen - 1. екран; щит / / прикривати 2. зображення (на екрані) / / відображати на екрані; 3. сито, фільтр / / просівати

script - оригінал; сценарій; почерк; script language - мова сценаріїв

select - вибирати, відбирати, підбирати; виділяти

semicolon - крапка з комою

sense - 1. значення (слова), 2. зчитування / / зчитувати; 3. упізнання; сприйняття / / впізнавати; сприймати

sentence - пропозиція

separator - 1) той, хто розділяє, відокремлює, роз'єднує 2) роздільник, розділовий знак

sequence - послідовність; порядок (прямування) / / встановлювати послідовність; впорядковувати

set - 1. набір, комплект, 2. безліч; сукупність; 3. радіоприймач; телевізійний приймач, телевізор; 4. станція; установка; апарат, будову, 5. установка; регулювання; настройка / / встановлювати; монтувати; регулювати; налаштовувати; 6. набір / / набирати (текст); 7. комплект; гарнітура (шрифту); 8. психол. настрій

setting - 1. установка, регулювання, регулювання; настройка; 2. установка в певне положення або стан; 3. набір (тексту)

share - 1. частка; частина; участь / / розділяти; спільно [колективно] використовувати; участь; 2. акція; пай / / бути пайовиком

shell - оболонка

shift - 1. зрушення; зсув / / зрушувати; зміщувати; 2. зміна регістру; 3. (Робоча) зміна

sign - 1) знак, символ

significance - 1. значення, сенс (напр. слова), 2. значимість

simulation - моделювання; імітація; імітаційне моделювання

site - 1. місце розташування; 2. веб-сайт

size - 1. розмір; 2. обсяг (вибірки); 3. ємність (ЗУ)

slash - коса риса (символ або математичний знак)

source - джерело; source code - вихідний текст [програми]

spaghetti code - заплутана, погано спроектована, слабо структурована і важка для розуміння програма

statement - твердження, оператор (синтаксична конструкція)

store - запас; restore - Відновлювати; storage - Зберігання

stream - Потік

string - рядок а) в мовах програмування - тип даних, що дозволяє обробляти послідовності символів, тому іноді її називають символьної, або текстової (text string)

string matching - зіставлення рядків

structured programming - структурне програмування методологія проектування програм

subject - предмет, тема

subroutine - підпрограма; ~ library - Бібліотека підпрограм

subset - підмножина

substitute - заміна; substitution - підстановка

success - досягнення; удача

summary - резюме

support - забезпечення, підтримка

survey - огляд

syntax - синтаксис, набір формальних правил запису речень мови програмування або команд операційної системи. Синтаксис мови описується його граматикою (grammar), а значення пропозиції визначається семантикою мови програмування (semantics)

system - система; operational ~ - операційна система, що діє система (що знаходиться в робочому стані)

T

tab - 1. етикетка, ярлик, 2. виступ

table - 1. таблиця; табель; tabulation - зведення в таблиці; 2. стіл

tag - 1. ознака, мітка / / постачати ознакою, помічати, маркувати, 2. етикетка; бирка; ярлик

tape - стрічка

target - мета, мішень

task - 1. задача; завдання / / ставити завдання, 2. гілка (програми)

template - шаблон; трафарет; маска; еталон (в системах розпізнавання)

term - 1. термін, 2. член (логічного виразу), 3. термін; 4. гонорар

text manipulation - обробка текстів; перетворення текстів

throughout - по всьому, у всіх відносинах

throughput - продуктивність (машини); пропускна здатність (каналу)

tool - знаряддя, інструментальне засіб

trace - слід / / стежити; відслідковувати

track - 1. доріжка (на диску); канал, тракт

transcribe - 1. переписування (даних з перетворенням або без перетворення); 2. розшифровка

transfer - передача; перенесення, перехід / / передавати; переносити

translation - 1. переклад (з однієї мови на іншу); 2. трансляція (програми), 3. перетворення

treat - обробляти; трактувати; лікувати

true - <істина> (значення булева висловлювання) / / істинний

truncate - усікаємо, відкидати; (достроково) завершувати процес обчислень

tutorial - навчальний посібник; наставницької

type - 1. тип; рід; клас; вид; 2. літера; шрифти; 3. друкувати, набирати на клавіатурі

U

underscore - 1. символ підкреслення / / підкреслювати, 2. давати занижену оцінку

unit - 1. одиниця; єдине ціле; 2. одиниця виміру; 3. пристрій; вузол; блок; прилад; ланка; елемент

up to date - Сучасний, новітній

usage - 1. частота використання, що використовується; 2. слововживання

V

validation - перевірка достовірності; підтвердження правильності; атестація

value - 1. значення, величина; 2. оцінка / / оцінювати, 3. вартість; ціна; цінність

variable - 1. змінна (величина); 2. змінюваний; змінний; регульований

variable name - ім'я [ідентифікатор] змінної

vehicle - носій (даних, інформації)

verify - контролювати; перевіряти; звіряти

void - порожнеча, очищати

volume - 1. обсяг, місткість, купа, 2. рівень гучності; 3. книга, тому

W

warning - попередження

workstation - робоча станція; автоматизоване робоче місце

Z

zip - проноситися (напр. курсор миші на екрані); zipped file = zip file архівний zip файл




Додати в блог або на сайт

Цей текст може містити помилки.

Астрономія | Книга
212.9кб. | скачати


Схожі роботи:
Книга для кожного висвітлює наше особисте рух до істини МПрішвін
Булгаков м. а. - Книга для кожного висвітлює наше особисте рух до істини. М. Пришвін.
Регулярні вирази в perl
Використання мови Perl
Фізіологічні основи для застосування ЛФК для лікування захворювань серцево судинної системи
Захищаємо Perl шунт в мозок або звіряча нейрохірургія
Фізіологічні основи для застосування ЛФК
Основи квантової механіки та її значення для хімії
Основи сексології факультативний курс для старшокласників
© Усі права захищені
написати до нас