Учимся программировать на Perl Как установить Perl под Windows? Active Perl Как установить Perl под Windows? Active Perl Как установить Perl под Windows? - Active Perl Как установить Perl под Windows? - Active Perl Как установить Perl под Windows? - Active Perl По умолчанию Perl устанавливается в папку C:\Perl\ Как установить Perl под Windows? - Active Perl Как установить Perl под Windows? - Active Perl Как установить Perl под Windows? - Active Perl Как установить Perl под Windows? - Active Perl Как установить Perl под Windows? - Active Perl Как установить Perl под Windows? - Active Perl Ваш первый perl-script: 1. Создайте текстовый файл, назовите его try1.pl. 2. Набейте в файле (в редакторе Notepad, например) #!/usr/bin/perl print ”My first perl-script!\n"; 3. Сохраните файл try1.pl 4. Для запуска скрипта, вызовите терминал: Start->Run->cmd 5. Перейдите в директорию, где находится скрипт try1.pl. Например, >cd с:\myscripts. >dir - покажет содержимое директории 6. В командной строке набейте > perl try1.pl Perl - основные правила • • • • Строка заканчивается ; Пустые строки игнорируются Комментарии начинаются с # Первая строка всегда #!/usr/bin/perl • Переменные начинаются с – $var - скалярная переменная (число, символ, строка) – @array - массив – %hash - хэш Ваш второй Perl-script #!/usr/bin/perl -w $string=“My 2nd perl script\n”; print “$string\n”; print $string, “\n”; print “\n”; $s1=“My 2nd”; $s2=“perl script\n”; $s3=$s1.$s2; print “$s3\n”; #забыли пробел между подстроками $s4=$s1.”\s”.$s2; print “$s4\n”; Домашнее задание 1 Какое будет значение переменной $i после каждой из операций? $i=“”; $i=1; $i++; $i *= $i; $i .= $i; $i = $i/11; $i = $i . “score and” . $i+3; $i = $i+3 . “score and” . $i; Сначала попробуйте догадаться, а потом проверьте свои предположения, запустив скрипт. Запустите его с первой строкой #!/usr/bin/perl -w и без флага -w command-line blast • Загрузите последнюю версию BLAST ftp://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST/ Установка пакета Blast на Windows Пошаговая инструкция: http://www.ncbi.nlm.nih.gov/staff/tao/URLAPI/pc_setup.html • По умолчанию BLAST будет установлен в C:\blast-2.2.26+ • Поддиректория bin содержит основные программы пакета BLAST • Поддиректория doc содержит user manual в формате pdf. • Cуществует uninstaller Установка пакета Blast на Windows Конфигурация По умолчанию инсталлятор создает переменную окружения BLASTDB со значением C:\blast-2.2.26+ Для удобства можно изменить ее значение на C:\blast2.2.26+\db Установка пакета Blast на Windows Форматирование баз данных Coздайте директорию c:\blast\db. можно скачать уже форматированные базы данных с ftp://ftp.ncbi.nlm.nih.gov/blast/db/ Можно отформатировать самим с помощью утилиты makeblastdb: >cd C:\blast\db для нуклеотидов >makeblastdb -in testdb.fasta -out testdb -dbtype nucl для белков >makeblastdb -in testdb.fasta -out testdb -dbtype prot Для справки о всех параметрах >makeblastdb -help" Есть утилита обновления версий конкретной базы данных update_blastdb.pl (perl должен быть установлен) >perl update_blastdb.pl --passive database где database - название базы данных без расширения .tar.gz Запуск blast • Загружается командная строка или >blastall -p blastp -i my_query.faa -d mydb.faa -o ouput.txt Например => Запуск BLAST • Скачиваем геномы в виде набора белков двух бактерий: Aeropyrum_pernix_K1_uid57757.faa and Spirochaeta_thermphila.faa Форматируем геномы: >makeblastdb -in Aeropyrum_pernix_K1_uid57757.faa -out Aeropyrum_pernix_K1_uid57757 -dbtype prot >makeblastdb -in Spirochaeta_thermphila.faa -out Aeropyrum_pernix_K1_uid57757 -dbtype prot Запускаем BLAST: >blastall -i Spirochaeta_thermphila.faa -d Aeropyrum_pernix_K1_uid57757.faa -p blastp -o blast.out -I T -e 1E-4 -m 8 blast.out # Fields: Query id, Subject id, % identity, alignment length, mismatches, gap openings, q. start, q. end, s. start, s. end, e-value, bit score Попробуйте запустить blast c флагами -m 8, -m 9 и без флага вообще Распечатать только те хиты, у которых % идентичности>=50 #!/usr/bin/perl open(IN,"<blast.out") or die "file blast.out cannot be open: $!\n"; while(<IN>){ $string=$_; chomp($string); @a=split("\t",$string); if($a[2]>=50){ print "$string\n"; } } close(IN);