Download CbioPortal.zip and click *.html file(in CbioPortal.zip) to open this demo in local browser!.
(a) Clone cBioPortal datahub
git clone https://github.com/cBioPortal/datahub.git
cd datahub
git lfs install --local --skip-smudge
(b) Download data using cBioPortal data ID
git lfs pull -I public/nsclc_pd1_msk_2018
cd public/nsclc_pd1_msk_2018/
(c) Files in public/nsclc_pd1_msk_2018/
data_mutations_extended.txt
data_cna_hg19.seg
data_fusions.txt
(a)Process SNP module data
awk -F "\t" '{print $5"\t"$6"\t"$7"\t"$1"\t"$38}' ./CbioPortal/nsclc_pd1_msk_2018/data_mutations_extended.txt | sed '1d' | sort | uniq -c | sort | sed 's/^ *//' | awk -F " " '$1>0{print $2"\t"$3"\t"$1"\t"$5"|"$6}' > ./CbioPortal/SNP01.txt
python3 NGCircos_PrepareData.py SNP ./CbioPortal/SNP01.txt > ./CbioPortal/SNP01.js #prepare SNP js file
(b)Process CNV module data
awk -F "\t" '(2^$6*2)>3{print $2"\t"$3"\t"$4"\t"(2^$6*2)}' ./CbioPortal/nsclc_pd1_msk_2018/data_cna_hg19.seg | sort -k1,1 -k2,2n > ./CbioPortal/CNV.txt
bedtools merge -i cnv.txt -c 4 -o count > ./CbioPortal/CNV01.txt
python3 NGCircos_PrepareData.py CNV ./CbioPortal/CNV01.txt > ./CbioPortal/CNV01.js #prepare CNV js file
(c)Process LINK module data
grep "::" ./CbioPortal/nsclc_pd1_msk_2018/data_fusions.txt | awk -F "\t" '{print $10}' | awk -F ":" '{print $1"\t"$2"\t"$3"\t"$4"\t"$5"\t"$6}' | awk -F "\)" '{print $1"\t"$2"\t"$5"\t"$6}' | sed 's/Note//g'| sed 's/(NM_002944//g'| sed 's/(NM_001025159//g'| sed 's/(NM_013956//g' | sed 's/(NM_000321//g' | sed 's/(NM_006424//g' | sed 's/(//g' | grep -v "rearrangement" | uniq | sed 's/g\.//g' | sed 's/chr//g' | sed 's/ //g' | sed 's/-//g' | sed 's/ROS1$//g' | sed 's/5q32;6q22.1//g' | gsed 's/\t/@/g' | sed 's/@@/@/g' | sed 's/@$//' | awk -F "@" '{print $1"--"$2"\t"$3"\t"$4"\t"$4"\t"$1"\t"$5"\t"$6"\t"$6"\t"$2}' > ./CbioPortal/LINK01.txt
python3 NGCircos_PrepareData.py LINK ./CbioPortal/LINK01.txt > ./CbioPortal/LINK01.js #prepare LINK js file
Users should prepare the input data in the following format (separated by tabs).
#chr pos value des
1 11181344 10 MTOR|ENST00000361445.4:c.6892G>C
1 11184573 3 MTOR|ENST00000361445.4:c.6644C>T
1 11188582 25 MTOR|ENST00000361445.4:c.5839G>C
......
15 99442709 1 IGF1R|ENST00000268035.6:c.1106A>G
15 99442834 2 IGF1R|ENST00000268035.6:c.1231G>T
15 99451967 18 IGF1R|ENST00000268035.6:c.1301G>C
Following fields are required:
The 1 column(chr
) is the name of the chromosome.
The 2 column(pos
) is the position of the SNP.
The 3 column(value
) is the value(density, P-value, etc.) of the SNP.
The 4 column(des
) is the description of the SNP.
Users should prepare the input data in the following format (separated by tabs).
#chr start end value
1 2488138 2494650 1
1 11307736 11319386 1
1 40361361 40367520 4
......
12 46123666 49449083 3
12 56474126 57864972 4
12 58142354 69233342 17
Following fields are required:
The 1 column(chr
) is the name of the chromosome.
The 2 column(start
) is the start of the CNV region.
The 3 column(end
) is the end of the CNV region.
The 4 column(value
) is the copy number of CNV region.
Users should prepare the input data in the following format (separated by tabs).
#name g1chr g1start g1end g1name g2chr g2start g2end g2name
CD74--NRG1 5 149782758 149782758 CD74 8 32513214 32513214 NRG1
CD74--ROS1 5 149783763 149783763 CD74 6 117647234 117647234 ROS1
CD74--NRG1 8 32549502 32549502 CD74 5 149782966 149782966 NRG1
ROS1--SLC34A2 4 25667671 25667671 ROS1 6 117662059 117662059 SLC34A2
Following fields are required:
The 1 column(name
) is the name of the link.
The 2 column(g1chr
) is the chromosome of gene 1.
The 3 column(g1start
) is the start of gene 1.
The 4 column(g1end
) is the end of gene 1.
The 5 column(g1name
) is the name of gene 1.
The 6 column(g2chr
) is the chromosome of gene 2.
The 7 column(g2start
) is the start of gene 2.
The 8 column(g2end
) is the end of gene 2.
The 9 column(g2name
) is the name of gene 2.
python NGCircos_PrepareData.py SNP SNP01.txt > SNP01.js
python NGCircos_PrepareData.py CNV CNV01.txt > CNV01.js
python NGCircos_PrepareData.py LINK LINK01.txt > LINK01.js
var SNP01 = [ "SNP01" , {
maxRadius: 205,
minRadius: 173,
SNPFillColor: "#9400D3",
PointType: "circle",
circleSize: 2,
rectWidth: 2,
rectHeight: 2,
displaySNPAxis: false,
SNPAxisColor: "#B8B8B8",
SNPAxisWidth: 0.5
} , [
{chr: "1", pos: "11181344", value: "1", des: "MTOR|ENST00000361445.4:c.6892G>C", color: "rgb(153,102,0)"},
{chr: "1", pos: "11184573", value: "1", des: "MTOR|ENST00000361445.4:c.6644C>T", color: "rgb(153,102,0)"},
{chr: "1", pos: "11188582", value: "1", des: "MTOR|ENST00000361445.4:c.5839G>C", color: "rgb(153,102,0)"},
......
{chr: "12", pos: "25398284", value: "11", des: "KRAS|ENST00000256078.4:c.35G>A", color: "rgb(204,0,0)"},
{chr: "12", pos: "25398284", value: "14", des: "KRAS|ENST00000256078.4:c.35G>T", color: "rgb(204,0,0)"},
{chr: "12", pos: "25398285", value: "36", des: "KRAS|ENST00000256078.4:c.34G>T", color: "rgb(204,0,0)"},
]];
var CNV01 = [ "CNV01" , {
maxRadius: 155,
minRadius: 116,
CNVwidth: 2,
CNVColor: "#4876FF",
} , [
{chr: "1", start: "2488138", end: "2494650", value: "1"},
{chr: "1", start: "11307736", end: "11319386", value: "1"},
{chr: "1", start: "40361361", end: "40367520", value: "4"},
......
{chr: "X", start: "451142", end: "53253997", value: "16"},
{chr: "X", start: "66765797", end: "76763968", value: "2"},
{chr: "X", start: "100604909", end: "149924738", value: "4"},
]];
var LINK01 = [ "LINK01" , {
LinkRadius: 100,
LinkFillColor: "#F26223",
LinkWidth: 3,
LinkType:"Q",
displayLinkAxis: true,
LinkAxisColor: "#B8B8B8",
LinkAxisWidth: 0.5,
LinkAxisPad: 3,
displayLinkLabel: false,
LinkLabelColor: "red",
LinkLabelSize: 13,
LinkLabelPad: 8,
} , [
{fusion: "CD74--NRG1", g1chr: "5", g1start: "149782758", g1end: "149782758", g1name: "CD74", g2chr: "8", g2start: "32513214", g2end: "32513214", g2name: "NRG1"},
{fusion: "CD74--ROS1", g1chr: "5", g1start: "149783763", g1end: "149783763", g1name: "CD74", g2chr: "6", g2start: "117647234", g2end: "117647234", g2name: "ROS1"},
{fusion: "CD74--NRG1", g1chr: "8", g1start: "32549502", g1end: "32549502", g1name: "CD74", g2chr: "5", g2start: "149782966", g2end: "149782966", g2name: "NRG1"},
{fusion: "ROS1--SLC34A2", g1chr: "4", g1start: "25667671", g1end: "25667671", g1name: "ROS1", g2chr: "6", g2start: "117662059", g2end: "117662059", g2name: "SLC34A2"},
]];
<script src="js/SNP01.js"></script>
<script src="js/CNV01.js"></script>
<script src="js/LINK01.js"></script>
<script src="js/BACKGROUND01.js"></script>
<script src="js/BACKGROUND02.js"></script>
NGCircos01 = new NGCircos(SNP01,CNV01,LINK01,BACKGROUND01,BACKGROUND02,NGCircosGenome,{ // Initialize with "SNP01""CNV01""LINK01" data tag
Download svg