File:Dna-SNP.svg
Исходный файл (SVG-файл, номинально 520 × 333 пкс, размер файла: 1,15 МБ)
Краткие подписи
Краткое описание[править]
ОписаниеDna-SNP.svg |
English: A Single Nucleotide Polymorphism is a change of a nucleotide at a single base-pair location on DNA. Created using OpenSCAD v2021.01 and Inkscape v1.0.2. |
Дата | |
Источник | Собственная работа |
Автор | David Eccles (Gringer) |
Construction process[править]
This file was derived from a 3D model of DNA, converted to SVG and coloured using David Eccles' STL2SVG script:
type=orig; ~/scripts/stl2svg.pl ./DNA_linear_complete_helix1.stl:330 ./DNA_linear_complete_helix2.stl:200 ./DNA_linear_complete_${type}_A.stl:140 ./DNA_linear_complete_${type}_C.stl:250 ./DNA_linear_complete_${type}_G.stl:90 ./DNA_linear_complete_${type}_T.stl:30 > out_${type}.svg type=mut; ~/scripts/stl2svg.pl ./DNA_linear_complete_helix1.stl:330 ./DNA_linear_complete_helix2.stl:200 ./DNA_linear_complete_${type}_A.stl:140 ./DNA_linear_complete_${type}_C.stl:250 ./DNA_linear_complete_${type}_G.stl:90 ./DNA_linear_complete_${type}_T.stl:30 > out_${type}.svg
The DNA models were then combined and annotated using Inkscape. The DNA backbone for the model is a pentagon extruded over a sine wave using David Eccles' guided path extrude script. The model source file (in OpenSCAD format) is shown below:
use <guided_extrude.scad>; hl = 100; // helix length hp = 33.2; // helix pitch [in angstroms] hr = 10; // helix radius [in angstroms] bbr = 1.5; // backbone radius loops = hl / hp; // random bases //bases = rands(0, 4, ceil(360 * loops / 34.3),1); // *GRINGENE* -- TAA GGN MGN ATH AAY GGN GAR AAY GAR TGA // -- TAA GGC AGG ATC AAC GGC GAG AAC GAG TGA // A = 0; G = 1; C = 2; T = 3 // [different from my usual order, // to simplify the 3D model logic] bases = [3,3,3, 1,1,2, 0,1,1, 0,3,2, 0,0,2, 1,1,2, 1,0,1, 0,0,2, 1,0,1, 3,1,0]; bAng = atan2(sin(120) - sin(0), cos(120) - cos(0)); drawMode = "all"; module lineTo(x1, x2){ hull(){ translate(x1) sphere(r=0.25, $fn=5); translate(x2) sphere(r=0.25, $fn=5); } } backbone_profile = [for(th = [0:72:359]) [bbr*cos(th), bbr*sin(th)*1]]; inc = floor($t * 30); thf = ($t * 30) - inc; h1limit = (360 * loops); h1jump = (360 * loops); helix_1 = [for(th = [(thf*34.3):(34.3/2):h1jump]) [hr * cos(th), hr * sin(th), hl * th / (360 * loops)]]; helix_2 = [for(th = [120:(34.3/2):(360 * loops+120)]) [hr * cos(th), hr * sin(th), hl * (th-120) / (360 * loops)]]; module purine(){ linear_extrude(height=0.75, center=true){ // average hydrogen bond length in water: 1.97 A // https://en.wikipedia.org/wiki/Hydrogen_bond#Structural_details translate([-0.985,0]) // scale: average of C-C and C=C bond length scale(1.435) translate([-2,0]) rotate(12) rotate(18){ rotate(-30) translate([1,0]) circle(r=1, $fn=6); color("blue") rotate(36) translate([-1 / (2*sin(36)),0]) circle(r=1 / (2*sin(36)), $fn=5); } } } module pyrimidine(){ linear_extrude(height=0.75, center=true){ // average hydrogen bond length in water: 1.97 A // https://en.wikipedia.org/wiki/Hydrogen_bond#Structural_details translate([-0.985,0]) scale(1.435) translate([-2, 0]) translate([1,0]) circle(r=1, $fn=6); } } $vpt = [0, 0, 0]; //$vpr = [310, 105, 10]; $vpr = [0, 0, 0]; rotate([310, 105, 130]) translate([0,0,-hl/2]) { if(drawMode == "all" || drawMode == "helix1") color("lightblue") mapExtrude("vertCylinder", backbone_profile, helix_1); if(drawMode == "all" || drawMode == "helix2") color("pink") mapExtrude("vertCylinder", backbone_profile, helix_2); for(thb = [inc:(360 * loops / 34.3 + inc)]) { thi = thb-inc; th = (thi-thf) * 34.3; thisBase = bases[floor(thb%30)]; doPur = (thisBase < 2); // base bond has a -1.2° angle; // not quite sure how to implement that baseFrac = (doPur ? 0.55 : 0.45); baseFInv = 1 - baseFrac; translate([0,0,hl * th / (360 * loops)]) rotate([-1.2,0,0]){ if(drawMode == "all" || drawMode == "helix2") color("pink") lineTo([hr * cos(th)*(baseFrac-0.15) + hr * cos(th+120) * (baseFrac+0.15), hr * sin(th)*(baseFrac-0.15) + hr * sin(th+120) * (baseFrac+0.15)], [hr * cos(th+120), hr * sin(th+120)]); if(th < (h1jump)) if(drawMode == "all" || drawMode == "helix1") color("lightblue") lineTo([hr * cos(th), hr * sin(th)], [hr * cos(th)*(baseFrac+0.15) + hr * cos(th+120) * (baseFrac-0.15), hr * sin(th)*(baseFrac+0.15) + hr * sin(th+120) * (baseFrac-0.15)]); if(drawMode == "all" || (drawMode == "A" && thisBase == 0) || (drawMode == "G" && thisBase == 1) || (drawMode == "C" && thisBase == 2) || (drawMode == "T" && thisBase == 3) ) color((thisBase < 1) ? "green" : (thisBase < 2) ? "gold" : (thisBase < 3) ? "blue" : "red") translate([hr * cos(th)*baseFrac + hr * cos(th+120) * baseFInv, hr * sin(th)*baseFrac + hr * sin(th+120) * baseFInv]) rotate(180 + bAng + th) if(doPur) { purine(); } else { pyrimidine(); }; if(drawMode == "all" || (drawMode == "A" && thisBase == 3) || (drawMode == "G" && thisBase == 2) || (drawMode == "C" && thisBase == 1) || (drawMode == "T" && thisBase == 0) ) if(th < (h1jump)) color((thisBase < 1) ? "red" : (thisBase < 2) ? "blue" : (thisBase < 3) ? "gold" : "green") translate([hr * cos(th)*baseFrac + hr * cos(th+120) * baseFInv, hr * sin(th)*baseFrac + hr * sin(th+120) * baseFInv]) rotate(bAng+th) if(doPur) { pyrimidine(); } else { purine(); }; } } if(drawMode == "all" || drawMode == "helix1") color("lightblue") { translate(helix_1[len(helix_1)-1]) sphere(r=bbr, $fn=5); translate(helix_1[0]) sphere(r=bbr, $fn=5); } if(drawMode == "all" || drawMode == "helix2") color("pink") { translate(helix_2[0]) sphere(r=bbr, $fn=5); translate(helix_2[len(helix_2)-1]) sphere(r=bbr, $fn=5); } }
Лицензирование[править]
Разрешается копировать, распространять и/или изменять этот документ в соответствии с условиями GNU Free Documentation License версии 1.2 или более поздней, опубликованной Фондом свободного программного обеспечения, без неизменяемых разделов, без текстов, помещаемых на первой и последней обложке. Копия лицензии включена в раздел, озаглавленный GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
- Вы можете свободно:
- делиться произведением – копировать, распространять и передавать данное произведение
- создавать производные – переделывать данное произведение
- При соблюдении следующих условий:
- атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
История файла
Нажмите на дату/время, чтобы увидеть версию файла от того времени.
Дата/время | Миниатюра | Размеры | Участник | Примечание | |
---|---|---|---|---|---|
текущий | 13:07, 8 мая 2021 | 520 × 333 (1,15 МБ) | Gringer (обсуждение | вклад) | Update to slightly more accurate 3D model, showing base rings | |
21:50, 17 декабря 2014 | 457 × 298 (251 КБ) | Gringer (обсуждение | вклад) | Increase nominal size to something readable | ||
21:46, 17 декабря 2014 | 120 × 80 (244 КБ) | Gringer (обсуждение | вклад) | Updated to 3D model, different DNA sequence | ||
01:40, 6 июля 2007 | 416 × 521 (59 КБ) | Gringer (обсуждение | вклад) | {{Information |Description=A Single Nucleotide Polymorphism is a change of a nucleotide at a single base-pair location on DNA. Created using Inkscape v0.45.1. [modified to remove long tails on DNA] |Source=self-made |Date=2007-07-06 |Author=David Hall (~~ | ||
00:56, 6 июля 2007 | 471 × 521 (59 КБ) | Gringer (обсуждение | вклад) | {{Information |Description=A Single Nucleotide Polymorphism is a change of a nucleotide at a single base-pair location on DNA. Created using Inkscape v0.45.1. |Source=self-made |Date=2007-07-06 |Author=David Hall (~~~) |other_versions= }} |
Вы не можете перезаписать этот файл.
Использование файла
Следующая страница использует этот файл:
Глобальное использование файла
Данный файл используется в следующих вики:
- Использование в ar.wikipedia.org
- Использование в ast.wikipedia.org
- Использование в bs.wikipedia.org
- Использование в ca.wikipedia.org
- Использование в cs.wikipedia.org
- Использование в de.wikipedia.org
- Использование в el.wikipedia.org
- Использование в en.wikipedia.org
- Single-nucleotide polymorphism
- Haplotype
- Genealogical DNA test
- Human genetic variation
- Haplogroup I-M253
- User:Bci2
- Molecular models of DNA
- User:Bci2/Books/Wk2Book
- User:Bci2/Books/Wk3vol1
- User:Bci2/Books/Wk4
- Talk:Molecular models of DNA/Galleries
- Heather Dewey-Hagborg
- Evolution of the wolf
- Talk:DNA sequencing/Archive 1
- Использование в es.wikipedia.org
- Использование в et.wikipedia.org
- Использование в fa.wikipedia.org
- Использование в fi.wikipedia.org
- Использование в fr.wikipedia.org
- Использование в gl.wikipedia.org
- Использование в he.wikipedia.org
- Использование в hu.wikipedia.org
- Использование в it.wikipedia.org
- Использование в ja.wikipedia.org
- Использование в la.wikipedia.org
- Использование в mk.wikipedia.org
Просмотреть глобальное использование этого файла.
Метаданные
Файл содержит дополнительные данные, обычно добавляемые цифровыми камерами или сканерами. Если файл после создания редактировался, то некоторые параметры могут не соответствовать текущему изображению.
Ширина | 520 |
---|---|
Высота | 332.93881 |