exponenta event banner

getIndexByKey

Класс: BioIndexedFile

Извлечение индексов из исходного файла, связанного с объектом BioIndexedFile, с помощью буквенно-цифрового ключа

Синтаксис

Indices = getIndexByKey(BioIFobj, Key)
[Indices, LogicalVals] = getIndexByKey(BioIFobj, Key)

Описание

Indices = getIndexByKey(BioIFobj, Key) возвращает индексы записей в исходном файле, связанном с BioIFobj, объект BioIndexedFile. Он возвращает индексы элементов, которые имеют ключи, указанные Key, символьный вектор или массив ячеек символьных векторов, задающих одну или более буквенно-цифровых клавиш. Возвращается Indices, числовой вектор индексов элементов, которые имеют буквенно-цифровые клавиши, указанные Key. Если ключи в исходном файле не уникальны, он возвращает все индексы записей, которые соответствуют указанному ключу, все в позиции ключа в Key массив ячеек. Если ключи в исходном файле уникальны, существует взаимосвязь «один к одному» между количеством и порядком элементов в Key и выходные данные Indices.

[Indices, LogicalVals] = getIndexByKey(BioIFobj, Key) возвращает логический вектор, который указывает только последнее совпадение для каждого ключа, так что существует отношение «один к одному» между числом и порядком элементов в Key и Indices(LogicalVals).

Входные аргументы

BioIFobj

Объект BioIndexedFile класс.

Key

Символьный вектор или массив ячеек символьных векторов, задающих один или несколько ключей в исходном файле, связанном с BioIFobj, объект BioIndexedFile.

Выходные аргументы

Indices

Числовой вектор индексов записей в исходном файле, имеющих буквенно-цифровые ключи, указанные Key.

LogicalVals

Логический вектор, содержащий то же количество элементов, что и Indices. Вектор указывает только последнее совпадение для каждого ключа, указанного в Key, так что существует отношение один к одному между количеством и порядком элементов в Key и Indices(LogicalVals).

Совет

Некоторые файлы содержат повторяющиеся ключи. Например, файлы в формате SAM используют тот же ключ для записей, которые являются парными конечными чтениями. Используйте Indices(LogicalVals) для возврата только последнего индекса повторяющегося ключа. Дополнительные сведения см. в разделе Примеры.

Примеры

Построить объект BioIndexedFile для доступа к таблице, содержащей перекрестные ссылки между именами генов и терминами генной онтологии (GO):

% Create variable containing full absolute path of source file
sourcefile = which('yeastgenes.sgd');
% Create a BioIndexedFile object from the source file. Indicate
% the source file is a tab-delimited file where contiguous rows
% with the same key are considered a single entry. Store the
% index file in the Current Folder. Indicate that keys are
% located in column 3 and that header lines are prefaced with !
gene2goObj = BioIndexedFile('mrtab', sourcefile, '.', ...
                            'KeyColumn', 3, 'HeaderPrefix','!')

Возвращает индексы для записей в исходном файле, которые задаются ключами AAC1 и AAD10.

% Access indices for entries that have the keys AAC1 and AAD10
indices = getIndexByKey(gene2goObj, {'AAC1' 'AAD10'})
indices =

           3
				 5

Создайте объект BioIndexedFile для доступа к файлу в формате SAM с повторяющимися ключами.

% Create variable containing full absolute path of source file
samsourcefile = which('ex1.sam');
% Create a BioIndexedFile object from the source file. Store the
% index file in the Current Folder. 
samObj = BioIndexedFile('sam', samsourcefile, '.')

Возвращает только последние индексы для записей в исходном файле, которые указаны двумя клавишами, 'B7 _ 593:7:15:244:876 и EAS56_65:4:296:78:421, оба из которых являются повторяющимися клавишами.

% Return all indices for entries that have two specific keys
[Indices, LogicalVal] = getIndexByKey(samObj, ...
                  {'B7_593:7:15:244:876', 'EAS56_65:4:296:78:421'})
Indices =

        3058
        3238
        3292
        3293

LogicalVal =

     0
     1
     0
     1
% Return only the last index for each key
LastIndices = Indices(LogicalVal)
LastIndices =

        3238
        3293

Совет

Этот метод используется для определения индексов определенных записей с известными ключами.