bmpvieira on master
Refactor to add CLI 3.0.0 (compare)
bmpvieira on master
Refactor to add CLI 3.0.0 (compare)
dependabot[bot] on npm_and_yarn
Bump bl from 1.2.2 to 4.0.3 Bu… (compare)
dependabot[bot] on npm_and_yarn
Bump bl from 1.2.2 to 4.0.3 Bu… (compare)
bmpvieira on master
Hyperlink DOIs to preferred res… Merge pull request #5 from katr… (compare)
bmpvieira on master
Hyperlink DOIs to preferred res… Merge pull request #5 from katr… (compare)
fasta-parser
is a "Buffer Stream parser from FASTA to JSON.", which means it's just a Node.JS Stream that takes an input Streamed Buffer containing data in fasta format and Streams out Buffer containing JSON. There should be no major speed issue since it doesn't not serialise anything to object. You can think of fasta-parser as just the parsing algorithm (and maybe we can even improve it for speed).
bionode-fasta
is a bionode module that uses fasta-parser
as a dependency and does a lot more, to follow the bionode standards and be more user friendly (i.e. read fasta files, provide a command line interface, etc)
bionode-fasta
only serialises the data to JSON if you use it in Object mode (i.e., fasta.obj(), please see https://github.com/bionode/bionode-fasta#usage)
fasta-parser
is off the top of your head?
dev
branch. However, bionode-watermill might be hard for beginners, but if you want to give it a try... we are here to help.
task
for user to declare what their operationCreator
returns)
One cool thing to do would be to use ES6 template literals to do something like
const { task, python } = require('bionode-watermill')
const mytask = task({
input: '*.txt',
output: '*.foo',
name: 'My task'
}, ({ input }) => python`
with open('output.foo') as output:
with open('${input}') as input:
for line in input:
output.write(line.upper())
`)
// where `python` returns something like
// { language: 'python', executer: '/usr/bin/env python3', code }
// watermill writes the script, marks it executable, stores it in task dir
then it would be frictionless to experiment with quick scripts in a bunch of languages, write small simple scripts for visualization with R, etc. using ${variable
in source code for a script is kinda sketchy but maybe OK for quick experimentaion. Nextflow has something similar for scripts in any language (you just put #!/usr/bin/env python3
at top)
OR maybe that program should go under a prop
of the task, so it is called as a CLI like usual
operationCreator
is the second paramater passed to task
, the first is the object props
bionode-ncbi download sra PRJNA183192
repeats the first SRA file, SRR629557.sra
until infinity
bionode-ncbi download
is very verbose by default (to pipe into other tools)
bionode-ncbi download sra --pretty PRJNA183192
to display a progress bar instead
jq
installed: bionode-ncbi urls sra PRJNA183192 | sed 's|.*url":"\(.*\)","uid.*|\1|' | xargs wget