perl update_blastdb.pl --passive database

advertisement
Учимся
программировать
на
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);
Download