Configuration
TASUKE : Configuration file (config.php)
Edit a configuration file as below. The location of the file is "(Apache DocumentRoot)/conf/config.php".
MySQL Database section
Set about database connection to this section.
Modifying conf/config.php$db = "<database name>
";
$host = "localhost or hostname
";
$user = "<user name>
";
$pswd = "<password>
;"
Set about kind of database to this section. Currently, only MySQL is supported.
Modifying conf/config.php
Back-end database
mysql: It requires php-mysql module.
$backend="mysql
";
A directory where temporary files such as phylogenetic tree creation are stored. If it does not exist, TASUKE will try mkdir.
Modifying conf/config.phpTemporary directory(for Phylogenetic tree)
$tempdir="/tmp/tasuke_tmp
";
When registering a large number(> 900) of Chr/Contig reference seqs, table is divided(SerialTable). If you want to use SerialTable, you have to turn ON(1) its auto-detection.
Normally, set it to OFF(0) to reduce server load.
If you are using SerialTable and this value is OFF(0), you will get a warning on web browser.
Whether to automatically determine if the table is divided or not?
$autoDetectSerialTable = 0
or 1
;
Set about Redis connection to this section.
Modifying conf/config.phpSet "enabled" or "disabled" to $useRedis.
$useRedis = "disabled or enabled";
$redisHost = "localhost or
hostname
";$redisPort = "6379 or
port number
";$redisDBName = "0 or
database name
";This name is used for the name of reference sequence.
Modifying conf/config.php$reference = "Reference";
This link enable users to jump external page by clicking the structure of the annotation.
e.g.)
1. Set "http://tasuke.com/search?=" to the $external_link and click "transcript001" on the track, the link destination URL will be set to "http://tasuke.com/search?=transcript001".
2. Set ".html" to the $external_link_suffix and click "transcript001" on the track, link destination URL will be set to "http://tasuke.com/transcript001.html".
$external_link = "<Destination URL>
";
$external_link_suffix = "<suffix for the URL>
";
If you set undefined tag to this value, it automatically sets "ID" to this value.
$external_link_tag_gff = "<tag name>
";
If you have multiple Tracks and want to set different links for each, set as follows:
Modifying conf/config.phpThe value set here has priority over $external_link/$external_link_tag_gff/$external_link_suffix.
$external_sites = array(
'
<Track name1>
' => array('link' => "
<Destination URL1>
",'tag_gff' => "
<tag name>
",'suffix' => "
<suffix for the URL>
"),
'
<Track name2>
' => array('link' => "
<Destination URL2>
",'tag_gff' => "
<tag name>
",'suffix' => "
<suffix for the URL>
")
);
If the chromosome name of the reference fasta is only numbers or alphabets, you can add a word like "chr" by setting here.
e.g.)
"1" to "chr1"
$chromosome_name = "";
If you show GWAS plot, you set phenotype flag true.
If you hide GWAS plot, you set phenotype flag false.
$phenotypeFlg = "true";
If you use system phylogenetic tree function, create a distance matrix file in advance. You can use the system phylogenetic tree by specifying that path in $distanceMatrixPath.
Modifying conf/config.php
[SystemTree] use system tree function.
// Specify a distance matrix file in Phylip format(Lower-triangle matrices).
// https://evolution.gs.washington.edu/phylip/doc/distance.html
// if $distanceMatrixPath is empty or not found, tree function will not be used.
$distanceMatrixPath = "";
// Do you want to display tree by default at startup?
$systreeDefaultOn = 1;
// [System/PhylipTree] Branches whose height is greater than this value will collapsed.
// Float. Invalid if 0 or empty.
$systreeAutoCollapseThreshold = 0;
// What to consider for $systreeAutoCollapseThreshold. (height/ratio)
$systreeAutoCollapseType = "height";
// [System/PhylipTree] Other options
// - Correction: ""/asec/pow/cdf
$systreeCorrection = "";
// - SortType: height or subtree
// height : max height of subtree
// subtree: number of subtree leaves
$systreeSortType = "subtree";
// - SortType: "" or asc or desc
$systreeSort = "desc";
// - TreeWidth: int
$systreeWidth = "100";
Set more threads , get fasta sequence and phylogenetic tree faster.
Modifying conf/config.php$threadnum = "4";
To get gene ID information on ANN/EFF information , set column number.
If you can't get correct information on SNP detail information , change correct number.
$ANNcol = "6";
$EFFcol = "7"; //for older snpEff annotation
$EFFcol = "8";
Primer designing function requires Primer3 and MFEprimer(optional). Set path of Primer3 and MFEprimer to this section. (Primer3 version 2.3.0 or later, MFEprimer version 2.0 or later(MFEprimer3 is not supported))
Modifying conf/config.php$primer3Path = "<path/primer3_core>
";
$primer3ThermPath = "<path/primer3_config>
";
$MFEpath = "<path/MFEprimer.py>
";
$MFEDBpath = "<path/reference/reference.fasta>
";
$ yum install policycoreutils-python
Change SELinux security context$ semanage fcontext -a -s system_u -t httpd_sys_content_t "<PRIMER3_DIRECTORY>
";
$ restorecon -RF "<PRIMER3_DIRECTORY>
";
Phylogenetic analysis requires PHYLIP. Set path of PHYLIP to this section.
Modifying conf/config.php$phylipDir = "/PATH/";
BLAST search requires ncbi blast+ tools. Set path of BLAST to this section.
$blastDBPath must be a DB file created by makeblastdb with "-parse_seqids" option.
$blastPath = "path/bin/blastn";
BLAST reference genome database PATH$blastDBPath = "path/reference/reference.fasta";
Limit of displaying each snps and indels when absolute position mode.
Modifying conf/config.php$nuc_max = "100k";
Visualizing BAM, BED and BEDGrpah. (RNA-seq read depth, CHIP-seq, BS-seq...)
If you want to use this feature, Set "enabled" to the $customTrack.
$customTrack = 'enabled' or 'disabled';
For more detail setting, see following items.
Modifying conf/config.php$customTrackName = <track name>
;
$customTrackKindofData = <unit>
;
It normalizes a value using header value of TSV file. It is useful for RNA-seq data.
Set "enabled" or "disabled" to $customTrackNormByRead.
$customTrackNormByRead = 'enabled' or 'disabled';
Change color gradiation for custom track$cstm_max = 1000;
$cstm_min = 0;
Canvas width for accession ids and groups
Modifying conf/config.php$accession_cvs_width = 160;
Set any color to each accession groups(variety, sub varienty, origin, type).
Modifying conf/config.php$color_acc_group = 'enabled' or 'disabled';
You can set default color for each data. And users can change each color by the color manager.
Set a hex formatted value.
e.g.) $snp_max_col="#00FF00";
$snp_max_col="#00FFFF";
Color for minimum of SNP count$snp_min_col="#F0F8FF";
Color for maximum of INDEL count$indel_max_col="#A52A2A";
Color for minimum of INDEL count$indel_min_col="#FFCB8E";
Color for maximum of DEPTH value$depth_max_col="#000000";
Color for minimum of DEPTH value$depth_min_col="#F2F2F2";
Color for maximum of custom track value$cstm_max_col="#A229B8";
Color for minimum of custom track value$cstm_min_col="#F5E9F7";
Color for maximum and minimum of custom track value when multiple conditions were enabled.$cstm_max_col_para1="#77ab42";
$cstm_min_col_para1="#f1f6ec";
$cstm_max_col_para2="#a13b4b";
$cstm_min_col_para2="#f5ebed";
$cstm_max_col_para3="#1a5dd9";
$cstm_min_col_para3="#e8eefb";
This parameter designate the value for the depth color. This value is used to make a gradation corresponding to each depth value.
Modifying conf/config.php$depth_max = 140;
$depth_min = 0;
This parameter designate the value for the depth color. This value is used to make a gradation corresponding to each depth value.
Modifying conf/config.php$snp_90k=900;
$snp_80k=800;
$snp_70k=700;
$snp_60k=600;
$snp_50k=500;
$snp_40k=400;
$snp_30k=300;
$snp_20k=200;
$snp_10k=100;
$snp_9k=90;
$snp_8k=80;
$snp_7k=70;
$snp_6k=60;
$snp_5k=50;
$snp_4k=40;
$snp_3k=30;
$snp_2k=20;
$snp_1k=10;
$snp_900b=9;
$snp_800b=8;
$snp_700b=7;
$snp_600b=6;
$snp_500b=5;
$snp_400b=4;
$snp_300b=3;
$snp_200b=2;
$snp_100b=1;
$snp_90b=1;
$snp_80b=1;
$snp_70b=1;
$snp_60b=1;
$snp_50b=1;
$snp_40b=1;
$snp_30b=1;
$snp_20b=1;
$snp_10b=1;
$snp_9b=1;
$snp_8b=1;
$snp_7b=1;
$snp_6b=1;
$snp_5b=1;
$snp_4b=1;
$snp_3b=1;
$snp_2b=1;
$snp_1b=1;
$snp_min=1;
This parameter designate the value for the depth color. This value is used to make a gradation corresponding to each depth value.
Modifying conf/config.php$indel_90k=900;
$indel_80k=800;
$indel_70k=700;
$indel_60k=600;
$indel_50k=500;
$indel_40k=400;
$indel_30k=300;
$indel_20k=200;
$indel_10k=100;
$indel_9k=90;
$indel_8k=80;
$indel_7k=70;
$indel_6k=60;
$indel_5k=50;
$indel_4k=40;
$indel_3k=30;
$indel_2k=20;
$indel_1k=10;
$indel_900b=9;
$indel_800b=8;
$indel_700b=7;
$indel_600b=6;
$indel_500b=5;
$indel_400b=4;
$indel_300b=3;
$indel_200b=2;
$indel_100b=1;
$indel_90b=1;
$indel_80b=1;
$indel_70b=1;
$indel_60b=1;
$indel_50b=1;
$indel_40b=1;
$indel_30b=1;
$indel_20b=1;
$indel_10b=1;
$indel_9b=1;
$indel_8b=1;
$indel_7b=1;
$indel_6b=1;
$indel_5b=1;
$indel_4b=1;
$indel_3b=1;
$indel_2b=1;
$indel_1b=1;
$indel_min=1;
TASUKE : Other settings
Page layout
header
Modifying docs/top.html
:
</div>
Modifying docs/bottom.html
:
</div>
Here we explain how to edit "About" and "Citation" pages in "Help" menu in menu bar.
About pageModifying docs/about.html
:
</div>
Modifying docs/citation.html
:
</div>
In initially state, TASUKE loads the accessions that was sorted by installation order. this order is based on the accession information that is using as a input file of "tasuke_accession.pl". If you want to change the order of accessions, edit a below file. In addition, you can hide any accessions by using this function. An accession that does not contain "order.conf" will be hidden on the TASUKE.
If you want to use this function, write the IDs (accessions) to each line of this file.
accession_B
accession_A
:
This function does not work when this file contains nothing or the file does not exist on the conf directory.
Undefined IDs were found, and the Ids will be ignored.
e.g.) When your database has 5 accessions, but you want to show 3 accessions only.
The accession information in the databaseaccession_2
accession_3
accession_4
accession_5
accession_2
accession_1

You set several parameters for viewing destination region to URL of the TASUKE, and TASUKE views that region. It is useful for link from other web page.
e.g.) If you want to move to the 'gene001(chr01:10000-20000)' from any position or other web page, access the below URL.
http://hostname/index.html?chr=chr01&st=10000&en=20000&id=gene001
Parameter | Description |
---|---|
chr | Name of the sequence |
st | Start position |
en | End position |
id | If you set transcript id to this parameter, the transcript object will be highlighted on the annotation track. (Not required) |
Set the designated accessions to a query string of the URL (similar to above section). This function can use other query string functions together.
e.g.) Set 'human001,human002,human004' to the query string and access the below URL.
http://hostname/index.html?acc=human001,human002,human004
Parameter | Description |
---|---|
acc | Comma-separated accessions (IDs) |
Server
1. You must use limited-mysql-user for security protection. See following steps.
$ mysql -u <user>
-p
> Enter password: <password>
$ mysql> create user '<new user>
'@'<hostname>
';
$ mysql> set password '<new user>
'@'<hostname>
'=password('<new password>
');
$ mysql> grant select on <database name>
.* to '<new user>
'@'<hostname>
';
$ mysql> flush privileges;
$ mysql> exit;
$user = <new user>
;
$pswd = <new password>
;
Modifying /etc/httpd/conf/httpd.conf
<Apache document root>
/conf" >Order deny,allow
Deny from all
</Directory>
Using database compression, data size will be reduce and the performance is slightly improve. Particularly TSV (depth and general-purpose) data size will be reduce to 1/2 to 1/6.
The TASUKE (database) does not work until finishing this processes.
Compressed database can not be update (read-only).
If you want to update data after making compressed database, decompressing is needed.$ service mysqld stop
Move to the database directory$ cd <mysql database directory>
(default: /var/lib/mysql/<database name>
)
<tsv table>
indicates dx_accession or dx_accession_cstmMyisampack and myisamchk are repeated for each accession
$ myisampack -v <tsv table>
$ myisamchk -rq --sort-index --analyze <tsv table>
.MYI
$ service mysqld start
Load the tables$ mysql -u <user>
-p
> Enter password: <password>
$ mysql> flush tables;
$ mysql> exit;
$ service mysqld stop
Deompressing the tables$ myisamchk --unpack <tsv table>
$ service mysqld start
Load the tables$ mysql -u <user>
-p
> Enter password: <password>
$ mysql> flush tables;
$ mysql> exit;