Bacteria Pipeline that utilizes flash, btrim and Newbler(gsAssembler)
This project is licensed under the GPLv2.
Bacteria Pipeline modified from MRSN Bacteria Pipeline
License: GNU General Public License v2.0
Need a way to concat all individual project summary csv files as well as contig files
Just a note that a contracts
-compatible alternative to the :type tag is the :param tag which can incude a doc of the arg as well.
@contract
def write_summary(data, outfile, delim='\t'): # data is 2d list
''' write data as a csv/tsv file to outfile.
:type data: Iterable
etc."""
could be written as:
@contract
def write_summary(data, outfile, delim='\t'): # data is 2d list
''' write data as a csv/tsv file to outfile.
:param Iterable data: some docs
:param str,!exists outfile: more docs ..
etc '''
before going public we will need to remove newbler from dependencies from all existing commits
Whatever that crazy git command is
csv.DictReader will happily take a malformed csv like
ASampledir,AName,APrimer
which is missing its header and simply return an empty iterable . . . dubious design choice.
bactpipeline/bactpipeline/runsample.py
Lines 61 to 62 in c4fb29d
Right now analysis.rst
is broken down by Running single sample
but the running sample sheet docs need to be a heading on their own
e.g.
contracts.interface.ContractNotRespected: Breach for argument 'outdir' to run_sample_sheet().
Shouldn't have satisfied the clause exists.
checking: !exists for value: Instance of <type 'str'>: './'
checking: str,!exists for value: Instance of <type 'str'>: './'
Variables bound in inner context:
Could become
contracts.interface.ContractNotRespected: Breach for argument 'outdir' to run_sample_sheet().
=====================
ERROR: blah blah blah
======================
checking: !exists for value: Instance of <type 'str'>: './'
checking: str,!exists for value: Instance of <type 'str'>: './'
Variables bound in inner context:
Do this by raising a ValueError
rather than returning false. Example:
def fails(x):
raise ValueError("="*9 + "\nERROR: blah blah blah, do xyz\n" + "="*9)
contracts.new_contract("failit", fails)
contracts.decorate(lambda x: x, x="failit")(1)
I would just wrap our current boolean-returning functions
def wrap_validation(func, message):
def ret_func(arg):
if not func(arg):
raise ValueError(message)
return ret_func
contracts.new_contract("is_truthy", wrap_validation(lambda x: bool(x), "Not truthy, use truthy input"))
ouptut directory should not be required to not exist, as it's making things harder for users
related: https://vdbpm.org/issues/10846
My changes require BioPython
so the setup file could change and the modules file at VDBWRAIR should change
Don't want to have analysis start and get through flash
and btrim
and then die because they don't exist.
Should tell user to make sure Roche Analysis apps are installed and then try again
comma or tab separated
sample_id,contig_num,num_reads,%total_reads,N50
Supply primer fasta file that will trim primers
I believe newbler supports supplying primer fasta file to be used to trim
Example
>sample_id__contig_num numreads=X
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.