Skip to content
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

Input and Output Arguments #141

Open
lbergelson opened this issue Jan 22, 2015 · 1 comment
Open

Input and Output Arguments #141

lbergelson opened this issue Jan 22, 2015 · 1 comment

Comments

@lbergelson
Copy link
Member

We've talked about adding @Input and @Output annotations.

My understanding of the mechanics of this is as such:
Rename @PositionalArguments to Input
A traversal will specify one Collection as the @Input for example, a ReadWalker will accept 1 or more Bams specified on the command line. How these are presented to the apply function is up to the traversal. In the case of read walkers they are likely to be merged and presented as a single ReadsDatasource.

on the command line this would look like

Hellbender CountReads bam1 bam2

Each tool implementing a traversal may specify 1 or more Outputs. These would be treated as standard arguments and it would be up to the tool or traversal to decide what to do with them.
ex

Hellbender PrintReads -O out.bam input.bam

Is this what we want?

@akiezun
Copy link
Contributor

akiezun commented Feb 4, 2015

Yes, I think it is what we want. It would be consistent with the GNU standards. https://www.gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
"It is usually a good idea for file names given as ordinary arguments to be input files only; any output files would be specified using options (preferably ‘-o’ or ‘--output’). Even if you allow an output file name as an ordinary argument for compatibility, try to provide an option as another way to specify it. This will lead to more consistency among GNU utilities, and fewer idiosyncrasies for users to remember."

By "ordinary arguments" they mean what you name "standard arguments".

@lbergelson lbergelson added the CLI label Feb 11, 2015
@akiezun akiezun added this to the Coelacanth milestone Feb 26, 2015
@akiezun akiezun added the Doc label Feb 26, 2015
@akiezun akiezun modified the milestone: Coelacanth Apr 20, 2015
@akiezun akiezun added this to the beta milestone Jul 22, 2015
@droazen droazen removed this from the beta milestone Jan 5, 2016
lbergelson pushed a commit that referenced this issue May 31, 2017
Adds a new tool to annotate targets with target specificy properties.

This addresses issues #141 and #142.

The first two annotations supported are

* GC_CONTENT = Fraction of GC / Total number of sense bases in the target reference sequence.

  - The user need to provide a reference.

* REPEAT_FRACTION = Fraction of base in the target masked as repeated somewhere else in the referece.

  - The user need to provide a BED file (indexed) with the repeated regions.

Annotations whose dependence is not provided won't be present in the output.

Syntax:

  java -jar hellbender-all.jar AnnotateTargets -R my-reference.fasta --repeats my-repeated-regions.bed -T targets.tab -o annotated-targets.tab

The output file will contain additional columns, one for each annotation with the corresponding value per each target in the input.

Other changes:

* Fixed an issue with progressMeter not being updated in the FeatureWalker.
* Changed TargetColumn enum name to TargetTableColumn.
* Added a TargeTableWriter analogous to the TargetTableReader.
* Target now has a reference to an annotation collection.
* TargetTableReader automatically will read in annotation present in the input target table.
@droazen droazen added this to the Engine-Q42018 milestone Oct 4, 2018
@droazen droazen added the Barclay label Nov 5, 2018
@droazen droazen modified the milestones: Engine-Q42018, Engine-Q12019 Feb 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants