3

如果我有它们的坐标,如何使用 Perl 脚本从基因组浏览器 (UCSC) 中提取 DNA 序列?

4

1 回答 1

6

您可以将DAS 序列请求通过管道传输到解析出包含该序列的 XML 元素的 Perl 脚本中。

例如,以下是curlUCSC的DAS服务器的请求,丢弃标准错误,通过管道传送到parseSeq.pl

$ curl http://genome.ucsc.edu/cgi-bin/das/hg19/dna?segment=1:10000,10999 2>/dev/null | parseSeq.pl

的输出将是一个 XML 文档,其中包含来自人类基因组组装的curl1000 个碱基 DNA 序列。该请求要求从第一个染色体开始从hg1910000 到 10999(请记住 UCSC 是基于 0 的)。XML 将包含一些对日志记录和错误检查有用的其他内容。

将 XML 导入 Perl 脚本后,您可以使用 Perl 的XML::Simple模块快速解析出您想要的内容。

为了帮助您入门,您的parseSeq.pl文件可能以:

#!/usr/bin/perl -w                                                                                                                                                                                                                          

use strict;                                                                                                                                                                                                                                 
use XML::Simple;                                                                                                                                                                                                                            
use Data::Dumper;                                                                                                                                                                                                                           

my $xml = new XML::Simple;                                                                                                                                                                                                                  
my $ref = $xml->XMLin('-');                                                                                                                                                                                                                       

print Dumper $ref;

这个输出应该给你足够的开始来提取 DNA 序列$ref

于 2010-04-29T09:19:50.297 回答