swsc

swsc: A sitewise UCE partitioner - Published in JOSS (2019)

https://github.com/rhagenson/swsc

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

candidate-windows sliding-windows uce uces ultraconserved-elements-uces
Last synced: 6 months ago · JSON representation

Repository

swsc implements the Sliding-Window Site Characteristics method of ultraconserved elements (UCEs) detailed by 10.1093/molbev/msy069

Basic Info
  • Host: GitHub
  • Owner: rhagenson
  • License: bsd-3-clause
  • Language: Go
  • Default Branch: master
  • Homepage:
  • Size: 207 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Topics
candidate-windows sliding-windows uce uces ultraconserved-elements-uces
Created about 7 years ago · Last pushed almost 6 years ago
Metadata Files
Readme License Code of conduct

README.md

status DOI

swsc

swsc implements the Sliding-Window Site Characteristics (SWSC) method as described in https://doi.org/10.1093/molbev/msy069

Sample data taken from: PFinderUCE-SWSC-EN

Insight into Interworkings

If using this program as a blackbox, here are a few things to consider about the interworkings:

swsc Window Types

swsc consides three window types starting at v5.0.0:

  • Candidate windows (size of minWin)
  • Extended candidate windows (size of minWin*2 via extending minWin/2 in both directions)
  • Window covering all candidates (size between minWin*candidates and UCE length)

Change minWin and candidates

The default settings for these values are provided as a rough guide to realistic values, but are not meant to be the values used for all runs.

For best results, minWin*candidates should be roughly 1/3 of the smallest UCE, indicating candidates can span the full length of the smallest UCE.

Usage

Installation

  1. Install the Go language following instructions at: https://golang.org/
  2. Run go get -u github.com/rhagenson/swsc/...
  3. Run swsc by either:
    • Calling it directly if you added$GOPATH/bin/ to your $PATH
    • Navigating to $GOPATH/src/github.com/rhagenson/swsc/ and running go build main.go && ./swsc

Running

Both input,output, and one metric (--gc or --entropy) must be set. See swsc --help for details.

Reporting Errors

If you have found an error, or this tools does not work for you, please create an issue at: https://github.com/RHagenson/swsc/issues with details on when the error occurred, what the error states, and what was expected to occur, if known.

Input

swsc reads a single nexus file processing two blocks:

  1. DATA, containing the UCE markers (unique by ID)
  2. SETS, containing the UCE locations (unique by ID, with inclusive range)

Example (... denotes truncated content, see PFinderUCE-SWSC-EN for full file):

```text

NEXUS

BEGIN DATA; DIMENSIONS NTAX=10 NCHAR=5786; FORMAT DATATYPE=DNA GAP=- MISSING=?; MATRIX

sp1 AGAAAC...TGCAAAG ... ;

END;

BEGIN SETS;

[loci]
CHARSET chr_2828 = 1-376;
CHARSET chr_4312 = 377-627;
...

CHARPARTITION loci = 1:chr_2828, 2:chr_4312...;

END; ```

Output

swsc writes a .csv file containing the chosen characteristic for each site of the UCEs. It can also produce a .cfg for use by PartitionFinder2 by using the appropriate flag (--cfg).

Versions

A quick explanation of versions:

  • v1.0.0: Does a brute force search considering all possible windows minWin and up
  • v2.0.0: Uses candidate windows plus extension procedure (optimize large alignment performance)
  • v3.0.0: Candidate windows plus extension while using a single reference alignment (better performance)
  • v4.0.0: Candidate windows plus extension, single reference alignment, and remove redundant calculations
  • v5.0.0: Multiple candidate windows plus extension and single reference alignment
  • v5.1.0: Same as v5.0.0, but done in parallel for each UCE
  • v6.1.0: Update CLI to allow Nexus or FASTA+UCE csv input

Use git checkout <version> to move to a particular version (and git checkout master to move to the latest untagged development version). From there you can run either go install to install the particular version in GOPATH (overwriting any previous installed version) or go build [-o <build name>] to build the version in the current directory.

Versions can give different results so I would recommend using v1.0.0 if you want the absolute best result (and have the time to wait for it to run a long, long time) or v6.1.0 with a realistic --minWin and --candidates settings (rule of thumb: minWin*candidates should be roughly 1/3 of the smallest UCE, indicating candidates can span the full length of the smallest UCE).

License

This work is licensed under the the Modified BSD License, see full terms of use in LICENSE file.

Owner

  • Name: Ryan A. Hagenson
  • Login: rhagenson
  • Kind: user
  • Location: Saint Louis, MO
  • Company: Washington University School of Medicine

A bioinfo-magician and synthetic biologist with a heart of cells.

JOSS Publication

swsc: A sitewise UCE partitioner
Published
January 18, 2019
Volume 4, Issue 33, Page 1146
Authors
Ryan A. Hagenson ORCID
Omaha's Henry Doorly Zoo and Aquarium
Editor
Pjotr Prins ORCID
Tags
ultraconserved elements partitioning entropy gc percentage

GitHub Events

Total
Last Year

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 204
  • Total Committers: 1
  • Avg Commits per committer: 204.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Ryan Hagenson R****n@g****m 204

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 2
  • Total pull requests: 0
  • Average time to close issues: 3 days
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 0.5
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • rhagenson (2)
Pull Request Authors
Top Labels
Issue Labels
bug (2) enhancement (1) good first issue (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 9
proxy.golang.org: github.com/rhagenson/swsc
  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 6 months ago

Dependencies

go.mod go
  • github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548
  • github.com/cznic/sortutil v0.0.0-20181122101858-f5f958428db8
  • github.com/fatih/color v1.7.0
  • github.com/klauspost/compress v1.8.2
  • github.com/klauspost/cpuid v1.2.1
  • github.com/klauspost/pgzip v1.2.1
  • github.com/kr/pretty v0.1.0
  • github.com/mattn/go-colorable v0.1.2
  • github.com/mattn/go-runewidth v0.0.4
  • github.com/pkg/errors v0.8.1
  • github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237
  • github.com/shenwei356/bio v0.0.0-20190907170441-6823710e5f1a
  • github.com/shenwei356/bpool v0.0.0-20160710042833-f9e0ee4d0403
  • github.com/shenwei356/util v0.0.0-20190523143900-f71ff373860c
  • github.com/shenwei356/xopen v0.0.0-20181203091311-f4f16ddd3992
  • github.com/spf13/pflag v1.0.3
  • golang.org/x/sys v0.0.0-20190909082730-f460065e899a
  • gonum.org/v1/gonum v0.0.0-20190908220844-1d8f8b2ee4ce
  • gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15
  • gopkg.in/cheggaaa/pb.v1 v1.0.28
go.sum go
  • github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af
  • github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548
  • github.com/cznic/sortutil v0.0.0-20181122101858-f5f958428db8
  • github.com/fatih/color v1.7.0
  • github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90
  • github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0
  • github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5
  • github.com/klauspost/compress v1.8.2
  • github.com/klauspost/cpuid v1.2.1
  • github.com/klauspost/pgzip v1.2.1
  • github.com/kr/pretty v0.1.0
  • github.com/kr/pty v1.1.1
  • github.com/kr/text v0.1.0
  • github.com/mattn/go-colorable v0.1.2
  • github.com/mattn/go-isatty v0.0.8
  • github.com/mattn/go-runewidth v0.0.4
  • github.com/pkg/errors v0.8.1
  • github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237
  • github.com/shenwei356/bio v0.0.0-20190907170441-6823710e5f1a
  • github.com/shenwei356/bpool v0.0.0-20160710042833-f9e0ee4d0403
  • github.com/shenwei356/util v0.0.0-20190523143900-f71ff373860c
  • github.com/shenwei356/xopen v0.0.0-20181203091311-f4f16ddd3992
  • github.com/spf13/pflag v1.0.3
  • golang.org/x/exp v0.0.0-20180321215751-8460e604b9de
  • golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f
  • golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2
  • golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81
  • golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223
  • golang.org/x/sys v0.0.0-20190909082730-f460065e899a
  • golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b
  • golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e
  • gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4
  • gonum.org/v1/gonum v0.0.0-20190908220844-1d8f8b2ee4ce
  • gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0
  • gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b
  • gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15
  • gopkg.in/cheggaaa/pb.v1 v1.0.28
  • rsc.io/pdf v0.1.1