exponenta event banner

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