-
Notifications
You must be signed in to change notification settings - Fork 828
Add sentieon star #1590
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Add sentieon star #1590
Changes from all commits
Commits
Show all changes
55 commits
Select commit
Hold shift + click to select a range
807fd19
install sentieon/staralign
FriederikeHanssen 7636eb6
add args to sentieon_align_star
FriederikeHanssen c02c684
add sentieon secrets to ci
FriederikeHanssen 8c8599d
add sentieon secrets
FriederikeHanssen 82c38be
revert changes from schema builder
FriederikeHanssen fddcc5b
snapshots
FriederikeHanssen a4dace5
add auth_mech env var
FriederikeHanssen f4f5a18
sentieon star uses old style args
FriederikeHanssen 1f044f5
add more env vars
FriederikeHanssen 9f2f8ce
fix versions checksum
FriederikeHanssen 9452604
Merge branch 'dev' into add_sentieon_star
FriederikeHanssen fc3cab4
fix version
FriederikeHanssen 0799db8
snapshots
FriederikeHanssen ff9b53a
refactor code since sentieon star uses same syntax as igenomes star
FriederikeHanssen e0351a6
add license usage docs
FriederikeHanssen 411645c
update changelog
FriederikeHanssen f96bdc7
add complete pipeline test with sentieon
FriederikeHanssen 6163917
checksum order
FriederikeHanssen 752e85d
test out symlinking sentieon star in rsem
FriederikeHanssen 476d022
add tests for symlinking star in rsem
FriederikeHanssen 26703b9
add sentieon env vars to subworkflow test
FriederikeHanssen c3ff26a
update version chcksum
FriederikeHanssen a6958f5
add stub test
FriederikeHanssen 679d699
add pipeline level test
FriederikeHanssen f55fccc
add sentieon license vars to pipeline level tests
FriederikeHanssen 5be778d
replace local module with nf-core module
FriederikeHanssen 59978b6
update module name in configs
FriederikeHanssen 17b525d
add sentieon support for prepare_genome
FriederikeHanssen 004e8ea
update README with reference to sentieon for STAR
FriederikeHanssen d17cafc
add subworkflow level tests
FriederikeHanssen c8122ee
add snapshots
FriederikeHanssen 3a09fc4
fix test names in snapshots
FriederikeHanssen b0e7744
update rocrate
FriederikeHanssen dfc56ee
quotes
FriederikeHanssen af42ef3
add config for sentieon rsem_prepare
FriederikeHanssen 62cde8b
add maketranscript refs
FriederikeHanssen 5445d6d
fix mixed checksums
FriederikeHanssen 3bc2151
Merge branch 'dev' into add_sentieon_star
maxulysse ddfbee8
Apply suggestions from code review
FriederikeHanssen d0c7eba
move license script to .github.actions
FriederikeHanssen 43abdc7
fix comment alignment
FriederikeHanssen 9450a5c
rename use_sentieon to use_sentieon_star
FriederikeHanssen 9e00a4d
test process name reassignment
FriederikeHanssen 74f7d4d
test renaming
FriederikeHanssen 107f668
revert process renaming tests
FriederikeHanssen 5f45235
assign output name
FriederikeHanssen 3cf1b7b
Address reviews from @pinin4fjords & reduce one level of if statements
FriederikeHanssen c0bfbd2
add link to modules tested to address review by @edmundmiller
FriederikeHanssen e81774e
simplify logic
FriederikeHanssen 9c108af
clean up code
FriederikeHanssen b33be90
fix syntax error
FriederikeHanssen 195550b
propagate changes from #1573 to a number of other tests
FriederikeHanssen d6d32cb
set multi_channel initialisation to null
FriederikeHanssen fda153f
fix order
FriederikeHanssen f228324
more odering
FriederikeHanssen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,113 @@ | ||
| #!/usr/bin/env python3 | ||
|
|
||
| ######################################### | ||
| # Author: [DonFreed](https://github.com/DonFreed) | ||
| # File: license_message.py | ||
| # Source: https://github.com/DonFreed/docker-actions-test/blob/main/.github/scripts/license_message.py | ||
| # Source+commit: https://github.com/DonFreed/docker-actions-test/blob/aa1051a9f53b3a1e801953748d062cad74dca9a9/.github/scripts/license_message.py | ||
| # Download Date: 2023-07-04, commit: aa1051a | ||
| # This source code is licensed under the BSD 2-Clause license | ||
| ######################################### | ||
|
|
||
| """ | ||
| Functions for generating and sending license messages | ||
| """ | ||
|
|
||
| # Modified from - https://stackoverflow.com/a/59835994 | ||
|
|
||
| import argparse | ||
| import base64 | ||
| import calendar | ||
| import re | ||
| import secrets | ||
| import sys | ||
|
|
||
| from cryptography.hazmat.primitives.ciphers.aead import AESGCM | ||
| from datetime import datetime as dt | ||
|
|
||
| MESSAGE_TIMEOUT = 60 * 60 * 24 # Messages are valid for 1 day | ||
| NONCE_BYTES = 12 | ||
|
|
||
|
|
||
| class DecryptionTimeout(Exception): | ||
| # Decrypting a message that is too old | ||
| pass | ||
|
|
||
|
|
||
| def generate_key(): | ||
| key = secrets.token_bytes(32) | ||
| return key | ||
|
|
||
|
|
||
| def handle_generate_key(args): | ||
| key = generate_key() | ||
| key_b64 = base64.b64encode(key) | ||
| print(key_b64.decode("utf-8"), file=args.outfile) | ||
|
|
||
|
|
||
| def encrypt_message(key, message): | ||
| nonce = secrets.token_bytes(NONCE_BYTES) | ||
| timestamp = calendar.timegm(dt.now().utctimetuple()) | ||
| data = timestamp.to_bytes(10, byteorder="big") + b"__" + message | ||
| ciphertext = nonce + AESGCM(key).encrypt(nonce, data, b"") | ||
| return ciphertext | ||
|
|
||
|
|
||
| def handle_encrypt_message(args): | ||
| key = base64.b64decode(args.key.encode("utf-8")) | ||
| message = args.message.encode("utf-8") | ||
| ciphertext = encrypt_message(key, message) | ||
| ciphertext_b64 = base64.b64encode(ciphertext) | ||
| print(ciphertext_b64.decode("utf-8"), file=args.outfile) | ||
|
|
||
|
|
||
| def decrypt_message(key, ciphertext, timeout=MESSAGE_TIMEOUT): | ||
| nonce, ciphertext = ciphertext[:NONCE_BYTES], ciphertext[NONCE_BYTES:] | ||
| message = AESGCM(key).decrypt(nonce, ciphertext, b"") | ||
|
|
||
| msg_timestamp, message = re.split(b"__", message, maxsplit=1) | ||
| msg_timestamp = int.from_bytes(msg_timestamp, byteorder="big") | ||
| timestamp = calendar.timegm(dt.now().utctimetuple()) | ||
| if (timestamp - msg_timestamp) > timeout: | ||
| raise DecryptionTimeout("The message has an expired timeout") | ||
| return message.decode("utf-8") | ||
|
|
||
|
|
||
| def handle_decrypt_message(args): | ||
| key = base64.b64decode(args.key.encode("utf-8")) | ||
| ciphertext = base64.b64decode(args.message.encode("utf-8")) | ||
| message = decrypt_message(key, ciphertext, timeout=args.timeout) | ||
| print(str(message), file=args.outfile) | ||
|
|
||
|
|
||
| def parse_args(argv=None): | ||
| parser = argparse.ArgumentParser(description=__doc__) | ||
| parser.add_argument("--outfile", default=sys.stdout, type=argparse.FileType("w"), help="The output file") | ||
|
|
||
| subparsers = parser.add_subparsers(help="Available sub-commands") | ||
|
|
||
| gen_parser = subparsers.add_parser("generate_key", help="Generate a random key string") | ||
| gen_parser.set_defaults(func=handle_generate_key) | ||
|
|
||
| encrypt_parser = subparsers.add_parser("encrypt", help="Encrypt a message") | ||
| encrypt_parser.add_argument("--key", required=True, help="The encryption key") | ||
| encrypt_parser.add_argument("--message", required=True, help="Message to encrypt") | ||
| encrypt_parser.set_defaults(func=handle_encrypt_message) | ||
|
|
||
| decrypt_parser = subparsers.add_parser("decrypt", help="Decyrpt a message") | ||
| decrypt_parser.add_argument("--key", required=True, help="The encryption key") | ||
| decrypt_parser.add_argument("--message", required=True, help="Message to decrypt") | ||
| decrypt_parser.add_argument( | ||
| "--timeout", | ||
| default=MESSAGE_TIMEOUT, | ||
| type=int, | ||
| help="A message timeout. Decryption will fail for older messages", | ||
| ) | ||
| decrypt_parser.set_defaults(func=handle_decrypt_message) | ||
|
|
||
| return parser.parse_args(argv) | ||
|
|
||
|
|
||
| if __name__ == "__main__": | ||
| args = parse_args() | ||
| args.func(args) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 changes: 8 additions & 0 deletions
8
modules/nf-core/sentieon/rsemcalculateexpression/environment.yml
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.