setFlag

Класс: BioMap

Установите флаги последовательности чтения для объекта BioMap

Синтаксис

NewObj = setFlag(BioObj, FlagValues)
NewObj = setFlag(BioObj, FlagValues, Subset)

Описание

NewObj = setFlag(BioObj, FlagValues) возвращает NewObj, новый объект BioMap, созданный из BioObj, существующего объекта BioMap, с набором свойств Flag к FlagValues, вектору неотрицательных целых чисел, указывающих на поразрядную информацию, которая задает состояние каждого из 11 флагов, описанных спецификацией формата SAM.

NewObj = setFlag(BioObj, FlagValues, Subset) устанавливает свойство Flag элементов, указанных Subset к FlagValues.

Входные параметры

развернуть все

Объект Биокласса сопоставления, заданного как объект BioMap

Примечание

Если BioObj был создан из объекта BioIndexedFile, вы не можете установить его свойство Flag.

Флаговые значения SAM, заданные как вектор неотрицательных целых чисел. Каждое целое число соответствует последовательности чтения того и указывает на поразрядную информацию, которая задает состояние каждого из 11 флагов, описанных спецификацией формата SAM. Эти флаги описывают различные аспекты упорядочивания и выравнивания последовательности чтения.

Подмножество элементов в BioObj, заданном как одно из следующего:

  • вектор положительных целых чисел

  • логический вектор

  • массив ячеек из символьных векторов, содержащий допустимые заголовки последовательности

Примечание

Непосредственное отношение должно существовать между номером и порядком элементов в FlagValues и Subset. Если вы используете массив ячеек заголовков, чтобы задать Subset, имеют в виду, что повторный заголовок указывает все элементы с тем заголовком.

Выходные аргументы

развернуть все

Объект Биокласса сопоставления, возвращенного как объект BioMap.

Примеры

развернуть все

Создайте объект BioMap из файла SAM. Установите 'InMemory' на истину позволять изменять свойства объектов.

bm = BioMap('ex2.sam','InMemory',true);

Проверяйте флаговое значение SAM 5-й последовательности чтения.

bm.Flag(5)
ans = uint16
    137

Обновите флаговое значение.

bm2 = setFlag(bm,75,5);
bm2.Flag(5)
ans = uint16
    75

Обновите флаговые значения первых и третьих элементов.

bm3 = setFlag(bm,[0 0],[1 3]);
bm3.Flag(1)
ans = uint16
    0
bm3.Flag(3)
ans = uint16
    0

Альтернативы

Альтернатива использованию метода setFlag, чтобы обновить существующий объект должна использовать точечную индексацию со свойством Flag:

BioObj.Flag(Indices) = NewFlag

В предыдущем синтаксисе Indices является вектором положительных целых чисел или логическим вектором. Indices не может быть массивом ячеек из символьных векторов, содержащим заголовки последовательности. NewFlag является вектором неотрицательных целых чисел, указывающих на поразрядную информацию, которая задает состояние каждого из 11 флагов, описанных спецификацией формата SAM. Каждое целое число соответствует последовательности чтения того в объекте BioMap. Indices и NewFlag должны иметь тот же номер и порядок элементов.