getSubset

Извлечение подмножества элементов из объекта

Описание

пример

subset = getSubset(object,subset) возвращает данные чтения последовательности subset только для элементов объекта, заданных в subset.

пример

subset = getSubset(object,subset,Name,Value) использует дополнительные опции, заданные одним или несколькими аргументами пары "имя-значение". Для примера можно указать, хранить ли данные в памяти.

Примеры

свернуть все

Сохраните считанные данные из файла в формате SAM в BioRead объект. По умолчанию данные остаются в исходном файле и BioRead использует файл индекса для доступа к данным, что делает процесс более памяти эффективным.

br = BioRead('ex1.sam')
br = 
  BioRead with properties:

     Quality: [1501x1 File indexed property]
    Sequence: [1501x1 File indexed property]
      Header: [1501x1 File indexed property]
       NSeqs: 1501
        Name: ''


Установите значение 'InMemory' аргумент пары "имя-значение" в true хранить данные в памяти, что позволяет быстрее обращаться к данным и редактировать свойства объекта.

brInMemory = BioRead('ex1.sam','InMemory',true)
brInMemory = 
  BioRead with properties:

     Quality: {1501x1 cell}
    Sequence: {1501x1 cell}
      Header: {1501x1 cell}
       NSeqs: 1501
        Name: ''

Извлеките второй и третий элементы из объекта br. По умолчанию получившийся объект subset не помещается в память, если родительский объект br не в памяти. Если br уже находится в памяти, полученный подмножество помещается в память.

subset = getSubset(br,[2 3])
subset = 
  BioRead with properties:

     Quality: [2x1 File indexed property]
    Sequence: [2x1 File indexed property]
      Header: [2x1 File indexed property]
       NSeqs: 2
        Name: ''


Также можно сохранить родительский объект br в исходном файле и загружает полученный подмножество в память, если подмножество достаточно мало. Вы получаете доступ к подмножеству быстрее и обновляете его по мере необходимости.

subsetInMemory = getSubset(br,[2 3],'InMemory',true)
subsetInMemory = 
  BioRead with properties:

     Quality: {2x1 cell}
    Sequence: {2x1 cell}
      Header: {2x1 cell}
       NSeqs: 2
        Name: ''

Обновление информации о заголовке первого элемента.

subsetInMemory.Header(1)
ans = 1x1 cell array
    {'EAS54_65:7:152:368:113'}

subsetInMemory.Header(1) = {'NewHeader'};
subsetInMemory.Header(1)
ans = 1x1 cell array
    {'NewHeader'}

Для получения соответствующих элементов с этим заголовком можно использовать заголовок. Если несколько элементов имеют одинаковый заголовок, функция возвращает все эти элементы.

Получите все элементы с заголовком 'B7_591:4:96:693:509' от br объект, сохраненный в памяти.

subset2 = getSubset(brInMemory,{'B7_591:4:96:693:509'})
subset2 = 
  BioRead with properties:

     Quality: {'<<<<<<<<<<<<<<<;<<<<<<<<<5<<<<<;:<;7'}
    Sequence: {'CACTAGTGGCTCATTGTAAATGTGTGGTTTAACTCG'}
      Header: {'B7_591:4:96:693:509'}
       NSeqs: 1
        Name: ''

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

свернуть все

Объект, содержащий считанные данные, заданный как BioRead или BioMap объект.

Пример: bioreadObj

Подмножество элементов объекта, заданное как вектор положительных целых чисел, логический вектор, строковый вектор или массив ячеек из векторов символов, содержащих допустимые заголовки последовательностей.

Пример: [1 3]

Совет

Когда вы используете заголовок последовательности (или массив ячеек из заголовков) для subset, повторный заголовок задает все элементы с этим заголовком.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'InMemory',true задает сохранение объекта выхода (subset) в памяти.

Имя объекта, заданное как разделенная разделенными запятой парами, состоящая из 'Name' и вектор символов или строка. По умолчанию это пустой символьный вектор '' (имя отсутствует).

Пример: 'Name','newData'

Логический флаг для хранения данных в памяти, заданный как разделенная разделенными запятой парами, состоящая из 'InMemory' и true или false. Хранение данных в памяти позволяет вам получить доступ к полученному объекту subset ускорение и обновление его свойств. Если данные, указанные для subset все еще велик и не помещается в памяти, установите эту пару "имя-значение" равной false использовать индексированный доступ, который более эффективен для памяти, но не позволяет изменять свойства.

Если родительский элемент object уже находится в памяти, получившийся объект subset автоматически помещается в память, и функция игнорирует этот аргумент.

Пример: 'InMemory',true

Ссылки, используемые для создания subset данных только с чтениями, сопоставленными с этими ссылками, заданными как разделенная разделенными запятой парами, состоящая из 'SelectReference' и массив ячеек из векторов символов, строкового вектора или вектора из положительных целых чисел.

Примечание

Этот аргумент предназначен для BioMap только объекты.

Пример: 'SelectReference',{'RefSeq1'}

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

свернуть все

Подмножество элементов из object, возвращается как BioRead или BioMap объект. Если object находится в памяти, тогда subset помещается в память. Если object индексируется, затем subset индексируется, если вы не задаете 'InMemory' на true.

Введенный в R2010a
Для просмотра документации необходимо авторизоваться на сайте