Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vigsterkr/circos
Circos is a software package for visualizing data and information. It visualizes data in a circular layout — this makes Circos ideal for exploring relationships between objects or positions.
https://github.com/vigsterkr/circos
Last synced: about 17 hours ago
JSON representation
Circos is a software package for visualizing data and information. It visualizes data in a circular layout — this makes Circos ideal for exploring relationships between objects or positions.
- Host: GitHub
- URL: https://github.com/vigsterkr/circos
- Owner: vigsterkr
- Created: 2010-10-13T21:28:19.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2018-10-29T23:34:41.000Z (about 6 years ago)
- Last Synced: 2024-08-03T21:04:54.436Z (3 months ago)
- Language: Perl
- Homepage: http://mkweb.bcgsc.ca/circos/
- Size: 39.1 MB
- Stars: 71
- Watchers: 9
- Forks: 32
- Open Issues: 4
-
Metadata Files:
- Readme: README
- Changelog: CHANGES
Awesome Lists containing this project
- Awesome-Bioinformatics - Circos - Perl package for circular plots, which are well suited for genomic rearrangements. [ [paper-2009](https://pubmed.ncbi.nlm.nih.gov/19541911) | [web](http://circos.ca) ] (Visualization / Circos Related)
README
____ _ v0.52
/ ___(_)_ __ ___ ___ __
| | | | '__/ __/ _ \/ __|
| |___| | | | (_| (_) \__ \
\____|_|_| \___\___/|___/round is good
################################################################
Circos - circular genome data and annotation image generator
v0.52
Martin Krzywinski
Canada's Michael Smith Genome Sciences Center
British Columbia Cancer Agency[email protected]
mkweb.bcgsc.ca/circos################################################################
0. INTRODUCTION
0.a what is circos?
0.b requirements1. GETTING STARTED
1.a installation
1.b tools2. BUGS
2.a report bugs and comments
2.b known issues3. INSTALLATION PROBLEMS
3.a missing modules4. OTHER ISSUES
4.a configuration paths
4.b typical errors and how to fix them
4.b.1 numerical parameter units################################################################
0. INTRODUCTION
0.a what is circos?
Circos is a program for the generation of publication-quality,
circularly composited renditions of genomic data and related annotations.Circos is particularly suited for visualizing alignments, conservation and
intra and inter-chromosomal relationships.But wait. Also, Circos is useful to visualize any type of information that
benefits from a circular layout. Thus, although it has been designed for
the field of genomics, it is sufficiently flexible to be used in other data
domains.0.b requirements
Perl 5.8.x, or newer, is highly recommended. In addition to the core
modules that come with your Perl distribution, the following CPAN
modules are requiredClone
GD
GD::Polyline
List::Util
Math::Bezier
Math::BigFloat
Math::Round
Math::VecStat
Params::Validate
Readonly
Set::IntSpan (v1.11, or later)Modules specific to Circos ship with the distribution in lib/.
Circos supports TTF fonts. A few fonts are included in fonts/.
1. GETTING STARTED
1.a installation
> tar xvfz circos-x.xx.tgz
> cd circos-x.xx
> ./installThe install script will alter the path to the Perl binary and output
path for tutorial files. By default, the Perl in your path will be used (/bin/env perl) and /tmp will be assigned to the output directory.If you prefer to change the paths manually, adjust the first line in
bin/circos to reflect its location. For example,#!/path/to/my/perl
and the dir parameter in block in each tutorial/*/*/circos.conf file.
dir = /path/to/my/output
...
Now try creating an image from one of the tutorials.
> cd circos-x.xx
> bin/circos -conf tutorials/2/2/circos.confIf everything goes well, the program should terminate with a line
created image at /path/to/your/output/your-output-file.png
To get some verbose reporting, use
> bin/circos -conf tutorials/2/2/circos.conf -debug
Please see mkweb.bcgsc.ca/circos for documentation. There are a large number
of tutorials that described how the configuration files are formatted.1.b tools
There are several helper scripts located in tools/ that are designed to aid you in processing your data.
Many of these involve manipulating link files. These tools independent scripts and are covered in Tutorial 9.
http://mkweb.bcgsc.ca/circos/?tutorials&id=9
The tools can be downloaded independently. Note that the stand-alone
tools distribution may contain scripts that are newer than those
bundled with Circos. To check this, look at the release date for the
archives at http://mkweb.bcgsc.ca/circos/?download2. BUGS
2.a report bugs and comments
I appreciate any and all comments you may have about Circos.
2.b known issues
GD does not draw rotated text correctly when the font size is small. For example,
using a font size of 6pt, text drawn an an angle is drawn with letters upright. If you
see this, increase the font size of the text.3. INSTALLATION PROBLEMS
3.a missing modules
In order to run Circos you may need to install some modules from CPAN (www.cpan.org). You
will need the modules listed herehttp://mkweb.bcgsc.ca/circos/?requirements
If you run Circos and get a message like
Can't locate Config/General.pm in @INC (@INC contains: /usr/lib/perl5/5.8.0/i386-linux
-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-mu
lti /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl
/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_
perl .) at ./bin/circos line 121.then you do not have a module installed. It may be that you have the module elsewhere,
but Perl cannot find it. In this case, the error message is barking at the fact that
Config::General is not installed.You can install the module using CPAN (if CPAN module is installed)
> perl -MCPAN -e shell
% install Config::GeneralMake sure that you are using the same perl binary to install the module as for Circos.
Alternatively, you can grab the module from CPAN directly. Use search.cpan.org to find
the module.> wget http://search.cpan.org/~tlinden/Config-General-2.31/General.pm
> tar xvfz Config-General-x.xx.tgz
> cd Config-General-x.xx.tgz
> perl Makefile.PL ; make ; make test
> make install4. OTHER ISSUES
4.a configuration paths
If you look inside one of the configuration files you'll find
that it includes other configuration files using <> and
makes relative mention of data files, such asfile = data/5/segdup.txt
Circos tries to find the file regardless where you are running the binary from, but
may still run into trouble finding files specified using a relative path.To avoid problems, run circos from its distribution directory
> cd circos-x.xxx
> bin/circos -conf ...Alternative, change all the paths in the .conf file to absolute paths. For example, from
<>
to
<>
4.b typical errors and how to fix them
4.b.1 numerical parameter units
Many numerical parameters in the .conf files require that you specify
a unit. For a given parameter, one or more of these units may be requiredp - absolute size in pixels
r - relative size, with the comparator being context sensitive
e.g. relative tick size is relative to ideogram thickness
e.g. relative tick label offset is relative to tick size
u - chromosome units, as defined by chromosomes_unit
b - bases, the natural unit along the ideogram
n - no unit, explicitly statedIf you receive an error message of the kind
The parameter [ideogram/spacing/break_style/thickness] value [0.25] does not have
the correct unit [saw n], which should be one of r,p at bin/circos line 3410
main::unit_validate(0.25, 'ideogram/spacing/break_style/thickness', 'r', 'p') called atbin/circos line 3559
main::draw_axis_break('HASH(0x8a81d10)') called at bin/circos line 872Then you have the wrong unit. Here the parameter at fault is
ideogram/spacing/break_style/thickness
that is
thickness =It is defined to be 0.25 (no unit) but requires that it have a unit of
either "r" (relative) or "p" (absolute).As Circos matures, and the configuration file syntax stabilizes, I am
striving to standardize the requirement for units for all
parameters. Previous versions were more tolerant and attempted to
naively determine the unit automatically (e.g. if value was <1 then
the unit was assumed relative) and you may find that after upgrading
to a new version of Circos your old files are creating errors. Just
add the units and you're good to go.