pub enum Commands {
Show 14 variants
Stats {
bam: String,
qbed: bool,
paf: bool,
},
BedLength {
bed: String,
readable: bool,
column: Option<u8>,
},
Filter {
paf: String,
paired_len: u64,
aln: u64,
query: u64,
},
Invert {
paf: String,
},
Liftover {
paf: String,
bed: String,
qbed: bool,
largest: bool,
},
TrimPaf {
paf: String,
match_score: i32,
diff_score: i32,
indel_score: i32,
},
Orient {
paf: String,
scaffold: bool,
insert: u64,
},
BreakPaf {
paf: String,
max_size: u32,
},
PafToSam {
paf: String,
},
FastxSplit {
fastx: Vec<String>,
},
GetFasta {
fasta: String,
bed: String,
strand: bool,
name: bool,
},
Nucfreq {
bam: String,
region: Option<String>,
bed: Option<String>,
small: bool,
},
Repeat {
fasta: String,
min: usize,
},
Suns {
fasta: String,
kmer_size: usize,
max_size: usize,
validate: bool,
},
}
Expand description
This structure contains all the subcommands for rustybam and their help descriptions.
Because of naming conventions for rust enums the commands names have
different capitalization than on the command line.
For example, the Liftover
enum is invoked using rustybam liftover
and the TrimPaf
command with rustybam trim-paf
.
Variants
Stats
Fields
bam: String
sam/bam/cram/file
qbed: bool
print query coordinates first
paf: bool
The input is paf format (must have cg tag with extended cigar or cs tag).
Get percent identity stats from a sam/bam/cram or PAF.
Requires =/X operations in the CIGAR string!
BedLength
Count the number of bases in a bed file.
Filter
Fields
paf: String
PAF file from minimap2 or unimap. Must have the cg tag, and n matches will be zero unless the cigar uses =X.
paired_len: u64
minimum number of aligned bases across all alignments between a target and query in order to keep those records
aln: u64
minimum alignment length
query: u64
minimum query length
Filter PAF records in various ways.
Invert
Fields
paf: String
PAF file from minimap2 or unimap. Must have the cg tag, and n matches will be zero unless the cigar uses =X.
Invert the target and query sequences in a PAF along with the CIGAR string.
Liftover
Fields
paf: String
PAF file from minimap2 or unimap run with -c and –eqx [i.e. the PAF file must have the cg tag and use extended CIGAR opts (=/X)].
bed: String
BED file of reference regions to liftover to the query.
qbed: bool
Specifies that the BED file contains query coordinates to be lifted onto the reference (reverses direction of liftover).
Note, that this will make the query in the input PAF
the target in the output PAF
.
largest: bool
If multiple records overlap the same region in the
Liftover target sequence coordinates onto query sequence using a PAF.
This is a function for lifting over coordinates from a reference (paftools.js sam2paf
to convert SAM data to PAF format).
The returned file is a PAF file that is trimmed to the regions in the bed file. Even the cigar in the returned PAF file is trimmed so it can be used downstream! Additionally, a tag with the format id:Z:<>
is added to the PAF where <>
is either the 4th column of the input bed file or if not present chr_start_end
.
TrimPaf
Fields
paf: String
PAF file from minimap2 or unimap. Must have the cg tag, and n matches will be zero unless the cigar uses =X.
match_score: i32
Value added for a matching base.
diff_score: i32
Value subtracted for a mismatching base.
indel_score: i32
Value subtracted for an insertion or deletion.
Trim paf records that overlap in query sequence.
This idea is to mimic some of the trimming that happens in PAV to improve breakpoint detection. Starts with the largest overlap and iterates until no query overlaps remain.
Orient
Fields
paf: String
PAF file from minimap2 or unimap. Must have the cg tag, and n matches will be zero unless the cigar uses =X.
scaffold: bool
Generate ~1 query per target that scaffolds together all the records that map to that target sequence.
The order of the scaffold will be determined by the average target position across all the queries, and the name of the new scaffold will be
insert: u64
space to add between records
Orient paf records so that most of the bases are in the forward direction.
Optionally scaffold the queriers so that there is one query per target.
BreakPaf
Fields
paf: String
PAF file from minimap2 or unimap. Must have the cg tag, and n matches will be zero unless the cigar uses =X.
max_size: u32
maximum indel size to keep in the paf
Break PAF records with large indels into multiple records (useful for SafFire).
PafToSam
Fields
paf: String
PAF file from minimap2 or unimap.
Convert a PAF file into a SAM file. Warning, all alignments will be marked as primary!
FastxSplit
Splits fastx from stdin into multiple files.
Specifically it reads fastx format (fastq, fasta, or mixed) from stdin and divides the records across multiple output files. Output files can be compressed by adding .gz
, and the input can also be compressed or uncompressed.
GetFasta
Fields
fasta: String
fasta file to extract sequences from
bed: String
bed file of regions to extract
strand: bool
Reverse complement the sequence if the strand is “-”
name: bool
Add the name (4th column) to the header of the fasta output
Mimic bedtools getfasta but allow for bgzip in both bed and fasta inputs.
Nucfreq
Fields
bam: String
sam/bam/cram/file
bed: Option<String>
print nucfreq info from regions in the bed file output is optionally tagged using the 4th column
small: bool
smaller output format
Get the frequencies of each bp at each position.
Repeat
Report the longest exact repeat length at every position in a fasta.
Suns
Fields
fasta: String
fasta file with the genome
kmer_size: usize
the size of the required unique kmer
max_size: usize
the maximum size SUN interval to report
validate: bool
confirm all the SUNs (very slow) only for debugging.
Extract the intervals in a genome (fasta) that are made up of SUNs.
Trait Implementations
Instantiate Self
from ArgMatches
, parsing the arguments as needed. Read more
fn update_from_arg_matches<'b>(
&mut self,
__clap_arg_matches: &ArgMatches
) -> Result<(), Error>
fn update_from_arg_matches<'b>(
&mut self,
__clap_arg_matches: &ArgMatches
) -> Result<(), Error>
Assign values from ArgMatches
to self
.
Test whether Self
can parse a specific subcommand
Auto Trait Implementations
impl RefUnwindSafe for Commands
impl UnwindSafe for Commands
Blanket Implementations
Mutably borrows from an owned value. Read more
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub unsafe fn to_subset_unchecked(&self) -> SS
pub unsafe fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.