Smalltalk 请帮助我从磁盘读取genbank文件并将其转换为fasta

Smalltalk 请帮助我从磁盘读取genbank文件并将其转换为fasta,smalltalk,pharo,fasta,genbank,Smalltalk,Pharo,Fasta,Genbank,请指导我使用biosmalltalk(Pharo edition)将GenBank序列转换为等效的FASTA格式。 我已经找到了从磁盘读取GenBank文件的方法: |文件x y m| x:=时间毫秒时钟值。 文件:=BioFile on:(FileStream readonlyfilename:BioObject testfiledirectoryname asFileReference/'AF165912.gbk')。 m:=BioParser tokenizeMultiFasta:文件内容

请指导我使用biosmalltalk(Pharo edition)将GenBank序列转换为等效的FASTA格式。 我已经找到了从磁盘读取GenBank文件的方法: |文件x y m| x:=时间毫秒时钟值。 文件:=BioFile on:(FileStream readonlyfilename:BioObject testfiledirectoryname asFileReference/'AF165912.gbk')。 m:=BioParser tokenizeMultiFasta:文件内容。 y:=时间毫秒时钟值。 成绩单打开。 记录清楚了。 成绩单显示:m;铬。 现在我想得到它的FASTA等价物。

GenBank格式(应该)是一种人类可读的格式,但它并不容易解析。在XML格式根本不可用或根本不使用的情况下,在编程库中解析扁平的GenBank格式已经花费了大量的精力,直到今天。 背后的目标之一是关注复杂性降低,这意味着使用正确的工具。出于这个原因,GenBank平面解析器不包括在内,因为它希望使用

要进行尝试,请首先在clean中安装最新的BioSmalltalk,请使用以下命令:

$ pharo Pharo.image "config" "http://smalltalkhub.com/mc/hernan/BioSmalltalk" "ConfigurationOfBioSmalltalk" --printVersion --install=development
或其在图像内部的等效性:

Gofer it
  smalltalkhubUser: 'hernan' project: 'BioSmalltalk';
  configuration;
  loadDevelopment.
要解析GenBank XML格式的文件,我强烈建议您以可复制的方式重新下载XML格式的文件。如果您从NCBI下载了文件,则可以使用Entrez e-Utils BioSmalltalk客户端(目前NCBI已从网页中删除XML下载选项):

下面的脚本下载XML格式的两个GenBank记录,按序列定义和序列字符串过滤节点,并以FASTA格式导出它们。该序列位于GBSeq_序列节点中

| gbReader fastaCollection seqsWithDefs |
fastaCollection := BioFastaMultiRecord new.
gbReader := (BioEntrezClient new nuccore
    uids: #(57240072 57240071);
    setModeXML;
    fetch) reader.
seqsWithDefs := gbReader
    selectNodes: #('GBSeq_definition' 'GBSeq_sequence')
    in: gbReader contents.
(seqsWithDefs at: 'GBSeq_definition') with: (seqsWithDefs at: 'GBSeq_sequence') do: [ : defs : seqs |
    fastaCollection addFastaRecord: (BioFastaRecord named: defs value sequence: seqs value) ].
BioFASTAFormatter new exportFrom: fastaCollection sequences.

如果您刚开始使用Smalltalk,请记住您拥有纯对象,几乎所有东西都可以通过inspector/explorer工具发现。

欢迎使用Stack Overflow!由于某些原因,您选择在注册为新用户时不使用;请尽快这样做。实际上,您的问题并不是关于堆栈溢出的主题。亲爱的Hernán,谢谢你的宝贵建议。但我有点不同。由于我们可以使用几种脚本语言(如BioPerl或BioJava)转换磁盘上的GenBank文件:亲爱的Hernán,感谢您宝贵的建议。但我有点不同。因为我们可以使用几种脚本语言(如BioPerl或BioJava)转换磁盘上的GenBank文件。我希望我也能使用Biosmalltalk做同样的事情。顺便说一句,我目前正在使用Biosmalltalk 0.5。我正在使用的BioPerl代码如下所示:my$infilename='AF165912.gbk';我的$OUFILENAME='out_PerlAF165912.fa'#读取序列数组@seq_object_array=read_all_sequences($infilename,'genbank');写入_序列(“>$outfilename”、'fasta'、@seq_object_数组);谢谢你的帮助。