Подсчитать количество процессов, запущенных пользователем user, и вывести пары в файл

Обновлено: 28.06.2024

Утилиты igvtools можно загрузить со страницы Загрузки на веб-сайте IGV.

Начиная с сценариев оболочки

Утилиты igvtools можно вызывать с использованием графического пользовательского интерфейса (GUI) или без него из одного из следующих сценариев:

igvtools.bat (версия для командной строки для Windows)
igvtools_gui.bat ( версия с графическим интерфейсом для Windows)

После запуска версии с графическим интерфейсом команды и параметры будут такими же, как и при запуске igvtools из интерфейса IGV.

Общая форма версии для командной строки:

igvtools [команда] [параметры][аргументы] --или-- igvtools.bat [команда] [параметры][аргументы]

Распознанные команды, параметры, аргументы и типы файлов описаны ниже.

Начиная с Java

igvtools также можно запустить напрямую с помощью Java. Эта опция позволяет больше контролировать параметры Java, например максимальный объем выделяемой памяти. В приведенном ниже примере igvtools запускается с выделенным 1500 МБ памяти и запускается в папку, в которую вы распаковали IGVTools.

java -Xmx1500m --module-path=lib @igv.args --module=org.igv/org.broad.igv.tools.IgvTools [команда] [параметры][аргументы]

Чтобы начать с графического интерфейса, введите команду

java -Xmx1500m --module-path=lib @igv.args --module=org.igv/org.broad.igv.tools.IgvTools gui

Обратите внимание, что командная строка стала более сложной в Java 11 по сравнению с Java 8. Мы рекомендуем приведенные выше сценарии оболочки для большинства пользователей.

Настройки памяти

Сценарии igvtools выделяют фиксированный объем памяти. Если это больше, чем количество, доступное на вашей платформе, вы получите сообщение об ошибке типа «Не удалось запустить виртуальную машину». Если это произойдет, вам нужно будет отредактировать сценарии, чтобы уменьшить объем запрашиваемой памяти, или использовать параметр запуска Java. Память задается параметром "-Xmx". Например, -Xmx1500m запрашивает 1500 МБ, -Xmx1g запрашивает 1 гигабайт.

Дополнительную информацию о других настройках см. в загруженном файле igvtools_readme.txt.

в TDF

Команда toTDF преобразует входной файл отсортированных данных в файл двоичных мозаичных данных (.tdf). Используйте эту команду для предварительной обработки больших наборов данных для повышения производительности IGV.

Примечание. Ранее этот инструмент назывался плитка

.

Использование:

igvtools toTDF [параметры] [входной файл] [выходной файл] [геном]

Обязательные аргументы:

inputFile Входной файл (поддерживаемые форматы см. выше).

outputFile Двоичный выходной файл. Должен заканчиваться на ".tdf".

Параметры:

Указывает максимальный уровень масштабирования для предварительного вычисления. Значение по умолчанию равно 7 и этого достаточно для большинства файлов. Чтобы уменьшить размер файла за счет производительности IGV, это значение можно уменьшить.

Список с разделителями-запятыми, указывающий оконные функции, которые следует использовать при сокращении данных до предварительно вычисленных фрагментов. Возможные значения: минимальное, максимальное и среднее. По умолчанию вычисляется только среднее значение.

Указывает файл .bed, который будет использоваться для сопоставления идентификаторов датчиков с местоположениями. Эта опция полезна при предварительной обработке. gct-файлы. Файл .bed должен содержать 4 столбца:
начальное конечное имя chr
где имя — это имя зонда в файле .gct.

Пример:

igvtools toTDF -z 5 copyNumberFile.cn copyNumberFile.tdf hg18

Примечания:

Форматы файлов данных, за исключением файлов .gct, должны быть отсортированы по начальной позиции. Файлы можно сортировать с помощью команды sort, описанной ниже. Попытка предварительной обработки несортированного файла приведет к ошибке.

Подсчитать

Команда count вычисляет среднюю плотность признаков по заданному размеру окна в геноме. Обычное использование включает вычисление покрытия для файлов выравнивания и подсчет совпадений в экспериментах ChIP-seq. По умолчанию полученный файл будет отображаться в виде гистограммы при загрузке в IGV.

Использование:

количество igvtools [параметры] [входной файл] [выходной файл] [геном]

Обязательные аргументы:

inputFile Входной файл (поддерживаемые форматы см. выше).

outputFile Выходной файл, который может быть в двоичном формате .tdf или ASCII .wig.

Имя выходного файла должно заканчиваться на ".tdf" или ".wig" или представлять собой специальную строку "stdout". Чтобы указать, что вы хотите вывести файлы .tdf и .wig, укажите имена обоих выходных файлов в виде одной строки, разделенной запятой без других разделителей. Если выходной файл называется "stdout", вывод будет записан в стандартный поток вывода в формате .wig.

Параметры:

Указывает максимальный уровень масштабирования для предварительного вычисления.

-w, --windowSize число

Размер окна, по которому усредняется покрытие. По умолчанию 25 п.н.

-e, --extFactor число

Чтение или функция удлиняются на указанное расстояние в битах до подсчета.Эта опция полезна для приложений chip-seq и rna-seq. Обычно это значение равно средней длине фрагмента библиотеки за вычетом средней длины чтения.

Чтение расширяется вверх по течению от 5-футового конца на указанное расстояние.

Эффективно переопределяет длину чтения, определяет нисходящий экстент от 5'-конца. Предназначен для использования с preExtFactor.

-f, --windowFunctions список

Список с разделителями-запятыми, указывающий оконные функции, которые следует использовать при сокращении данных до предварительно вычисленных фрагментов. Возможные значения: минимум, максимум, среднее, медиана, p2, p10, p90 и p98. Значения "p" представляют процентиль, поэтому p2=2-й процентиль и т. д.

По умолчанию подсчет выполняется в обеих цепочках. Эта настройка выводит количество для каждой нити отдельно. Допустимые значения аргументов — «прочитанные» или «первые». 'read' Разделяет счетчик по цепочке 'read', 'first' использует первую цепочку в паре". Результаты сохраняются в отдельном столбце для вывода .wig и в отдельной дорожке для вывода TDF.

Подсчитайте вхождение каждого основания (A,G,C,T,N). Не принимает аргументов. Результаты сохраняются в отдельном столбце для вывода .wig и в отдельной дорожке для вывода TDF.

Учитывать только определенный регион. Строка запроса имеет синтаксис: -. например ч1:100-1000. Входной файл должен быть проиндексирован.

Установите минимальное качество сопоставления прочтений для включения. По умолчанию 0.

Включить повторяющиеся выравнивания в подсчет. По умолчанию ложь. Если этот флаг включен, дубликаты учитываются. Не принимает аргументов

Вычислить покрытие из парных выравниваний, считая всю вставку покрытой. При использовании этого параметра используются только операции чтения, отмеченные как "правильные пары".

Пример:

счетчик igvtools -z 5 -w 25 -e 250 выравнивания.bam выравнивания.cov.tdf hg18

Примечания:

Входной файл должен быть отсортирован по начальной позиции. См. команду sort ниже.

Индекс

Создает индекс для файла трассы или объекта. Файлы индексов необходимы для загрузки файлов выравнивания в IGV и могут значительно повысить производительность для больших файлов функций. Обратите внимание, что файл индекса не загружается напрямую в IGV. Вместо этого IGV ищет индексный файл при загрузке файла трассы или объекта. Эта команда не принимает аргумент выходного файла. Вместо этого имя файла создается путем добавления «.sai» (для выравнивания) или «.idx» (для функций) к входному имени файла, поскольку IGV полагается на это соглашение об именах для поиска индекса. Входной файл должен быть отсортирован по начальной позиции (см. команду sort ниже).

Использование:

индекс igvtools [inputFile]

Примечания:

Индекс "sai" - это формат IGV, он не работает с samtools или любым другим приложением.

При необходимости сортирует входной файл по начальной позиции.

Использование:

igvtools sort [параметры] [входной файл] [выходной файл]

Обязательные аргументы:

В качестве [outputFile] можно использовать специальную строку "stdout", и в этом случае выходные данные будут записываться в стандартный поток вывода, а не в файл.

Параметры:

Укажите временный рабочий каталог. Для больших входных файлов этот каталог будет использоваться для хранения промежуточных результатов сортировки. По умолчанию используется временный каталог пользователя.

Максимальное количество записей, сохраняемых в памяти во время сортировки. Значение по умолчанию — 500000. Увеличьте это число, если вы получаете сообщение об ошибке «слишком много открытых файлов». Уменьшите его, если возникают ошибки "недостаточно памяти".

Группирует объекты, содержащие одинаковые значения указанных свойств.

Синтаксис

Описание

Командлет Group-Object отображает объекты в группах на основе значения указанного свойства. Group-Object возвращает таблицу с одной строкой для каждого значения свойства и столбец, в котором отображается количество элементов с этим значением.

Если вы укажете более одного свойства, Group-Object сначала группирует их по значениям первого свойства, а затем внутри каждой группы свойств группирует по значению следующего свойства.

Начиная с PowerShell 7, Group-Object может комбинировать параметры CaseSensitive и AsHashtable для создания хэш-таблицы с учетом регистра. Ключи хэш-таблицы используют сравнения с учетом регистра и выводят объект System.Collections.Hashtable.

Примеры

Пример 1. Группировка файлов по расширению

В этом примере файлы рекурсивно извлекаются из каталога $PSHOME и группируются по расширению имени файла. Вывод отправляется командлету Sort-Object, который сортирует их по количеству файлов, найденных для данного расширения. Пустое имя представляет каталоги.

В этом примере параметр NoElement используется для исключения членов группы.

Пример 2. Группировка целых чисел по четным и нечетным

В этом примере показано, как использовать блоки сценария в качестве значения параметра Property. Эта команда отображает целые числа от 1 до 20, сгруппированные по шансам и четным.

Пример 3. Группировка событий журнала событий по типу записи

В этом примере отображается 1000 последних записей в журнале системных событий, сгруппированных по EntryType.

В выходных данных столбец «Число» представляет количество записей в каждой группе. Столбец Name представляет значения EventType, определяющие группу. Столбец Группа представляет объекты в каждой группе.

Пример 4. Группировка процессов по классу приоритета

В этом примере демонстрируется действие параметра NoElement. Эти команды группируют процессы на компьютере по классу приоритета.

Первая команда использует командлет Get-Process для получения процессов на компьютере и отправки объектов по конвейеру. Group-Object группирует объекты по значению свойства PriorityClass процесса.

Во втором примере параметр NoElement используется для исключения членов группы из выходных данных. В результате получается таблица со значением только свойств Count и Name.

Результаты показаны в следующем образце выходных данных.

Пример 5: группировка процессов по имени

В следующем примере командлет Group-Object используется для группировки нескольких экземпляров процессов, запущенных на локальном компьютере. Where-Object отображает процессы с более чем одним экземпляром.

Пример 6. Группировка объектов в хеш-таблице

В этом примере используются параметры AsHashTable и AsString для возврата групп в хэш-таблице в виде набора пар "ключ-значение".

В результирующей хеш-таблице каждое значение свойства является ключом, а элементы группы — значениями. Поскольку каждый ключ является свойством объекта хеш-таблицы, для отображения значений можно использовать запись через точку.

Первая команда получает командлеты Get и Set в сеансе, группирует их по командам, возвращает группы в виде хэш-таблицы и сохраняет хэш-таблицу в переменной $A.

Вторая команда отображает хеш-таблицу в $A. Существует две пары "ключ-значение": одна для командлетов Get и одна для командлетов Set.

Третья команда использует запись через точку, $A.Get для отображения значений ключа Get в $A . Значения являются объектом CmdletInfo. Параметр AsString не преобразует объекты в группах в строки.

Пример 7. Создание хэш-таблицы с учетом регистра

В этом примере параметры CaseSensitive и AsHashTable объединяются для создания хэш-таблицы с учетом регистра. Файлы в примере имеют расширения .txt и .TXT .

Переменная $hash хранит объект System.Collections.Hashtable. Командлет Get-ChildItem получает имена файлов из каталога C:\Files и отправляет объекты System.IO.FileInfo по конвейеру. Group-Object группирует объекты, используя расширение значения свойства. Параметры CaseSensitive и AsHashTable создают хеш-таблицу, а ключи группируются с использованием ключей с учетом регистра .txt и .TXT .

Параметры

Указывает, что этот командлет возвращает группу в виде хэш-таблицы. Ключи хеш-таблицы — это значения свойств, по которым группируются объекты. Значения хэш-таблицы — это объекты, которые имеют значение этого свойства.

Сам по себе параметр AsHashTable возвращает каждую хеш-таблицу, в которой каждый ключ является экземпляром сгруппированного объекта. При использовании с параметром AsString ключи в хеш-таблице являются строками.

Начиная с PowerShell 7, для создания хэш-таблиц с учетом регистра включите в команду CaseSensitive и AsHashtable.

< /tr>

Указывает, что этот командлет преобразует ключи хеш-таблицы в строки. По умолчанию ключи хеш-таблицы являются экземплярами сгруппированного объекта. Этот параметр допустим только при использовании с параметром AsHashTable.

Тип:SwitchParameter
Псевдонимы:AHT
Позиция:Имя
Значение по умолчанию:False
Принимать ввод конвейера:False
Допускать подстановочные знаки:False
Тип:SwitchParameter
Позиция:Именованный
Значение по умолчанию:False
Принять ввод конвейера:False
Допускать подстановочные знаки:False

Указывает, что этот командлет делает группировку чувствительной к регистру. Без этого параметра значения свойств объектов в группе могут иметь разные регистры.

Начиная с PowerShell 7, для создания хэш-таблиц с учетом регистра включите в команду CaseSensitive и AsHashtable.

Тип:SwitchParameter
Позиция:Именованный
Значение по умолчанию:False
Принять ввод конвейера:False
Допускать подстановочные знаки:False

Указывает культуру, используемую при сравнении строк.

Тип:Строка
Позиция:Именованный
Значение по умолчанию:Нет
Принять ввод конвейера:False
Допускать подстановочные знаки:False

Определяет объекты для группировки.Введите переменную, содержащую объекты, или введите команду или выражение для получения объектов.

При использовании параметра InputObject для отправки коллекции объектов в Group-Object Group-Object получает один объект, представляющий коллекцию. В результате создается единая группа с этим объектом в качестве члена.

Чтобы сгруппировать объекты в коллекции, передайте объекты в Group-Object .

Тип:PSObject
Позиция:Именованный
Значение по умолчанию:Нет
Принять ввод конвейера:Истина
Допускать подстановочные знаки:False

Указывает, что этот командлет исключает членов группы из результатов.

Тип:SwitchParameter
Позиция:Именованный
Значение по умолчанию:False
Принять ввод конвейера:False
Допускать подстановочные знаки:False

Указывает свойства для группировки. Объекты объединяются в группы на основе значения указанного свойства.

Тип:Объект [ ]
Позиция:0
Значение по умолчанию:Нет
Принять ввод конвейера:False< /td>
Допускать подстановочные знаки:False

Входные данные

Вы можете передать любой объект в Group-Object .

Результаты

При использовании параметра AsHashTable Group-Object возвращает объект Hashtable. В противном случае возвращается объект GroupInfo.

Примечания

Вы можете использовать параметр GroupBy командлетов форматирования, таких как Format-Table и Format-List , для группировки объектов. В отличие от Group-Object , которая создает одну таблицу со строкой для каждого значения свойства, параметры GroupBy создают таблицу для каждого значения свойства со строкой для каждого элемента, имеющего значение свойства.

Одинаковые имена свойств и типы.

Одинаковые имена свойств, разные типы.

Nextflow основан на модели программирования потока данных, в которой процессы взаимодействуют через каналы.

Канал имеет два основных свойства:

Отправка сообщения – это асинхронная операция, которая выполняется немедленно, не дожидаясь процесса получения.

Получение данных — это блокирующая операция, которая останавливает процесс получения до тех пор, пока сообщение не будет получено.

Типы каналов¶

Nextflow различает два разных типа каналов: каналы очередей и каналы значений .

Канал очереди¶

Канал очереди — это неблокирующая однонаправленная очередь FIFO, которая соединяет два процесса или оператора.

Канал очереди обычно создается с помощью фабричного метода, такого как from, fromPath и т. д., или с помощью оператора канала, такого как map, flatMap и т. д.

Каналы очереди также создаются объявлениями выходных данных процесса с использованием предложения into.

Определение подразумевает, что один и тот же канал очереди не может использоваться более одного раза в качестве выходных данных процесса и более одного раза в качестве входных данных процесса.

Если вам нужно подключить выходной канал процесса к нескольким процессам или операторам, используйте оператор into, чтобы создать две (или более) копии одного и того же канала и использовать каждую из них для подключения отдельного процесса.

Канал ценности¶

Канал значений, также известный как одноэлементный канал, по определению привязан к одному значению, и его можно читать неограниченное количество раз без использования его содержимого.

По этой причине канал значений может использоваться в качестве входных данных более чем одним процессом.

Канал значений создается с помощью метода фабрики значений или операторов, возвращающих одно значение, например first , last , collect , count , min , max , reduce , sum .

Канал значений неявно создается процессом, когда входные данные указывают простое значение в предложении from. Более того, канал значений также неявно создается как выход для процесса, входы которого являются только каналами значений.

Процесс в приведенном выше фрагменте объявляет один вход, который неявно является каналом значений. Следовательно, вывод результата также является каналом значений, который может быть прочитан более чем одним процессом.

Фабрика каналов¶

Каналы могут создаваться неявно с помощью объявления выходных данных процесса или явно с использованием следующих методов фабрики каналов.

Начиная с версии 20.07.0 префикс канала. был представлен как псевдоним Channel. , поэтому фабричные методы можно использовать с синтаксисом channel.from() и Channel.from() и т. д.

создать¶

Этот метод устарел и не будет доступен в синтаксисе DSL2.

Создает новый канал с помощью метода create, как показано ниже:

Метод of позволяет создать канал, передающий любую последовательность значений, указанную в качестве аргумента метода, например:

Первая строка в этом примере создает переменную ch, которая содержит объект канала. Этот канал выдает значения, указанные в качестве параметра в методе of. Таким образом, вторая строка выводит следующее:

Диапазон значений соответственно расширяется.

Для этой функции требуется Nextflow версии 19.10.0 или более поздней.

См. также: фабричный метод fromList.

Этот метод устарел и должен использоваться только для обеспечения обратной совместимости в устаревшем коде. Вместо этого используйте или fromList.

Метод from позволяет создать канал, передающий любую последовательность значений, указанную в качестве аргумента метода, например:

Первая строка в этом примере создает переменную ch, которая содержит объект канала. Этот канал выдает значения, указанные в качестве параметра в методе from. Таким образом, во второй строке будет напечатано следующее:

В следующем примере показано, как создать канал из диапазона чисел или строк:

Обратите внимание, что если аргументом from является объект, реализующий интерфейс (Java) Collection, результирующий канал передает записи коллекции как отдельные выбросы.

Таким образом, следующие два объявления дают идентичный результат, даже несмотря на то, что в первом случае элементы указываются как несколько аргументов, а во втором случае — как один аргумент объекта списка:

Но если указано более одного аргумента, они всегда обрабатываются как отдельные выбросы. Таким образом, в следующем примере создается канал, выдающий три записи, каждая из которых представляет собой список, содержащий два элемента:

значение¶

Метод фабрики значений используется для создания канала value. Можно указать необязательный аргумент, отличный от null, для привязки канала к определенному значению. Например:

Первая строка в примере создает «пустую» переменную. Вторая строка создает канал и привязывает к нему строку. Наконец, последний создает канал и привязывает к нему объект списка, который будет испускаться как единственная эмиссия.

из списка¶

Метод fromList позволяет создать канал, передающий значения, представленные в виде списка элементов, например:

См. также: фабричный метод.

Для этой функции требуется Nextflow версии 19.10.0 или более поздней.

из пути¶

Вы можете создать канал, передающий один или несколько путей к файлам, используя метод fromPath и указав строку пути в качестве аргумента. Например:

Строка выше создает канал и привязывает к нему элемент пути, ссылающийся на указанный файл.

Существование файла не проверяется.

Всякий раз, когда аргумент fromPath содержит * или ? подстановочный знак интерпретируется как сопоставитель общего пути. Например:

В этом примере создается канал и передается столько элементов Path, сколько файлов с расширением txt находится в папке /data/big.

Две звездочки, то есть **, работают так же, как *, но пересекают границы каталога. Этот синтаксис обычно используется для сопоставления полных путей. Фигурные скобки определяют набор подшаблонов.

Первая строка возвращает канал, передающий файлы, заканчивающиеся суффиксом .fa, в папку данных и рекурсивно во все ее подпапки. В то время как второй выдает только файлы с одинаковым суффиксом в любой подпапке на пути к данным. Наконец, последний пример создает два файла: data/file_1.fq и data/file_2.fq .

Как и в Linux Bash, подстановочный знак * не соответствует скрытым файлам (т. е. файлам, имя которых начинается с символа .).

Чтобы включить скрытые файлы, вам нужно начать свой шаблон с символа точки или указать параметр hidden: true. Например:

В первом примере возвращаются все скрытые файлы по указанному пути. Второй возвращает все скрытые файлы, заканчивающиеся суффиксом .fa. Наконец, последний пример возвращает все файлы (скрытые и не скрытые) по этому пути.

По умолчанию шаблон glob ищет только обычные пути к файлам, соответствующие заданным критериям, т. е. он не возвращает пути к каталогам.

Вы можете использовать тип параметра, указывающий значение file , dir или любой другой, чтобы определить, какие пути вам нужны. Например:

В первом примере будут возвращены все пути к каталогам, заканчивающиеся суффиксом b, а во втором примере будут возвращены все файлы и каталоги, начинающиеся с префикса a.

Когда true интерпретирует символы * , ? , [] и <> как подстановочные знаки, в противном случае они обрабатываются как обычные символы (по умолчанию: true )

Тип возвращаемых путей: файл , каталог или любой (по умолчанию: файл )

При значении true в результирующие пути включаются скрытые файлы (по умолчанию: false )

Максимальное количество уровней каталога для посещения (по умолчанию: без ограничений)

Если задано значение true, он переходит по символическим ссылкам во время обхода дерева каталогов, в противном случае они управляются как файлы (по умолчанию: true )

Если true, возвращаемые пути относятся к самому верхнему общему каталогу (по умолчанию: false )

При значении true выдается исключение, что указанный путь не существует в файловой системе (по умолчанию: false )

С помощью списка в качестве аргумента можно указать более одного пути или шаблона подстановки:

(требуется версия 0.31.x или выше)

из FilePairs¶

Метод fromFilePairs создает канал, передающий пары файлов, соответствующие шаблону глобуса, предоставленному пользователем. Соответствующие файлы выдаются в виде кортежей, в которых первый элемент является ключом группировки соответствующей пары, а второй элемент представляет собой список файлов (отсортированных в лексикографическом порядке). Например:

Это приведет к выводу, подобному следующему:

Шаблон шара должен содержать как минимум подстановочный знак в виде звездочки.

В качестве альтернативы можно реализовать собственную стратегию группировки пар файлов, обеспечивающую замыкание, которое, учитывая текущий файл в качестве параметра, возвращает ключ группировки. Например:

Таблица доступных необязательных параметров:

Тип возвращаемых путей: файл , каталог или любой (по умолчанию: файл )

При значении true в результирующие пути включаются скрытые файлы (по умолчанию: false )

Максимальное количество уровней каталога для посещения (по умолчанию: без ограничений)

Если задано значение true, он переходит по символическим ссылкам во время обхода дерева каталогов, в противном случае они управляются как файлы (по умолчанию: true )

Определяет количество файлов, которое, как ожидается, будет содержать каждый созданный элемент (по умолчанию: 2). Установите значение -1 для любого.

При значении true совпадающие файлы создаются как единственные элементы в созданных кортежах (по умолчанию: false ).

При значении true выдается исключение, что указанный путь не существует в файловой системе (по умолчанию: false )

С помощью списка в качестве аргумента можно указать более одного шаблона глобуса:

(требуется версия 0.31.x или выше)

от SRA¶

Метод fromSRA запрашивает базу данных NCBI SRA и возвращает канал, передающий файлы FASTQ, соответствующие заданным критериям, например, номерам проекта или доступа. Например:

С помощью объекта списка можно указать несколько идентификаторов доступа:

Пары чтения неявно управляются и возвращаются в виде списка файлов.

За кулисами используется API NCBI ESearch, поэтому метод fromSRA позволяет использовать любой термин запроса, поддерживаемый этим API.

Таблица доступных необязательных параметров:

Ключ API пользователя NCBI.

Включить/отключить кэширование запросов API (по умолчанию: true ).

Максимальное количество записей, которые можно повторить (по умолчанию: неограниченно).

Для доступа к поисковой службе NCBI необходимо предоставить ключи API NCBI:

Использование дополнительного параметра apiKey, например. Channel.fromSRA(ids, apiKey:'0123456789abcdef') .

Экспорт переменной NCBI_API_KEY в вашу среду, например. экспорт NCBI_API_KEY=0123456789abcdef .

Для этой функции требуется Nextflow версии 19.04.0 или более поздней.

watchPath¶

Метод watchPath отслеживает в папке один или несколько файлов, соответствующих заданному шаблону. Как только появляется файл, отвечающий заданному условию, он передается по каналу, возвращаемому методом watchPath. Условие просмотра файлов можно указать с помощью * или ? подстановочные знаки, т. е. путем указания критериев соответствия глобального пути.

Создается новый файл (по умолчанию)

Файл изменен

Файл удален

Вы можете указать более одного из этих событий, используя строку, разделенную запятыми, как показано ниже:

Фабрика watchPath бесконечно ожидает файлов, соответствующих указанному шаблону и событию(ям). Таким образом, всякий раз, когда вы используете его в своем скрипте, результирующий конвейер никогда не завершится.

См. также: фабричный метод fromPath.

пусто¶

Метод пустой фабрики по определению создает канал, который не выдает никаких значений.

См. также операторы ifEmpty и close.

Привязка значений¶

Поскольку в Nextflow каналы реализованы с использованием переменных потока данных или очередей. Таким образом, отправка сообщения эквивалентна привязке значения к объекту, представляющему канал связи.

Объекты канала предоставляют метод bind(), который является базовой операцией для отправки сообщения по каналу. Например:

оператор — это просто синтаксический сахар для метода связывания. Таким образом, следующий пример дает такой же результат, как и предыдущий:

Наблюдение за событиями¶

подписаться¶

Метод подписки позволяет вам выполнять определенную пользователем функцию каждый раз, когда исходный канал выдает новое значение.

Испускаемое значение неявно передается указанной функции. Например:

Формально определяемая пользователем функция является замыканием, как определено языком программирования Groovy, на котором основаны скрипты Nextflow.

При необходимости параметр замыкания можно определить явно, используя имя, отличное от него, и, при необходимости, указав тип ожидаемого значения, как показано в следующем примере:

Прочитайте параграф "Закрытие", чтобы узнать больше о функции закрытия.

onNext, onComplete и onError¶

Метод subscribe может принимать один или несколько следующих обработчиков событий:

onNext : регистрирует функцию, которая вызывается всякий раз, когда канал передает значение. Это то же самое, что и использование подписки с простым закрытием, как описано в примерах выше.

onComplete : регистрирует функцию, которая вызывается после того, как канал выдает последнее значение.

onError : регистрирует функцию, которая вызывается при возникновении исключения при обработке события onNext. Он больше не будет вызывать onNext или onComplete. Метод onError принимает в качестве параметра объект Throwable, вызвавший ошибку.

Группирует объекты, содержащие одинаковые значения указанных свойств.

Синтаксис

Описание

Командлет Group-Object отображает объекты в группах на основе значения указанного свойства. Group-Object возвращает таблицу с одной строкой для каждого значения свойства и столбец, в котором отображается количество элементов с этим значением.

Если вы укажете более одного свойства, Group-Object сначала группирует их по значениям первого свойства, а затем внутри каждой группы свойств группирует по значению следующего свойства.

Начиная с PowerShell 7, Group-Object может комбинировать параметры CaseSensitive и AsHashtable для создания хэш-таблицы с учетом регистра. Ключи хэш-таблицы используют сравнения с учетом регистра и выводят объект System.Collections.Hashtable.

Примеры

Пример 1. Группировка файлов по расширению

В этом примере файлы рекурсивно извлекаются из каталога $PSHOME и группируются по расширению имени файла. Вывод отправляется командлету Sort-Object, который сортирует их по количеству файлов, найденных для данного расширения. Пустое имя представляет каталоги.

В этом примере параметр NoElement используется для исключения членов группы.

Пример 2. Группировка целых чисел по четным и нечетным

В этом примере показано, как использовать блоки сценария в качестве значения параметра Property. Эта команда отображает целые числа от 1 до 20, сгруппированные по шансам и четным.

Пример 3. Группировка событий журнала событий по типу записи

В этом примере отображается 1000 последних записей в журнале системных событий, сгруппированных по EntryType.

В выходных данных столбец «Число» представляет количество записей в каждой группе. Столбец Name представляет значения EventType, определяющие группу. Столбец Группа представляет объекты в каждой группе.

Пример 4. Группировка процессов по классу приоритета

В этом примере демонстрируется действие параметра NoElement. Эти команды группируют процессы на компьютере по классу приоритета.

Первая команда использует командлет Get-Process для получения процессов на компьютере и отправки объектов по конвейеру. Group-Object группирует объекты по значению свойства PriorityClass процесса.

Во втором примере параметр NoElement используется для исключения членов группы из выходных данных. В результате получается таблица со значением только свойств Count и Name.

Результаты показаны в следующем образце выходных данных.

Пример 5: группировка процессов по имени

В следующем примере командлет Group-Object используется для группировки нескольких экземпляров процессов, запущенных на локальном компьютере. Where-Object отображает процессы с более чем одним экземпляром.

Пример 6. Группировка объектов в хеш-таблице

В этом примере используются параметры AsHashTable и AsString для возврата групп в хэш-таблице в виде набора пар "ключ-значение".

В результирующей хеш-таблице каждое значение свойства является ключом, а элементы группы — значениями. Поскольку каждый ключ является свойством объекта хеш-таблицы, для отображения значений можно использовать запись через точку.

Первая команда получает командлеты Get и Set в сеансе, группирует их по командам, возвращает группы в виде хэш-таблицы и сохраняет хэш-таблицу в переменной $A.

Вторая команда отображает хеш-таблицу в $A. Существует две пары "ключ-значение": одна для командлетов Get и одна для командлетов Set.

Третья команда использует запись через точку, $A.Get для отображения значений ключа Get в $A . Значения являются объектом CmdletInfo. Параметр AsString не преобразует объекты в группах в строки.

Пример 7. Создание хэш-таблицы с учетом регистра

В этом примере параметры CaseSensitive и AsHashTable объединяются для создания хэш-таблицы с учетом регистра. Файлы в примере имеют расширения .txt и .TXT .

Переменная $hash хранит объект System.Collections.Hashtable. Командлет Get-ChildItem получает имена файлов из каталога C:\Files и отправляет объекты System.IO.FileInfo по конвейеру. Group-Object группирует объекты, используя расширение значения свойства. Параметры CaseSensitive и AsHashTable создают хеш-таблицу, а ключи группируются с использованием ключей с учетом регистра .txt и .TXT .

Параметры

Указывает, что этот командлет возвращает группу в виде хэш-таблицы. Ключи хеш-таблицы — это значения свойств, по которым группируются объекты.Значения хэш-таблицы — это объекты, которые имеют значение этого свойства.

Сам по себе параметр AsHashTable возвращает каждую хеш-таблицу, в которой каждый ключ является экземпляром сгруппированного объекта. При использовании с параметром AsString ключи в хеш-таблице являются строками.

Начиная с PowerShell 7, для создания хэш-таблиц с учетом регистра включите в команду CaseSensitive и AsHashtable.

< /tr>

Указывает, что этот командлет преобразует ключи хеш-таблицы в строки. По умолчанию ключи хеш-таблицы являются экземплярами сгруппированного объекта. Этот параметр допустим только при использовании с параметром AsHashTable.

Тип:SwitchParameter
Псевдонимы:AHT
Позиция:Имя
Значение по умолчанию:False
Принимать ввод конвейера:False
Допускать подстановочные знаки:False
Тип:SwitchParameter
Позиция:Именованный
Значение по умолчанию:False
Принять ввод конвейера:False
Допускать подстановочные знаки:False

Указывает, что этот командлет делает группировку чувствительной к регистру. Без этого параметра значения свойств объектов в группе могут иметь разные регистры.

Начиная с PowerShell 7, для создания хэш-таблиц с учетом регистра включите в команду CaseSensitive и AsHashtable.

Тип:SwitchParameter
Позиция:Именованный
Значение по умолчанию:False
Принять ввод конвейера:False
Допускать подстановочные знаки:False

Указывает культуру, используемую при сравнении строк.

Тип:Строка
Позиция:Именованный
Значение по умолчанию:Нет
Принять ввод конвейера:False
Допускать подстановочные знаки:False

Определяет объекты для группировки. Введите переменную, содержащую объекты, или введите команду или выражение для получения объектов.

При использовании параметра InputObject для отправки коллекции объектов в Group-Object Group-Object получает один объект, представляющий коллекцию. В результате создается единая группа с этим объектом в качестве члена.

Чтобы сгруппировать объекты в коллекции, передайте объекты в Group-Object .

Тип:PSObject
Позиция:Именованный
Значение по умолчанию:Нет
Принять ввод конвейера:Истина
Допускать подстановочные знаки:False

Указывает, что этот командлет исключает членов группы из результатов.

Тип:SwitchParameter
Позиция:Именованный
Значение по умолчанию:False
Принять ввод конвейера:False
Допускать подстановочные знаки:False

Указывает свойства для группировки. Объекты объединяются в группы на основе значения указанного свойства.

Тип:Объект [ ]
Позиция:0
Значение по умолчанию:Нет
Принять ввод конвейера:False< /td>
Допускать подстановочные знаки:False

Входные данные

Вы можете передать любой объект в Group-Object .

Результаты

При использовании параметра AsHashTable Group-Object возвращает объект Hashtable. В противном случае возвращается объект GroupInfo.

Примечания

Вы можете использовать параметр GroupBy командлетов форматирования, таких как Format-Table и Format-List , для группировки объектов. В отличие от Group-Object , которая создает одну таблицу со строкой для каждого значения свойства, параметры GroupBy создают таблицу для каждого значения свойства со строкой для каждого элемента, имеющего значение свойства.

Одинаковые имена свойств и типы.

Одинаковые имена свойств, разные типы.

Читайте также: