getSubset

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

Синтаксис

subset = getSubset(object,subset)
subset = getSubset(object,subset,Name,Value)

Описание

пример

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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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