Много биологических экспериментов производят огромные файлы данных, которые затрудняют, чтобы получить доступ из-за их размера, который может вызвать проблемы памяти при чтении файла в MATLAB® Рабочая область. Можно создать BioIndexedFile
возразите, чтобы получить доступ к содержимому файла крупного текста, содержащего неоднородные записи размера, такие как последовательности, аннотации и перекрестные ссылки на наборы данных. BioIndexedFile
объект позволяет вам быстро, и эффективно получите доступ к этим данным, не загружая исходный файл в память.
Можно использовать BioIndexedFile
возразите, чтобы получить доступ к отдельным записям или подмножеству записей, когда исходный файл будет слишком большим, чтобы поместиться в память. Можно получить доступ к записям с помощью индексов или ключей. Можно считать и проанализировать одну или несколько записей с помощью обеспеченный интерпретаторы или пользовательскую функцию интерпретатора.
Используйте BioIndexedFile
возразите в сочетании со своим большим исходным файлом против:
Доступ к подмножеству записей для валидации или последующего анализа.
Проанализируйте записи с помощью пользовательской функции интерпретатора.
Можно использовать BioIndexedFile
возразите, чтобы получить доступ к файлам крупного текста.
Ваш исходный файл может иметь эти специализированные форматы:
FASTA
FASTQ
СЭМ
Ваш исходный файл может также иметь эти общие форматы:
Таблица Разграниченная вкладкой таблица с несколькими столбцами. Ключи могут быть в любом столбце. Строки с тем же ключом рассматриваются отдельными записями.
Multi-row Table — Разграниченная вкладкой таблица с несколькими столбцами. Ключи могут быть в любом столбце. Непрерывные строки с тем же ключом рассматриваются однократным въездом. Строки, состоящие из нескольких несмежных участков, с тем же ключом рассматриваются отдельными записями.
Flat — Плоский файл с конкатенированными записями, разделенными вектором символов, обычно //
. В рамках записи ключ разделяется от остальной части записи пробелом.
Прежде, чем создать a BioIndexedFile
возразите, найдите свой исходный файл на вашем жестком диске или локальной сети.
Когда вы создаете a BioIndexedFile
возразите от своего исходного файла впервые, вы также создаете вспомогательный индексный файл, который по умолчанию сохранен в то же местоположение как ваш исходный файл. Однако, если ваш исходный файл находится в месте только для чтения, можно задать другое место, чтобы сохранить индексный файл.
Совет
Если вы создаете a BioIndexedFile
возразите от своего исходного файла в последующих случаях, он использует в своих интересах существующий индексный файл, который экономит время. Однако индексный файл должен быть в том же месте или местоположении, заданном последующим синтаксисом конструкции.
Совет
Если недостаточно память не является проблемой при доступе к исходному файлу, можно хотеть попробовать соответствующую функцию чтения, такой как genbankread
, для того, чтобы импортировать данные от GenBank® файлы..
Кроме того, несколько функций чтения такой как fastaread
, fastqread
, samread
, и sffread
включайте Blockread
свойство, которое позволяет вам считать подмножество записей из файла, таким образом сохраняя память.
Создать a BioIndexedFile
объект из многострочного табличного файла:
Создайте переменную, содержащую полный абсолютный путь вашего исходного файла. Для вашего исходного файла используйте yeastgenes.sgd
файл, который включен с программным обеспечением Bioinformatics Toolbox™.
sourcefile = which('yeastgenes.sgd');
Используйте BioIndexedFile
функция конструктора, чтобы создать a BioIndexedFile
объект от yeastgenes.sgd
исходный файл, который является многострочным табличным файлом. Сохраните индексный файл в Текущей папке. Укажите, что ключи исходного файла находятся в столбце 3. Кроме того, укажите, что линии заголовка в исходном файле снабжены предисловием с !
, таким образом, конструктор игнорирует их.
gene2goObj = BioIndexedFile('mrtab', sourcefile, '.', ... 'KeyColumn', 3, 'HeaderPrefix','!')
BioIndexedFile
функция конструктора создает gene2goObj
A BioIndexedFile
объект, и также создает индексный файл с тем же именем как исходный файл, но с расширением IDX. Это хранит этот индексный файл в Текущей папке, потому что мы задали это местоположение. Однако местоположение по умолчанию для индексного файла является тем же местоположением как исходный файл.
Внимание
Не изменяйте индексный файл. Если вы изменяете его, можно получить недопустимые результаты. Кроме того, функция конструктора не может использовать модифицированный индексный файл, чтобы создать будущие объекты из связанного исходного файла.
Определить количество записей, индексированных a BioIndexedFile
объект, используйте NumEntries
свойство BioIndexedFile
объект. Например, для gene2goObj
объект:
gene2goObj.NumEntries
ans = 6476
Примечание
Для списка и описания всех свойств объекта, смотрите BioIndexedFile
.
Получите записи из своего исходного файла с помощью также:
Индекс записи
Ключ записи
Используйте getEntryByIndex
метод, чтобы получить подмножество записей от вашего исходного файла, которые соответствуют заданным индексам. Например, получите первые 12 записей из yeastgenes.sgd
исходный файл:
subset_entries = getEntryByIndex(gene2goObj, [1:12]);
Используйте getEntryByKey
метод, чтобы получить подмножество записей от вашего исходного файла, которые сопоставлены с заданными ключами. Например, получите все записи с ключами AAC1 и AAD10 от yeastgenes.sgd
исходный файл:
subset_entries = getEntryByKey(gene2goObj, {'AAC1' 'AAD10'});
Выход subset_entries
вектор символов конкатенированных записей. Поскольку ключи в yeastgenes.sgd
исходный файл не уникален, этот метод возвращает все записи, которые имеют ключ AAC1 или AAD10.
BioIndexedFile
объект включает a read
метод, который можно использовать в чтение и проанализировать подмножество записей от исходного файла. read
метод анализирует записи с помощью функции интерпретатора, заданной Interpreter
свойство BioIndexedFile
объект.
Перед использованием read
метод, убедитесь Interpreter
свойство BioIndexedFile
объект установлен соответственно.
Если вы создали объект BioIndexedFile из... | Свойство Interpreter... |
---|---|
Исходный файл со специализированным форматом (FASTA, FASTQ или SAM) | По умолчанию указатель на функцию, подходящую для того типа файла, и обычно не требует, чтобы вы изменили его. |
Исходный файл с таблицей, многострочной таблицей или плоским форматом | По умолчанию [] , что означает, что интерпретатор является анонимной функцией, в которой выход эквивалентен входу. Можно изменить это в указатель на функцию, которая принимает вектор символов одной или нескольких конкатенированных записей и возвращает структуру или массив структур, содержащих интерпретированные данные. |
Существует два способа установить Interpreter
свойство BioIndexedFile
объект:
При построении BioIndexedFile
объект, используйте Interpreter
имя свойства / пара значения свойства
После построения BioIndexedFile
объект, набор Interpreter
свойство
Примечание
Для получения дополнительной информации об установке Interpreter
свойство объекта, смотрите BioIndexedFile
.
read
метод читает и анализирует подмножество записей, что вы задаете индексы использования или записи или ключи.
Быстро найти все термины генной онтологии (GO) сопоставило с определенным геном, потому что ключи записи являются названиями генов:
Установите Interpreter
свойство gene2goObj
BioIndexedFile
возразите против указателя на функцию, которая читает записи и возвращает только столбец, содержащий ПОЙТИ термин. В этом случае интерпретатор является указателем на анонимную функцию, которая принимает векторы символов и извлекает тех, которые начинают с символов GO
.
gene2goObj.Interpreter = @(x) regexp(x,'GO:\d+','match')
Только для чтения записи, которые имеют ключ YAT2 и возвращают их ИДТИ термины.
GO_YAT2_entries = read(gene2goObj, 'YAT2')
GO_YAT2_entries = 'GO:0004092' 'GO:0005737' 'GO:0006066' 'GO:0006066' 'GO:0009437'