Tập tin:Dna-SNP.svg

Tập tin gốc(tập tin SVG, 520×333 điểm ảnh trên danh nghĩa, kích thước: 1,15 MB)

Miêu tả

Miêu tả
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.
Ngày
Nguồn gốcTác phẩm được tạo bởi người tải lên
Tác giả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}.svgtype=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 lengthhp = 33.2; // helix pitch [in angstroms]hr = 10; // helix radius [in angstroms]bbr = 1.5; // backbone radiusloops = 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://www.search.com.vn/wiki/en/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://www.search.com.vn/wiki/en/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);  }}

Giấy phép

Tôi, người giữ bản quyền tác phẩm này, từ đây phát hành nó theo các giấy phép sau:
GNU headBạn có quyền sao chép, phân phối và/hoặc sửa đổi tài liệu này theo những điều khoản được quy định trong Giấy phép Tài liệu Tự do GNU, phiên bản 1.2 hoặc các phiên bản mới hơn được Quỹ Phần mềm Tự do; quy định; ngoại trừ những phần không được sửa đổi, bìa trước và bìa sau. Bạn có thể xem giấy phép nói trên ở phần Giấy phép Tài liệu Tự do GNU.
w:vi:Creative Commons
ghi công
Tập tin này được phát hành theo Giấy phép Creative Commons Ghi công 4.0 Quốc tế.
Ghi công: SNP model by David Eccles (gringer)
Bạn được phép:
  • chia sẻ – sao chép, phân phối và chuyển giao tác phẩm
  • pha trộn – để chuyển thể tác phẩm
Theo các điều kiện sau:
  • ghi công – Bạn phải ghi lại tác giả và nguồn, liên kết đến giấy phép, và các thay đổi đã được thực hiện, nếu có. Bạn có thể làm các điều trên bằng bất kỳ cách hợp lý nào, miễn sao không ám chỉ rằng người cho giấy phép ủng hộ bạn hay việc sử dụng của bạn.
Bạn có thể chọn giấy phép mà bạn muốn.

Chú thích

Ghi một dòng giải thích những gì có trong tập tin này
DNA sequence variation in a population. A SNP is just a single nucleotide difference in the genome. The upper DNA molecule differs from the lower DNA molecule at a single base-pair location (a G/A polymorphism)

Khoản mục được tả trong tập tin này

mô tả

Lịch sử tập tin

Nhấn vào ngày/giờ để xem nội dung tập tin tại thời điểm đó.

Ngày/giờHình xem trướcKích cỡThành viênMiêu tả
hiện tại13:07, ngày 8 tháng 5 năm 2021Hình xem trước của phiên bản lúc 13:07, ngày 8 tháng 5 năm 2021520×333 (1,15 MB)GringerUpdate to slightly more accurate 3D model, showing base rings
21:50, ngày 17 tháng 12 năm 2014Hình xem trước của phiên bản lúc 21:50, ngày 17 tháng 12 năm 2014457×298 (251 kB)GringerIncrease nominal size to something readable
21:46, ngày 17 tháng 12 năm 2014Hình xem trước của phiên bản lúc 21:46, ngày 17 tháng 12 năm 2014120×80 (244 kB)GringerUpdated to 3D model, different DNA sequence
01:40, ngày 6 tháng 7 năm 2007Hình xem trước của phiên bản lúc 01:40, ngày 6 tháng 7 năm 2007416×521 (59 kB)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, ngày 6 tháng 7 năm 2007Hình xem trước của phiên bản lúc 00:56, ngày 6 tháng 7 năm 2007471×521 (59 kB)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= }}
Có 1 trang tại Wikipedia tiếng Việt có liên kết đến tập tin (không hiển thị trang ở các dự án khác):

Sử dụng tập tin toàn cục

Những wiki sau đang sử dụng tập tin này:

Xem thêm các trang toàn cục sử dụng tập tin này.

Đặc tính hình