Извлечение подмножества элементов из объекта
использует дополнительные опции, заданные одним или несколькими аргументами пары "имя-значение". Для примера можно указать, хранить ли данные в памяти. 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: ''
subset
- Подмножество элементов в объектеПодмножество элементов объекта, заданное как вектор положительных целых чисел, логический вектор, строковый вектор или массив ячеек из векторов символов, содержащих допустимые заголовки последовательностей.
Пример: [1 3]
Совет
Когда вы используете заголовок последовательности (или массив ячеек из заголовков) для subset
, повторный заголовок задает все элементы с этим заголовком.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'InMemory',true
задает сохранение объекта выхода (subset
) в памяти.'Name'
- Имя объекта''
(по умолчанию) | вектор символов | строкаИмя объекта, заданное как разделенная разделенными запятой парами, состоящая из 'Name'
и вектор символов или строка. По умолчанию это пустой символьный вектор ''
(имя отсутствует).
Пример: 'Name','newData'
'InMemory'
- Логический флаг для хранения данных в памятиfalse
(по умолчанию) | true
Логический флаг для хранения данных в памяти, заданный как разделенная разделенными запятой парами, состоящая из 'InMemory'
и true
или false
. Хранение данных в памяти позволяет вам получить доступ к полученному объекту subset
ускорение и обновление его свойств. Если данные, указанные для subset
все еще велик и не помещается в памяти, установите эту пару "имя-значение" равной false
использовать индексированный доступ, который более эффективен для памяти, но не позволяет изменять свойства.
Если родительский элемент object
уже находится в памяти, получившийся объект subset
автоматически помещается в память, и функция игнорирует этот аргумент.
Пример: 'InMemory',true
'SelectReference'
- Ссылки, используемые для создания подмножества данныхСсылки, используемые для создания subset
данных только с чтениями, сопоставленными с этими ссылками, заданными как разделенная разделенными запятой парами, состоящая из 'SelectReference'
и массив ячеек из векторов символов, строкового вектора или вектора из положительных целых чисел.
Примечание
Этот аргумент предназначен для BioMap
только объекты.
Пример: 'SelectReference',{'RefSeq1'}
subset
- Подмножество элементовBioRead
| объекта BioMap
объектПодмножество элементов из object
, возвращается как BioRead
или BioMap
объект. Если object
находится в памяти, тогда subset
помещается в память. Если object
индексируется, затем subset
индексируется, если вы не задаете 'InMemory'
на true
.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.