intspan
Install
Current release: 0.4.6
cargo install intspan
SYNOPSIS
spanr
$ spanr help
spanr 0.4.0
wang-q <wang-q@outlook.com>
`spanr` operates chromosome IntSpan files
USAGE:
spanr [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
combine Combine multiple sets of runlists in a yaml file
compare Compare 1 YAML file against others
convert Convert runlist file to ranges file
cover Output covers on chromosomes
genome Convert chr.size to runlists
gff Convert gff3 to covers on chromosomes
help Prints this message or the help of the given subcommand(s)
merge Merge runlist yaml files
range Convert runlist file to ranges file
some Extract some records from a runlist yaml file
span Operate spans in a YAML file
split Split a runlist yaml file
stat Coverage on chromosomes for runlists
statop Coverage on chromosomes for one YAML crossed another
linkr
$ linkr help
linkr 0.4.0
wang-q <wang-q@outlook.com>
`linkr` operates ranges on chromosomes and links of ranges
USAGE:
linkr [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
circos Convert links to circos links or highlights
clean Replace ranges within links, incorporate hit strands and remove nested links
connect Connect bilateral links into multilateral ones
filter Filter links by numbers of ranges or length differences
help Prints this message or the help of the given subcommand(s)
merge Merge overlapped ranges via overlapping graph
sort Sort links and ranges within links
ovlpr
$ ovlpr help
ovlpr 0.4.0
wang-q <wang-q@outlook.com>
`ovlpr` operates overlaps between sequences
USAGE:
ovlpr [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
covered Covered regions from .ovlp.tsv files
help Prints this message or the help of the given subcommand(s)
paf2ovlp Convert minimap .paf to overlaps
replace Replace IDs in .ovlp.tsv
Concepts
IntSpans
An IntSpan represents sets of integers as a number of inclusive ranges, for example 1-10,19,45-48
or -99--10,1-10,19,45-48
.
The following picture is the schema of an IntSpan object. Jump lines are above the baseline; loop lines are below it.
Also, AlignDB::IntSpan and jintspan are implements of IntSpan objects in Perl and Java, respectively.
IntSpans on chromosomes
-
chr.sizes
-
Single
-
Multi
Ranges
Examples in S288c.ranges
I:1-100
I(+):90-150
S288c.I(-):190-200
II:21294-22075
II:23537-24097
Simple rules:
chromosome
andstart
are requiredspecies
,strand
andend
are optional.
to separatespecies
andchromosome
strand
is one of+
and-
and surround by round brackets:
to separate names and digits-
to separatestart
andend
- For
species
:species
should be alphanumeric and without spaces, one exception char is/
.species
is an identity, you can also treat is as a strain name, a lineage or something else.
species.chromosome(strand):start-end
--------^^^^^^^^^^--------^^^^^^----
Links of ranges
Types of links:
-
Bilateral links
I(+):13063-17220 I(-):215091-219225 I(+):139501-141431 XII(+):95564-97485
-
Bilateral links with hit strand
I(+):13327-17227 I(+):215084-218967 - I(+):139501-141431 XII(+):95564-97485 +
-
Multilateral links
II(+):186984-190356 IX(+):12652-16010 X(+):12635-15993
EXAMPLES
spanr
# cargo install --force --path .
# cargo install --force --git https://github.com/wang-q/intspan
|
|
|
|
|
linkr
Steps:
sort
|
v
clean -> merge
| /
| /
v
clean
|
V
connect
|
v
filter
ovlpr
S288c
# 229 tests/S288c/clean.tsv
# 148 tests/S288c/connect.tsv
# 148 tests/S288c/filter.tsv
# 566 tests/S288c/links.blast.tsv
# 346 tests/S288c/links.lastz.tsv
# 74 tests/S288c/merge.tsv
# 282 tests/S288c/sort.clean.tsv
# 626 tests/S288c/sort.tsv
|
|
Atha
|
# 4500 tests/Atha/clean.tsv
# 3832 tests/Atha/connect.tsv
# 3832 tests/Atha/filter.tsv
# 785 tests/Atha/merge.tsv
# 5416 tests/Atha/sort.clean.tsv
# 7754 tests/Atha/sort.tsv
|
|