将标签添加到bioperl DB :: SAM / BAM

时间:2011-06-02 13:08:09

标签: bioinformatics bioperl

我有一个bam文件并使用bioperl(Bio :: DB :: Sam)来处理它。 现在我想询问是否有可能在此文件中为标记添加标签?

我用

    my $iterator     = $bam->features(-iterator => 1,
                                      -flags    => {M_UNMAPPED=>0});

    while (my $align = $iterator->next_seq) { 
        ...
    }

循环对齐的读取。现在我正在寻找像

这样的人
    $align->addTag(key=>value)

再见

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

简短回答,不。

有可能对原始SAM执行此操作,然后将其转换回BAM。我最近一直在为BAM写一个C ++ api,并且自己也遇到过这个问题。问题是表示此信息的底层c结构都是紧密字节打包并占用特定数量的内存。有时他们可能会比他们需要的多一点,但有时候他们的数量恰到好处。在大多数情况下,添加到这些结构会超过它们的可用内存。

所以,如果我是你,我会写出一个新的SAM文件,其中包含你的附加标签,并使用samtools将其转换为BAM