Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/athos/igv-client

Clojure implementation of IGV client to control IGV via its Port Commands
https://github.com/athos/igv-client

clojure igv

Last synced: about 1 month ago
JSON representation

Clojure implementation of IGV client to control IGV via its Port Commands

Awesome Lists containing this project

README

        

# igv-client
[![Clojars Project](https://img.shields.io/clojars/v/igv-client.svg)](https://clojars.org/igv-client)
[![CircleCI](https://circleci.com/gh/athos/igv-client.svg?style=shield)](https://circleci.com/gh/athos/igv-client)

Clojure implementation of IGV client to control [IGV](http://software.broadinstitute.org/software/igv/) via its [Port Commands](https://igv.org/doc/desktop/#UserGuide/advanced/external_control/#port-commands)

## Installation

Add the following to your `:dependencies`:

[![Clojars Project](https://clojars.org/igv-client/latest-version.svg)](https://clojars.org/igv-client)

## Usage

```clojure
(require '[igv-client.core :as igv])

(def client (igv/connect "127.0.0.1" 60151))
(igv/set-snapshot-dir! client "/path/to/snapshot/dir")

(igv/reset client)
(igv/load-file client "/path/to/your/input/file")
(igv/goto client "chr1" 123456)
(igv/collapse client)
(igv/snapshot client)
(.close client)

;; or you can also write the same thing with the threading macro:

(-> client
igv/reset
(igv/load-file "/path/to/your/input/file")
(igv/goto "chr1" 123456)
igv/collapse
igv/snapshot
.close)
```

## Available Commands

Following is the list of commands available:

| Command Name | Function Signature |
|-----------------------|-----------------------------------------|
| `version` | `(version )` |
| `new`/`reset`/`clear` | `(reset )` |
| `load`/`loadfile` | `(load-file )` |
| `remove` | `(remove )` |
| `genome` | `(genome )` |
| `goto` | `(goto )` |
| | `(goto )` |
| `gototrack` | `(goto-track )` |
| `setsleepinterval` | `(set-sleep-interval! )` |
| `snapshotdirectory` | `(set-snapshot-dir! )` |
| `snapshot` | `(snapshot )` |
| `zoomin` | `(zoom-in )` |
| `zoomout` | `(zoom-out )` |
| `collapse` | `(collapse [])` |
| `expand` | `(expand [])` |
| `squish` | `(squish [])` |
| `tofront` | `(bring-to-front! )` |

## License

Copyright © 2019 Shogo Ohta

This program and the accompanying materials are made available under the
terms of the Eclipse Public License 2.0 which is available at
http://www.eclipse.org/legal/epl-2.0.

This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the Eclipse
Public License, v. 2.0 are satisfied: GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or (at your
option) any later version, with the GNU Classpath Exception which is available
at https://www.gnu.org/software/classpath/license.html.