NG-Circos: następna generacja Circos do wizualizacji i interpretacji danych

Abstract

Plany Circos są szeroko stosowane do wyświetlania wielowymiarowych danych genomowych następnej generacji, ale istniejące implementacje Circos nie są interaktywne z ograniczoną obsługą typów danych. Tutaj opracowaliśmy Next-generation Circos (NG-Circos), elastyczne, oparte na JavaScript narzędzie do wizualizacji genomu kołowego, służące do projektowania wysoce interaktywnych działek Circos przy użyciu 21 modułów funkcjonalnych z różnymi typami danych. Według naszej wiedzy, NG-Circos jest najpotężniejszym oprogramowaniem do konstruowania interaktywnych działek Circos. Poprzez obsługę różnych typów danych w dynamicznym interfejsie przeglądarki, NG-Circos przyspieszy wizualizację i interpretację danych nowej generacji, promując w ten sposób powtarzalne badania w naukach biomedycznych i nie tylko. NG-Circos jest dostępny pod adresami https://wlcb.oit.uci.edu/NG-Circos i https://github.com/YaCui/NG-Circos.

INTRODUCTION

Wizualizowanie rosnących ilości danych biologicznych nowej generacji jest krytyczne dla ich interpretacji. Plany Circos są okrągłymi, dwuwymiarowymi reprezentacjami wizualnymi, które stanowią kompleksowe rozwiązanie do prezentacji i interpretacji wielowymiarowych danych genomowych. Circos (1), dominujące narzędzie do tworzenia działek Circos, jest powszechnie stosowany do wizualizacji złożonych danych biologicznych w wielu badaniach. Jednakże, wyniki Circosa nie są interaktywne. Inne narzędzia pochodne Circos, takie jak Circoletto (2), CIRCUS (3), J-Circos (4), shinyCircos (5), Rcircos (6), Circleator (7), OmicCircos (8), ggbio (9) nie są w stanie tworzyć interaktywnych wykresów Circos w przeglądarce internetowej lub są ograniczone do określonych typów danych. Nasze poprzednie narzędzie, BioCircos.js (10), wydaje się być jedynym opublikowanym oprogramowaniem zdolnym do tworzenia interaktywnych wykresów Circos i stało się najnowocześniejszym narzędziem w tej dziedzinie (11-12). Niemniej jednak, BioCircos.js (10) implementuje tylko dziewięć funkcjonalnych modułów, ograniczając swój zakres do wykonywania dodatkowych zadań analitycznych.

Aby zaradzić tej słabości, opracowaliśmy tutaj Next-generation Circos (NG-Circos), oparte na JavaScript narzędzie do wizualizacji genomu kołowego, które wykracza poza ramy BioCircos.js (10), aby zintegrować i zinterpretować typy danych genomowych poprzez interaktywne wykresy Circos. NG-Circos zawiera obecnie 21 modułów, umożliwiających różne funkcje, które były nieobecne w innych narzędziach (w tym BioCircos.js (10)). Obsługując różne typy danych genomowych w interaktywnym interfejsie przeglądarki, NG-Circos przyspieszy wizualizację i interpretację danych następnej generacji, promując w ten sposób powtarzalne badania w naukach biomedycznych i nie tylko.

MATERIAŁY I METODY

Implementacja NG-Circos

NG-Circos jest napisany w JavaScript i generuje interaktywną grafikę z elementem SVG w oparciu o D3.js (dokumenty oparte na danych) i jQuery.js. Oparty na JavaScript, NG-Circos może być używany bez konieczności instalowania dodatkowych pakietów. Po pobraniu NG-Circos, użytkownicy mogą odtworzyć prawie wszystkie wykresy kołowe rysowane przez Circos za pomocą przeglądarki internetowej. Zauważ, że NG-Circos sam w sobie nie jest aplikacją internetową, ale jest biblioteką do budowania interaktywnych działek Circos w aplikacjach internetowych.

Implementing image-download function in NG-Circos

Funkcja pobierania w NG-Circos jest zbudowana przy użyciu svg-crowbar.js (https://nytimes.github.io/svg-crowbar/) z The New York Times. NG-Circos obsługuje teraz formaty SVG i PNG. Format obrazu SVG pozwala użytkownikom na wyodrębnienie wysokiej jakości obrazów, które mogą być dalej wykorzystywane w Adobe Illustrator.

Przetwarzanie danych wejściowych w NG-Circos

Dostarczamy skrypt przetwarzania danych (napisany w pythonie i powłoce) do przetwarzania surowych danych, umożliwiając użytkownikom łatwe przekształcenie ich danych do formatu JSON z domyślnymi parametrami dla odpowiedniego modułu. Dane wejściowe NG-Circos mogą być generowane przez skrypty Pythona lub bezpośrednio przez dobrze udokumentowane formaty danych JSON. Użytkownicy mogą zintegrować NG-Circos z istniejącą aplikacją internetową opartą na JavaScript, która posiada swoje własne wewnętrzne struktury danych JSON. Dostarczamy przykład dla każdego modułu, aby zilustrować strukturę danych wejściowych i wszystkie kroki potrzebne do odtworzenia tego przykładu (https://wlcb.oit.uci.edu/modules/).

Przetwarzanie danych GWAS w LocusZoom plot

Na rysunku 1F użyliśmy PLINK (13) do obliczenia wartości r-kwadrat dla określonych populacji i do wyodrębnienia współczynnika rekombinacji z danych Hapmap3 (14) dla określonych SNPs.

Przeglądarki internetowe obsługiwane przez NG-Circos

Szybkość działania NG-Circos zależy od mocy obliczeniowej przeglądarek i sprzętu. NG-Circos przeszedł debugowanie i badanie we wszystkich głównych przeglądarkach internetowych, w tym Google Chrome, Internet Explorer/Edge, Mozilla Firefox, Safari i Opera.

WYNIKI

Przebieg pracy NG-Circos

NG-Circos ma bardzo przyjazny dla użytkownika przebieg pracy. Składa się z trzech głównych kroków do narysowania interaktywnego wykresu Circos: Krok 1 obejmuje rysowanie chromosomów (lub innych segmentów) jako osi współrzędnych. Krok 2 polega na dodaniu różnych ścieżek danych przy użyciu odpowiednich modułów z dużą elastycznością w ich wyborze (obecnie zaimplementowanych jest 21 modułów, Supplementary Table S1). Dane wejściowe dla NG-Circos mogą być generowane przez skrypty Pythona lub bezpośrednio przez dobrze udokumentowane formaty danych JSON. Dla każdego modułu podajemy jeden przykład, który zawiera pliki danych wejściowych i wszystkie kroki potrzebne do odtworzenia tego przykładu (https://wlcb.oit.uci.edu/modules/). Wreszcie, krok 3 zawiera interaktywne animacje, zdarzenia myszy (Supplementary Table S2) i projektowanie narzędzi dla elementów graficznych. NG-Circos jest wysoce konfigurowalny, pozwalając użytkownikom na dostosowanie osobistych ustawień. Dostarczamy również zestaw starannie ocenionych ustawień domyślnych dla każdego modułu oraz wiele wersji demonstracyjnych, aby ułatwić korzystanie z NG-Circos. Dodatkowo, możliwości NG-Circos mogą być w prosty sposób rozszerzone poprzez włączenie kolejnych funkcjonalnych modułów w kroku 2.

NG-Circos zapewnia elastyczny wybór modułów dla zróżnicowanych działek Circos

Aktualna wersja NG-Circos składa się z 21 modułów (Tabela uzupełniająca S1). Kombinacja modułów w NG-Circos pozwala użytkownikom na konstruowanie różnych typów działek Circos. Na przykład, NG-Circos może odtworzyć złożone, opublikowane wykresy Circos (15) poprzez połączenie modułów ARC, GENE, HEATMAP, LINK i WIG (Rysunek 1A). NG-Circos nie tylko potrafi odtworzyć złożone, opublikowane powierzchnie Circos, ale także udostępnia dodatkowe funkcje, takie jak popularne interaktywne dema powierzchni Circos (np. powierzchnie Lollipop, Wig i LocusZoom (16)) pokazane na Rysunku 1B-F (15) (17) (18) (19), które nie są widoczne w innych narzędziach. Co więcej, oferujemy więcej demo na stronie internetowej (https://wlcb.oit.uci.edu/NG-Circos), aby pokazać moc tego narzędzia: użytkownicy mogą łatwo zastąpić dane demo swoimi danymi, aby stworzyć własne działki. Wszystkie figury można pobrać w formacie SVG i PNG, przy czym format SVG zapewnia użytkownikom wysokiej jakości obrazy, które mogą być dalej wykorzystywane przez inne aplikacje, takie jak Adobe Illustrator. Ogólnie rzecz biorąc, NG-Circos oferuje użytkownikom dużą elastyczność w wyborze modułów i typów wykresów Circos.

Rysunek 1.

Demoty NG-Circos. (A) Złożone opublikowane Circos plots odtworzone przy użyciu NG-Circos; szczegółowe opisy można znaleźć w Akdemir et al. (15). (B) Demo przedstawiające struktury genów przy użyciu NG-Circos; dane pochodzą z Akdemir et al. (15). (C) Demo Chord plot pokazujące zmiany genów regulowanych przez IL-6 w różnych komórkach (17). (D) Demonstracja wykresu Lollipop zaprojektowanego przez NG-Circos; dane pochodzą od Schultheis et al. (18). (E) Demonstracja modułu COMPARE w NG-Circos. Mutacje w promotorze PVT1 zmieniają geny docelowe enhancera. Wykres Wig pokazuje modyfikacje H3K4me3 (niebieski) i H3K9me3 (czerwony) (19). (F) Demo wykresu LocusZoom zaprojektowanego przez NG-Circos. Nazwy modułów ścieżek w (A-F) są zaznaczone czerwonym tekstem.

Rysunek 1.

Demota NG-Circos. (A) Złożone opublikowane Circos plots odtworzone przy użyciu NG-Circos; szczegółowe opisy można znaleźć w Akdemir et al. (15). (B) Demo przedstawiające struktury genów przy użyciu NG-Circos; dane pochodzą z Akdemir et al. (15). (C) Demo Chord plot pokazujące zmiany genów regulowanych przez IL-6 w różnych komórkach (17). (D) Demonstracja wykresu Lollipop zaprojektowanego przez NG-Circos; dane pochodzą od Schultheis et al. (18). (E) Demonstracja modułu COMPARE w NG-Circos. Mutacje w promotorze PVT1 zmieniają geny docelowe enhancera. Wykres Wig pokazuje modyfikacje H3K4me3 (niebieski) i H3K9me3 (czerwony) (19). (F) Demo wykresu LocusZoom zaprojektowanego przez NG-Circos. Nazwy modułów ścieżek w (A-F) są zaznaczone czerwonym tekstem.

Studium przypadku dla interaktywnej eksploracji danych przy użyciu NG-Circos

Przedstawiamy tutaj studium przypadku, aby jeszcze bardziej zilustrować możliwości interaktywnej eksploracji danych przy użyciu NG-Circos. W tym przypadku, użytkownicy mogą interaktywnie badać polimorfizmy pojedynczych nukleotydów (SNP), fuzje genów i ich wpływ na strukturę białek w raku płuc (Rysunek 2). Na przykład, najechanie myszką na zdarzenia pokazuje częstotliwość SNP w raku płuc z bazy danych Catalogue of Somatic Mutations in Cancer (COSMIC) (Figura 2B) (20) i trójwymiarową (3D) strukturę białka fuzji genu EML4-ALK (Figura 2C) (21). Co ciekawe, NG-Circos może również przekierowywać elementy (takie jak SNP lub fuzje genów) do zewnętrznych zasobów. Na przykład, kliknięcie na SNP, taki jak wariant EGFR T790M, otwiera nową stronę bazy danych Protein Data Bank (PDB), wyświetlającą strukturę 3D EGFR dotkniętą wariantem T790M (Rysunek 2D; kod PDB: 2JIT) (22). Podsumowując, NG-Circos służy jako doskonałe narzędzie do interaktywnej eksploracji danych genomowych, dzięki czemu użytkownicy mogą wydobywać dodatkowe informacje poprzez najeżdżanie myszą i klikanie na działki.

Rysunek 2.

Używanie NG-Circos do integracyjnej wizualizacji i interpretacji danych. (A) Elastyczne łączenie różnych modułów w NG-Circos do wizualizacji wielu typów danych biologicznych. Zewnętrzny pierścień reprezentuje ideogramy chromosomów. Przesuwając się do wewnątrz od zewnętrznego pierścienia, ścieżki danych reprezentują somatyczne CNV, gęstość wariantów, mutacje somatyczne i fuzje genów. Z wyjątkiem symulowanych danych gęstości wariantów, wszystkie pokazane dane zostały pobrane z bazy danych COSMIC. (B) Przesuń kursor myszy, aby wyświetlić szczegóły każdego SNP. (C) Kliknij myszą, aby wyświetlić szczegóły każdej fuzji genów i jej strukturę białkową 3D (w tym przypadku fuzja genów EML4-ALK). (D) Kliknij na SNP (w tym przypadku wariant EGFR T790M), aby otworzyć nową stronę internetową w bazie danych PDB wyświetlającą strukturę 3D EGFR dotkniętą wariantem T790M (kod PDB: 2JIT).

Rysunek 2.

Użycie NG-Circos do integracyjnej wizualizacji i interpretacji danych. (A) Elastyczne łączenie różnych modułów w NG-Circos do wizualizacji wielu typów danych biologicznych. Zewnętrzny pierścień reprezentuje ideogramy chromosomów. Przesuwając się do wewnątrz od zewnętrznego pierścienia, ścieżki danych reprezentują somatyczne CNV, gęstość wariantów, mutacje somatyczne i fuzje genów. Z wyjątkiem symulowanych danych gęstości wariantów, wszystkie pokazane dane zostały pobrane z bazy danych COSMIC. (B) Przesuń kursor myszy, aby wyświetlić szczegóły każdego SNP. (C) Kliknij myszą, aby wyświetlić szczegóły każdej fuzji genów i jej strukturę białkową 3D (w tym przypadku fuzja genów EML4-ALK). (D) Kliknij na SNP (w tym przypadku wariant EGFR T790M), aby otworzyć nową stronę internetową w bazie danych PDB wyświetlającą strukturę 3D EGFR z wariantem T790M (kod PDB: 2JIT).

DISCUSSION

Interaktywna eksploracja danych w różnych typach danych z pewnością będzie promować wizualizację i interpretację danych następnej generacji, z kilkoma udanymi przykładami, takimi jak cBioPortal (23), widocznymi w badaniach nad rakiem. Plany Circos są szeroko stosowane do wyświetlania obszernych danych genomicznych następnej generacji, ale istniejące implementacje Circos nie generują interaktywnych danych wyjściowych, co ogranicza ich użyteczność. Aby rozwiązać ten problem, NG-Circos dostarcza elastycznych modułów do interaktywnej eksploracji danych i różnych typów działek Circos. Ponieważ w przyszłości generowane będą dodatkowe typy danych genomowych, będziemy aktualizować dodatkowe moduły funkcjonalne, aby rozszerzyć możliwości NG-Circos. Będziemy również aktywnie utrzymywać NG-Circos i odpowiadać na zapytania użytkowników. Poprzez obsługę różnych typów danych genomowych w interaktywnym interfejsie internetowym, NG-Circos, jak sądzimy, usprawni badania genomiczne w dziedzinie biomedycyny w przyszłości.

DANE UZUPEŁNIAJĄCE

Dane uzupełniające są dostępne w NARGAB Online.

ACKNOWLEDGEMENTS

We acknowledge Tianyi Zang, Yadong Wang and members of the Li lab for constructive discussions and support.

FUNDING

No external funding.

Conflict of interest statement. None declared.

Krzywiński
M.

,

Schein
J.

,

Birol
I.

,

Connors
J.

,

Gascoyne
R.

,

Horsman
D.

,

Jones
S.J.

,

Marra
M.A.
Circos: an information aesthetic for comparative genomics

.

Genome Res.
2009

;

19

:

1639

1645

.

Darzentas
N.
Circoletto: wizualizacja podobieństwa sekwencji z Circos

.

Bioinformatics

.

2010

;

26

:

2620

2621

.

Naquin
D.

,

d’Aubenton-Carafa
Y.

,

Thermes
C.

,

Silvain
M.
CIRCUS: a package for Circos display of structural genome variations from paired-end and mate-pair sequencing data

.

BMC Bioinformatics

.

2014

;

15

:

198

.

An
J.

,

Lai
J.

,

Sajjanhar
A.

,

Batra
J.

,

Wang
C.

,

Nelson
C.C.
J-Circos: an interactive Circos plotter

.

Bioinformatics

.

2015

;

31

:

1463

1465

.

Yu
Y.

,

Ouyang
Y.

,

Yao
W.
ShinyCircos: an R/Shiny application for interactive creation of Circos plot

.

Bioinformatics

.

2018

;

34

:

1229

1231

.

Zhang
H.

,

Meltzer
P.

,

Davis
S.
RCircos: an R package for Circos 2D track plots

.

BMC Bioinformatics

.

2013

;

14

:

244

.

Crabtree
J.

,

Agrawal
S.

,

Mahurkar
A.

,

Myers
G.S.

,

Rasko
D.A.

,

White
O.
Circleator: flexible circular visualization of genome-associated data with BioPerl and SVG

.

Bioinformatics

.

2014

;

30

:

3125

3127

.

Hu
Y.

,

Yan
C.

,

Hsu
C.H.

,

Chen
Q.R.

,

Niu
K.

,

Komatsoulis
G.A.

,

Meerzaman
D.
Omiccircos: a simple-to-use R package for the circular visualization of multidimensional Omics data

.

Cancer Inform.
2014

;

13

:

13

20

.

Yin
T.

,

Cook
D.

,

Lawrence
M.
ggbio: an R package for extending the grammar of graphics for genomic data

.

Genome Biol.
2012

;

13

:

R77

.

Cui
Y.

,

Chen
X.

,

Luo
H.

,

Fan
Z.

,

Luo
J.

,

He
S.

,

Yue
H.

,

Zhang
P.

,

Chen
R.
BioCircos.js: interaktywna biblioteka Circos JavaScript do wizualizacji danych biologicznych w aplikacjach internetowych

.

Bioinformatics

.

2016

;

32

:

1740

1742

.

Juanillas
V.

,

Dereeper
A.

,

Beaume
N.

,

Droc
G.

,

Dizon
J.

,

Mendoza
J.R.

,

Perdon
J.P.

,

Mansueto
L.

,

Triplett
L.

,

Lang
J.

et al. .

Rice galaxy: an open resource for plant science

.

Gigascience

.

2019

;

8

:

giz028

.

Nott
A.

,

Holtman
I.R.

,

Coufal
N.G.

,

Schlachetzki
J.C.M.

,

Yu
M.

,

Hu
R.

,

Han
C.Z.

,

Pena
M.

,

Xiao
J.

,

Wu
Y.

et al. .

Brain cell type-specific enhancer-promoter interactome maps and disease-risk association

.

Science

.

2019

;

366

:

1134

1139

.

Purcell
S.

,

Neale
B.

,

Todd-Brown
K.

,

Thomas
L.

,

Ferreira
M.A.R.

,

Bender
D.

,

Maller
J.

,

Sklar
P.

,

De Bakker
P.I.W.

,

Daly
M.J.

et al. .

PLINK: a tool set for whole-genome association and population-based linkage analyses

.

Am. J. Hum. Genet.
2007

;

81

:

559

575

.

Belmont
J.W.

,

Hardenbol
P.

,

Willis
T.D.

,

Yu
F.

,

Yang
H.

,

Ch’Ang
L.Y.

,

Huang
W.

,

Liu
B.

,

Shen
Y.

,

Tam
P.K.H.

et al. .

Międzynarodowy projekt HapMap

.

Nature

.

2003

;

426

:

789

796

.

Akdemir
K.C.

,

Jain
A.K.

,

Allton
K.

,

Aronow
B.

,

Xu
X.

,

Cooney
A.J.

,

Li
W.

,

Barton
M.C.
Genome-wide profiling reveals stimulus-specific functions of p53 during differentiation and DNA damage of human embryonic stem cells

.

Nucleic Acids Res.
2014

;

42

:

205

223

.

Pruim
R.J.

,

Welch
R.P.

,

Sanna
S.

,

Tesłowicz
T.M.

,

Chines
P.S.

,

Gliedt
T.P.

,

Boehnke
M.

,

Abecasis
G.R.

,

Willer
C.J.

,

Frishman
D.
LocusZoom: regional visualization of genome-wide association scan results

.

Bioinformatics

.

2011

;

26

:

2336

2337

.

Twohig
J.P.

,

Cardus Figueras
A.

,

Andrews
R.

,

Wiede
F.

,

Cossins
B.C.

,

Derrac Soria
A.

,

Lewis
M.J.

,

Townsend
M.J.

,

Millrine
D.

,

Li
J.

et al. .

Aktywacja naiwnych komórek CD4 + T re-tuning STAT1 signaling to deliver unique cytokine responses in memory CD4 + T cells

.

Nat. Immunol.
2019

;

20

:

458

470

.

Schultheis
A.M.

,

Martelotto
L.G.

,

De Filippo
M.R.

,

Piscuglio
S.

,

Ng
C.K.Y.

,

Hussein
Y.R.

,

Reis-Filho
J.S.

,

Soslow
R.A.

,

Weigelt
B.
Widmo mutacjiTP53 w endometrioidalnych i surowiczych rakach endometrium

.

Int. J. Gynecol. Pathol.
2016

;

35

:

289

300

.

Cho
S.W.

,

Xu
J.

,

Sun
R.

,

Mumbach
M.R.

,

Carter
A.C.

,

Chen
Y.G.

,

Yost
K.E.

,

Kim
J.

,

He
J.

,

Nevins
S.A.

et al. .

Promoter genu lncRNA PVT1 to tumor-suppressor DNA boundary element

.

Cell

.

2018

;

173

:

1398

1412

.

Forbes
S.A.

,

Beare
D.

,

Boutselakis
H.

,

Bamford
S.

,

Bindal
N.

,

Tate
J.

,

Cole
C.G.

,

Ward
S.

,

Dawson
E.

,

Ponting
L.

et al. .

COSMIC: somatyczna genetyka nowotworów w wysokiej rozdzielczości

.

Nucleic Acids Res.
2017

;

45

:

D777

D783

.

Wang
D.

,

Li
D.

,

Qin
G.

,

Zhang
W.

,

Ouyang
J.

,

Zhang
M.

,

Xie
L.
Strukturalna charakterystyka genów i białek fuzyjnych nowotworów

.

Comput. Math. Methods Med.
2015

;

2015

:

doi:10.1155/2015/912742

.

Yun
C.H.

,

Mengwasser
K.E.

,

Toms
A. V.

,

Woo
M.S.

,

Greulich
H.

,

Wong
K.K.

,

Meyerson
M.

,

Eck
M.J.
Mutacja T790M w kinazie EGFR powoduje oporność na leki poprzez zwiększenie powinowactwa do ATP

.

Proc. Natl. Acad. Sci. U.S.A.
2008

;

105

:

2070

2075

.

Gao
J.

,

Aksoy
B.A.

,

Dogrusoz
U.

,

Dresdner
G.

,

Gross
B.

,

Sumer
S.O.

,

Sun
Y.

,

Jacobsen
A.

,

Sinha
R.

,

Larsson
E.

et al. .

Integrative analysis of complex cancer genomics and clinical profiles using the cBioPortal

.

Sci. Signal.
2013

;

6

:

pl1

.

Jiang
S.

,

Xie
Y.

,

He
Z.

,

Zhang
Y.

,

Zhao
Y.

,

Chen
L.

,

Zheng
Y.

,

Miao
Y.

,

Zuo
Z.

,

Ren
J.
m6ASNP: a tool for annotating genetic variants by m6A function

.

Gigascience

.

2018

;

7

:

giy035

.

Mateo
L.

,

Guitart-Pla
O.

,

Pons
C.

,

Duran-Frigola
M.

,

Mosca
R.

,

Aloy
P.
A PanorOmic view of personal cancer genomes

.

Nucleic Acids Res.
2017

;

45

:

W195

W200

.

Teng
X.

,

Chen
X.

,

Xue
H.

,

Tang
Y.

,

Zhang
P.

,

Kang
Q.

,

Hao
Y.

,

Chen
R.

,

Zhao
Y.

,

He
S.
NPInter v4.0: an integrated database of ncRNA interactions

.

Nucleic Acids Res.
2020

;

48

:

D160

D165

.

Uwagi autorów

Autorzy pragną, aby było wiadomo, że ich zdaniem dwóch pierwszych autorów powinno być uznanych za Joint First Authors.

© The Author(s) 2019. Published by Oxford University Press on behalf of NAR Genomics and Bioinformatics.
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/4.0/), which permits non-commercial re-use, distribution, and reproduction in any medium, provided the original work is properly cited. W celu komercyjnego ponownego wykorzystania prosimy o kontakt: [email protected]

.

Dodaj komentarz