படிமம்:Dna-SNP.svg

testwiki இலிருந்து
Jump to navigation Jump to search
மூலக்கோப்பு (SVG கோப்பு, பெயரளவில் 520 × 333 பிக்சல்கள், கோப்பு அளவு: 1.15 MB)

Wikimedia Commons இலுள்ள இக்கோப்பு வேறு திட்டங்களிலும் பயன்படுத்தப்படலாம். இதனைப் கோப்பின் விவரப்பக்கம் பற்றிய விபரம் கீழே காட்டப்படுகிறது.

சுருக்கம்

விளக்கம்
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 head GNU Free Documentation License விதிமுறைகளின் கீழ் இந்த ஆவணத்தை நகலெடுக்க, விநியோகிக்க மற்றும்/அல்லது மாற்றுவதற்கு அனுமதி வழங்கப்பட்டுள்ளது, Free Software Foundation;ஆல் வெளியிடப்பட்ட பதிப்பு 1.2 அல்லது அதற்குப் பிந்தைய பதிப்பு, மாற்றமில்லாத பிரிவுகள், முன் அட்டை உரைகள் மற்றும் பின் அட்டை உரைகள் இல்லாமல் வெளியிடப்பட்டது. GNU Free Documentation License என்ற தலைப்பில் உரிமத்தின் நகல் சேர்க்கப்பட்டுள்ளது.
w:ta:கிரியேட்டிவ் காமன்ஸ்
பண்புக்கூறுகள்
This file is licensed under the Creative Commons Attribution 4.0 International license.
பண்புக்கூறுகள்:
SNP model by David Eccles (gringer)
நீங்கள் சுதந்திரமாக:
  • பகிர்ந்து கொள்ள – வேலையை நகலெடுக்க, விநியோகிக்க மற்றும் அனுப்ப
  • மீண்டும் கலக்க – வேலைக்கு பழகிக்கொள்ள.
கீழ்க்காணும் விதிகளுக்கு ஏற்ப,
  • பண்புக்கூறுகள் – நீங்கள் பொருத்தமான உரிமையை வழங்க வேண்டும், உரிமத்திற்கான இணைப்பை வழங்க வேண்டும் மற்றும் மாற்றங்கள் செய்யப்பட்டிருந்தால் குறிப்பிட வேண்டும். நீங்கள் ஏற்புடைய எந்த முறையிலும் அவ்வாறு செய்யலாம், ஆனால் எந்த வகையிலும் உரிமதாரர் உங்களை அல்லது உங்கள் பயன்பாட்டிற்கு ஒப்புதல் அளிக்கும் படி பரிந்துரைக்க கூடாது.
நீர் உமக்கு விருப்பமான உரிமத்தை தேர்ந்தெடுக்கலாம்.

Captions

Add a one-line explanation of what this file represents
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)

source of file ஆங்கிலம்

original creation by uploader ஆங்கிலம்

18 திசம்பர் 2014

data size ஆங்கிலம்

12,03,312 பைட்டு

333 படவணு

520 படவணு

checksum ஆங்கிலம்

80e2618911371d2da8252d8edc5d36cf8c929c94

கோப்பின் வரலாறு

குறித்த நேரத்தில் இருந்த படிமத்தைப் பார்க்க அந்நேரத்தின் மீது சொடுக்கவும்.

நாள்/நேரம்நகம் அளவு சிறுபடம்அளவுகள்பயனர்கருத்து
தற்போதைய14:07, 8 மே 202114:07, 8 மே 2021 இலிருந்த பதிப்புக்கான சிறு தோற்றம்520 × 333 (1.15 MB)wikimediacommons>GringerUpdate to slightly more accurate 3D model, showing base rings

பின்வரும் பக்க இணைப்புகள் இப் படிமத்துக்கு இணைக்கபட்டுள்ளது(ளன):

"https://ta.wiki.beta.math.wmflabs.org/wiki/படிமம்:Dna-SNP.svg" இலிருந்து மீள்விக்கப்பட்டது