Добавить тэг в БИОПЕРЛ БД :: SAM / BAM - PullRequest
1 голос
/ 02 июня 2011

У меня есть файл 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 ]

1 голос
/ 08 июля 2011

BedTools имеет средство аннотирования файлов BAM, называемое TagBam

http://biostar.stackexchange.com/questions/9552/basic-bam-file-annotation

https://github.com/arq5x/bedtools

0 голосов
/ 07 июня 2011

Краткий ответ, нет.

Может быть возможно сделать это с необработанным SAM, а затем преобразовать его обратно в BAM. Недавно я писал C ++ API для BAM и столкнулся с этой проблемой самостоятельно. Проблема заключается в том, что базовые структуры c, представляющие эту информацию, плотно упакованы в байты и занимают определенный объем памяти. Иногда у них может быть немного больше, чем нужно, но иногда у них есть только правильное количество. Добавление к этим структурам в большинстве случаев будет превышать доступную для них память.

Итак, на вашем месте я бы выписал новый файл SAM с вашими дополнительными тегами и преобразовал бы его в BAM с помощью samtools

...