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 имя аргумента и 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