Skip to content

A Github action to check if IDT could synthesize a given DNA sequence.

License

Notifications You must be signed in to change notification settings

igemsoftware2021/dna-is-synthesizable

Repository files navigation



dna-is-synthesizable Friendzymes Cookbook

A github action to check if a part is synthesizable from a given Genbank file.

dna-is-synthesizable is a Github Action that receives a path for an input directory, a regex pattern that should be used to filter genbank files or another interesting file name pattern, a directory where the output will be written, and also username, password, clientId and clientSecret from Integrated DNA Technologies (IDT) API. This action will use this information to annotate problematic parts of a given sequence.

All options

List of Options

Every argument is required.

Option Description Default
input-dir Directory where all the input genbank files will be read input
input-pattern Regex to filter files in the input directory .*\.\(gb|gbk\)
output-dir Directory where all the output genbank files will be written output
input-username IDT account username
input-password IDT account password
input-client-id IDT API ClientId
input-client-secret IDT API ClientSecret
output-alert Display an error when a non-synthesizable sequence is found

Detailed Options

input-dir

This parameter is the path of the directory for your genbank files to read and annotate. You can use this parameter to setup different pipelines for different folders, so your project can be divided in folders with different processes. By default the action will use input as the input directory.

Default: input

input-pattern

This parameter is a regex pattern using re2 syntax to filter files from within input-dir. So even inside a given input directory, you can select a specific file or group of files for the current job. By default the action will match files with genbank extensions (.gb or .gbk).

Example: Match only BBF10k-prefixed files, freegene 10k gene project parts.

Default: .*\.\(gb\|gbk\)

output-dir

This parameter is the path of the directory for outputting annotated sequences as genbank files. By default the action will use output as the output directory.

Default: output

input-username

Username from the IDT account. This parameter doesn't have any value by default.

Note: Don't commit secrets to git history in production!

When deploying in production, use GitHub secrets or a similar security mechanism to prevent leaking of access credentials and data.

input-password

Password from the IDT account. This parameter doesn't have any value by default.

Note: Don't commit secrets to git history in production!

When deploying in production, use GitHub secrets or a similar security mechanism to prevent leaking of access credentials and data.

input-client-id

ClientID from the IDT API account. This parameter doesn't have any value by default.

Note: Don't commit secrets to git history in production!

When deploying in production, use GitHub secrets or a similar security mechanism to prevent leaking of access credentials and data.

input-client-secret

ClientSecret from the IDT API account. This parameter doesn't have any value by default.

Note: Don't commit secrets to git history in production!

When deploying in production, use GitHub secrets or a similar security mechanism to prevent leaking of access credentials and data.

output-alert

This flag can be enabled to break your pipeline if one of the sequences isn't synthesizable by IDT. That way, the machine will alert you that some sequence is problematic.

Default: false

Usage

Basic:

- name: synthesizable
  uses: Open-Science-Global/dna-is-synthesizable@v0.0.5

See action.yml for a comprehensive list of all the options.

See Friendzymes Cookbook for further examples and sample data.