ฐานข้อมูลชีวสารสนเทศศาสตร์ Protein Data Bank (PDB) เป็นที่เก็บข้อมูลโครงสร้างโปรตีนกรดนิวคลีอิกและส่วนประกอบที่ซับซ้อนที่ใหญ่ที่สุดในโลก ข้อมูลทั้งหมดรวบรวมโดยใช้วิธีการทดลองเช่น X-ray, spectroscopy, crystallography, NMR เป็นต้น
บทความนี้อธิบายวิธีการแยกกรองและล้างข้อมูลจาก PDB ในทางกลับกันสิ่งนี้จะเปิดใช้งานประเภทของการวิเคราะห์ที่อธิบายไว้ในบทความ การเกิดพันธะของโปรตีนไดซัลไฟด์ในโดเมนต่างๆของชีวิต: การเปรียบเทียบโปรตีนจาก Protein Data Bank , ตีพิมพ์ใน วิศวกรรมการออกแบบและการคัดเลือกโปรตีน , เล่มที่ 27, ฉบับที่ 3, 1 มีนาคม 2557, หน้า 65–72
PDB มีโครงสร้างที่ทำซ้ำจำนวนมากโดยมีความละเอียดวิธีการการกลายพันธุ์และอื่น ๆ ที่แตกต่างกันการทดลองกับโปรตีนที่เหมือนกันหรือใกล้เคียงกันสามารถสร้างอคติในการวิเคราะห์กลุ่มใด ๆ ได้ดังนั้นเราจะต้องเลือกโครงสร้างที่ถูกต้องจากชุดข้อมูลที่ซ้ำกัน . เพื่อจุดประสงค์นั้นเราจำเป็นต้องใช้ชุดโปรตีนที่ไม่ซ้ำซ้อน (NR)
เพื่อจุดประสงค์ในการทำให้เป็นมาตรฐานฉันขอแนะนำให้ดาวน์โหลดไฟล์ พจนานุกรมสารประกอบทางเคมี สำหรับการนำเข้าชื่ออะตอมไปยังฐานข้อมูลที่ใช้ 3NF หรือใช้สคีมาดาวและการสร้างแบบจำลองมิติ (ฉันยังใช้ DSSP เพื่อช่วยขจัดโครงสร้างที่มีปัญหา ฉันจะไม่พูดถึงสิ่งนั้นในบทความนี้ แต่โปรดทราบว่าฉันไม่ได้ใช้คุณสมบัติ DSSP อื่น ๆ )
ข้อมูลที่ใช้ในการวิจัยนี้ประกอบด้วยโปรตีนหน่วยเดียวที่มีพันธะไดซัลไฟด์อย่างน้อยหนึ่งพันธะที่ได้จากสิ่งมีชีวิตต่างชนิดกัน ในการวิเคราะห์พันธะไดซัลไฟด์ทั้งหมดจะถูกจัดประเภทเป็นลำดับต่อเนื่องหรือไม่ต่อเนื่องกันโดยแบ่งตามโดเมน (archaea, prokaryote, viral, eukaryote หรืออื่น ๆ ) และตามความยาว
เพื่อให้พร้อมสำหรับการป้อนข้อมูล ร , SPSS หรือเครื่องมืออื่น ๆ นักวิเคราะห์จะต้องให้ข้อมูลอยู่ในรูปแบบ ฐานข้อมูล ตารางที่มีโครงสร้างนี้:
ความแตกต่างใน s corp และ c corp
คอลัมน์ | ประเภท | คำอธิบาย |
---|---|---|
code | character(4) | รหัสการทดสอบ (ตัวอักษรและตัวเลขไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่และไม่สามารถเริ่มต้นด้วยศูนย์) |
title | character varying(1000) | ชื่อของการทดสอบสำหรับการอ้างอิง (ช่องสามารถเป็นรูปแบบข้อความได้เช่นกัน) |
ss_bonds | integer | จำนวนพันธะไดซัลไฟด์ในโซ่ที่เลือก |
ssbonds_overlap | integer | จำนวนพันธะซัลไฟด์ที่ทับซ้อนกัน |
intra_count | integer | จำนวนพันธบัตรที่ทำในห่วงโซ่เดียวกัน |
sci_name_src | character varying(5000) | ชื่อวิทยาศาสตร์ของสิ่งมีชีวิตที่ใช้ลำดับ |
tax_path | character varying | เส้นทางในต้นไม้จำแนก Linnaean |
src_class | character varying(20) | สิ่งมีชีวิตระดับบนสุด (ยูคาริโอตโปรคาริโอตไวรัสอาร์เคียอื่น ๆ ) |
has_reactives7 | boolean | เป็นจริงก็ต่อเมื่อลำดับมีศูนย์ปฏิกิริยา |
len_class7 | integer | ความยาวของลำดับในชุดที่ 7 (กำหนดด้วยค่า p-value 10e-7 คำนวณโดยการระเบิด) |
เพื่อให้บรรลุเป้าหมายนี้ขั้นตอนแรกคือ รวบรวมข้อมูล จาก rcsb.org . ไซต์นั้นมีโครงสร้าง PDB ที่ดาวน์โหลดได้ของการทดลองในรูปแบบต่างๆ
แม้ว่าข้อมูลจะถูกจัดเก็บในหลายรูปแบบ แต่ในตัวอย่างนี้จะใช้เฉพาะรูปแบบข้อความที่คั่นด้วยช่องว่างคงที่ (PDB) เท่านั้น อีกทางเลือกหนึ่งสำหรับรูปแบบข้อความ PDB คือเวอร์ชัน XML คือ PDBML แต่บางครั้งก็มีรายการการตั้งชื่อตำแหน่งอะตอมที่ผิดรูปแบบซึ่งอาจทำให้เกิดปัญหาในการวิเคราะห์ข้อมูล นอกจากนี้ยังอาจมี mmCIF ที่เก่ากว่าและรูปแบบอื่น ๆ แต่จะไม่อธิบายในบทความนี้
รูปแบบ PDB เป็นรูปแบบข้อความที่มีความกว้างคงที่แบบแยกส่วนซึ่งสามารถแยกวิเคราะห์ได้อย่างง่ายดายโดยแบบสอบถาม SQL, ปลั๊กอิน Java หรือโมดูล Perl เป็นต้น ข้อมูลแต่ละประเภทในคอนเทนเนอร์ไฟล์จะแสดงเป็นบรรทัดที่ขึ้นต้นด้วยแท็กที่เหมาะสมเราจะอธิบายแท็กแต่ละประเภทในส่วนย่อยต่อไปนี้ ความยาวบรรทัดน้อยกว่าหรือเท่ากับ 80 อักขระโดยที่แท็กใช้อักขระหกตัวหรือน้อยกว่าบวกช่องว่างอย่างน้อยหนึ่งช่องซึ่งรวมกันแปดไบต์ นอกจากนี้ยังมีกรณีที่ไม่มีช่องว่างระหว่างแท็กและข้อมูลโดยปกติสำหรับ CONECT
แท็ก
TITLE
TITLE
แท็กทำเครื่องหมายบรรทัดว่าเป็น (ส่วนหนึ่งของ) ชื่อของการทดสอบซึ่งมีชื่อโมเลกุลและข้อมูลอื่น ๆ ที่เกี่ยวข้องเช่นการแทรกการกลายพันธุ์หรือการลบกรดอะมิโนเฉพาะ
12345678901234567890123456789012345678901234567890123456789012345678901234567890 TITLE A TWO DISULFIDE DERIVATIVE OF CHARYBDOTOXIN WITH DISULFIDE TITLE 2 13-33 REPLACED BY TWO ALPHA-AMINOBUTYRIC ACIDS, NMR, 30 TITLE 3 STRUCTURES
ในกรณีที่มีหลายบรรทัดไปยัง a TITLE
บันทึกจากนั้นชื่อเรื่องจะต้องเรียงต่อกันโดยเรียงลำดับตามหมายเลขความต่อเนื่องซึ่งวางจัดชิดขวาบนไบต์ 9 และ 10 (ขึ้นอยู่กับจำนวนบรรทัดเหล่านี้)
ATOM
ข้อมูลที่จัดเก็บใน ATOM
เส้นเป็นข้อมูลพิกัดสำหรับแต่ละอะตอมในการทดลอง บางครั้งการทดสอบมีการแทรกการกลายพันธุ์สถานที่อื่นหรือหลายโมเดล ส่งผลให้เกิดการซ้ำอะตอมเดียวกันหลาย ๆ ครั้ง การเลือกอะตอมที่เหมาะสมจะอธิบายในภายหลัง
12345678901234567890123456789012345678901234567890123456789012345678901234567890 ATOM 390 N GLY A 26 -1.120 -2.842 4.624 1.00 0.00 N ATOM 391 CA GLY A 26 -0.334 -2.509 3.469 1.00 0.00 C ATOM 392 C GLY A 26 0.682 -1.548 3.972 1.00 0.00 C ATOM 393 O GLY A 26 0.420 -0.786 4.898 1.00 0.00 O ATOM 394 H GLY A 26 -0.832 -2.438 5.489 1.00 0.00 H ATOM 395 HA2 GLY A 26 0.163 -3.399 3.111 1.00 0.00 H ATOM 396 HA3 GLY A 26 -0.955 -2.006 2.739 1.00 0.00 H
ตัวอย่างข้างต้นนำมาจากการทดลอง 1BAH
. คอลัมน์แรกทำเครื่องหมายประเภทของเร็กคอร์ดและคอลัมน์ที่สองคือหมายเลขซีเรียลของอะตอม ทุกอะตอมในโครงสร้างมีหมายเลขประจำเครื่องของตัวเอง
ถัดจากหมายเลขซีเรียลมีป้ายชื่อตำแหน่งอะตอมซึ่งใช้เวลาสี่ไบต์ จากตำแหน่งอะตอมนั้นเป็นไปได้ที่จะดึงสัญลักษณ์ทางเคมีขององค์ประกอบซึ่งไม่ได้มีอยู่ในข้อมูลบันทึกในคอลัมน์ที่แยกจากกันเสมอไป
หลังชื่ออะตอมจะมีรหัสตกค้างสามตัวอักษร ในกรณีของโปรตีนสารตกค้างนั้นจะสอดคล้องกับกรดอะมิโน ถัดไปโซ่จะถูกเข้ารหัสด้วยตัวอักษรหนึ่งตัว โดย เชื่อมต่อ เราหมายถึงกรดอะมิโนโซ่เดียวมีหรือไม่มีช่องว่างแม้ว่าบางครั้งลิแกนด์สามารถกำหนดให้กับโซ่ได้ กรณีนี้สามารถตรวจพบได้จากช่องว่างขนาดใหญ่ในลำดับกรดอะมิโนซึ่งอยู่ในคอลัมน์ถัดไป บางครั้งสามารถสแกนโครงสร้างเดียวกันโดยมีการกลายพันธุ์ซึ่งในกรณีนี้รหัสการแทรกจะอยู่ในคอลัมน์พิเศษหลังคอลัมน์ลำดับ รหัสการแทรกมีตัวอักษรเพื่อช่วยในการแยกแยะว่าสารตกค้างใดได้รับผลกระทบ
สามคอลัมน์ถัดไปคือพิกัดเชิงพื้นที่ของแต่ละอะตอมซึ่งวัดเป็นอังสตรอม (Å) ถัดจากพิกัดเหล่านี้คือคอลัมน์การครอบครองซึ่งบอกว่าความน่าจะเป็นที่อะตอมจะอยู่ในสถานที่นั้นในระดับปกติคือศูนย์ถึงหนึ่ง
คอลัมน์ที่สอง - สุดท้ายคือปัจจัยด้านอุณหภูมิซึ่งมีข้อมูลเกี่ยวกับความผิดปกติในคริสตัลซึ่งวัดเป็นŲ ค่าที่มากกว่า60Ųหมายถึงความผิดปกติในขณะที่ค่าหนึ่งที่ต่ำกว่า30Ųแสดงถึงความเชื่อมั่น . ไม่มีอยู่ในไฟล์ PDB เสมอไปเนื่องจากขึ้นอยู่กับวิธีการทดลอง
คอลัมน์ถัดไป - สัญลักษณ์และประจุ - มักจะหายไป สัญลักษณ์ทางเคมีสามารถรวบรวมได้จากคอลัมน์ตำแหน่งอะตอมดังที่เราได้กล่าวไว้ข้างต้น เมื่อประจุมีอยู่มันจะต่อท้ายสัญลักษณ์เป็นจำนวนเต็มตามด้วย +
หรือ -
เช่น N1+
.
TER
นี่คือจุดสิ้นสุดของโซ่ แม้จะไม่มีเส้นนี้ แต่ก็ง่ายที่จะแยกแยะว่าโซ่สิ้นสุดที่ใด ดังนั้นมักจะ TER
ขาดสาย
MODEL
และ ENDMDL
ก MODEL
เส้นทำเครื่องหมายที่โมเดลของโครงสร้างเริ่มต้นและประกอบด้วยหมายเลขซีเรียลของโมเดล
หลังจากเส้นอะตอมทั้งหมดในแบบจำลองนั้นจะลงท้ายด้วย ENDMDL
ไลน์.
php เทียบกับ node.js ประสิทธิภาพ
SSBOND
เส้นเหล่านี้ประกอบด้วยพันธะไดซัลไฟด์ระหว่างกรดอะมิโนซีสเทอีน พันธะไดซัลไฟด์สามารถปรากฏในสารตกค้างประเภทอื่น ๆ ได้ แต่ในบทความนี้จะวิเคราะห์เฉพาะกรดอะมิโนเท่านั้นดังนั้นจึงรวมเฉพาะซีสเทอีน ตัวอย่างต่อไปนี้มาจากการทดสอบด้วยโค้ด 132L
:
12345678901234567890123456789012345678901234567890123456789012345678901234567890 SSBOND 1 CYS A 6 CYS A 127 1555 1555 2.01 SSBOND 2 CYS A 30 CYS A 115 1555 1555 2.05 SSBOND 3 CYS A 64 CYS A 80 1555 1555 2.02 SSBOND 4 CYS A 76 CYS A 94 1555 1555 2.02
ในตัวอย่างนี้มีพันธะไดซัลไฟด์สี่ชุดที่ติดแท็กในไฟล์พร้อมด้วยหมายเลขลำดับในคอลัมน์ที่สอง พันธะทั้งหมดนี้ใช้ซิสเทอีน (คอลัมน์ 3 และ 6) และทั้งหมดอยู่ในห่วงโซ่ A
(คอลัมน์ 4 และ 7) หลังจากโซ่แต่ละเส้นจะมีหมายเลขลำดับสารตกค้างที่ระบุตำแหน่งของพันธะในโซ่เปปไทด์ รหัสการแทรกจะอยู่ถัดจากลำดับสารตกค้างแต่ละลำดับ แต่ในตัวอย่างนี้ไม่มีอยู่เนื่องจากไม่มีกรดอะมิโนแทรกอยู่ในบริเวณนั้น สองคอลัมน์ก่อนคอลัมน์สุดท้ายถูกสงวนไว้สำหรับ การดำเนินการสมมาตร และคอลัมน์สุดท้ายคือระยะห่างระหว่างอะตอมของกำมะถันซึ่งวัดได้ในÅ
เรามาดูบริบทของข้อมูลนี้กันสักครู่
ภาพด้านล่างนี้ถ่ายโดยใช้โปรแกรมดู rcsb.org NGL แสดงโครงสร้างของการทดลอง 132L
โดยเฉพาะอย่างยิ่งพวกเขาแสดงโปรตีนที่ไม่มีลิแกนด์ ภาพแรกใช้การแสดงแท่งโดยการระบายสี CPK แสดงกำมะถันและพันธะเป็นสีเหลือง การเชื่อมต่อกำมะถันรูปตัววีแสดงถึงการเชื่อมต่อของเมไทโอนีนในขณะที่การเชื่อมต่อรูปตัว Z เป็นพันธะไดซัลไฟด์ระหว่างซิสเทอีน
ในภาพถัดไปเรียกว่าวิธีการสร้างภาพโปรตีนแบบง่าย การสร้างภาพกระดูกสันหลัง แสดงสีด้วยกรดอะมิโนโดยที่ซีสเทอีนเป็นสีเหลือง มันแสดงถึงโปรตีนชนิดเดียวกันโดยไม่รวมไซเดชินและมีเพียงส่วนหนึ่งของกลุ่มเปปไทด์เท่านั้นที่รวมอยู่ในกรณีนี้คือกระดูกสันหลังของโปรตีน ประกอบด้วยอะตอม 3 ตัว ได้แก่ N-terminal, C-alpha และ C-terminal ภาพนี้ไม่ได้แสดงพันธะไดซัลไฟด์ แต่แสดงการจัดเรียงเชิงพื้นที่ของโปรตีนได้ง่ายขึ้น:
ท่อถูกสร้างขึ้นโดยการรวมอะตอมที่ถูกผูกมัดด้วยเปปไทด์กับอะตอม C-alpha สีของ Cysteine เหมือนกับสีของกำมะถันในวิธีการระบายสี CPK เมื่อซิสเทนเข้ามาใกล้มากพอกำมะถันจะสร้างพันธะไดซัลไฟด์และทำให้โครงสร้างแข็งแรงขึ้น มิฉะนั้นโปรตีนนี้จะจับตัวกันมากเกินไปและโครงสร้างของมันจะคงตัวน้อยลงเมื่ออุณหภูมิสูงขึ้น
CONECT
ระเบียนเหล่านี้ใช้สำหรับการติดแท็กการเชื่อมต่อระหว่างอะตอม บางครั้งแท็กเหล่านี้จะไม่ปรากฏเลยในขณะที่บางครั้งข้อมูลทั้งหมดจะถูกเติมในกรณีของการวิเคราะห์พันธะไดซัลไฟด์ส่วนนี้จะมีประโยชน์ แต่ก็ไม่จำเป็น นั่นเป็นเพราะในโปรเจ็กต์นี้พันธบัตรที่ไม่ติดแท็กจะถูกเพิ่มเข้ามาโดยการวัดระยะทางดังนั้นสิ่งนี้จะเป็นค่าใช้จ่ายและต้องตรวจสอบด้วย
SOURCE
บันทึกเหล่านี้มีข้อมูลเกี่ยวกับสิ่งมีชีวิตต้นทางที่โมเลกุลถูกดึงออกมา ประกอบด้วยคอร์ดย่อยสำหรับตำแหน่งที่ง่ายขึ้นในการจัดหมวดหมู่และมีโครงสร้างหลายบรรทัดแบบเดียวกับที่เราเห็นในระเบียนชื่อเรื่อง
SOURCE MOL_ID: 1; SOURCE 2 ORGANISM_SCIENTIFIC: ANOPHELES GAMBIAE; SOURCE 3 ORGANISM_COMMON: AFRICAN MALARIA MOSQUITO; SOURCE 4 ORGANISM_TAXID: 7165; SOURCE 5 GENE: GST1-6; SOURCE 6 EXPRESSION_SYSTEM: ESCHERICHIA COLI; SOURCE 7 EXPRESSION_SYSTEM_TAXID: 562; SOURCE 8 EXPRESSION_SYSTEM_STRAIN: BL21(DE3)PLYSS; SOURCE 9 EXPRESSION_SYSTEM_VECTOR_TYPE: PLASMID; SOURCE 10 EXPRESSION_SYSTEM_PLASMID: PXAGGST1-6
นี่คือรายการชุด PDB โซ่ที่ไม่ซ้ำซ้อน (NR) สามารถดูภาพรวมได้ที่ ftp.ncbi.nih.gov/mmdb/nrtable/ . วัตถุประสงค์คือเพื่อหลีกเลี่ยงอคติที่ไม่จำเป็นที่เกิดจากความคล้ายคลึงกันของโปรตีน NR มีสามชุดที่มีระดับค่า p-value ของเอกลักษณ์ที่แตกต่างกันซึ่งสร้างขึ้นโดยการเปรียบเทียบโครงสร้าง PDB ทั้งหมด ผลลัพธ์จะถูกเพิ่มลงในไฟล์ข้อความซึ่งจะอธิบายในภายหลัง โครงการนี้ไม่จำเป็นต้องใช้คอลัมน์ทั้งหมดดังนั้นจะมีการอธิบายเฉพาะคอลัมน์ที่สำคัญเท่านั้น
สองคอลัมน์แรกประกอบด้วยรหัสการทดสอบ PDB ที่ไม่ซ้ำกันและตัวระบุลูกโซ่ตามที่อธิบายไว้สำหรับ ATOM
บันทึกด้านบน คอลัมน์ 6, 9 และ C มีข้อมูลเกี่ยวกับการแสดงค่า p-value ซึ่งเป็นระดับความคล้ายคลึงกันของลำดับที่คำนวณโดย ระเบิด . ถ้าค่านั้นเป็นศูนย์แสดงว่าไม่ได้รับการยอมรับให้เป็นส่วนหนึ่งของเซต ถ้าค่าเป็น 1 แสดงว่าเป็น คอลัมน์ที่กล่าวถึงแสดงถึงการยอมรับชุดที่มีค่า p-values cutoffs เท่ากับ 10e-7, 10e-40 และ 10e-80 ตามลำดับ เฉพาะชุดที่มีค่า p-value cutoff เป็น 10e-7 เท่านั้นที่จะใช้ในการวิเคราะห์
คอลัมน์สุดท้ายประกอบด้วยข้อมูลเกี่ยวกับการยอมรับของโครงสร้างโดยที่ a
เป็นที่ยอมรับและ n
ไม่ใช่.
#--------------------------------------------------------------------------------------------------------------------------- # 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q #--------------------------------------------------------------------------------------------------------------------------- 3F8V A 69715 1 1 1 1 1 1 1 1 1 9427 1 1 0.00 0.00 0.00 0.00 1.08 1 6 5 164 X a 3DKE X 68132 1 2 0 1 2 0 1 2 0 39139 1 1 0.00 0.00 0.00 0.00 1.25 1 11 7 164 X a 3HH3 A 77317 1 3 0 1 3 0 1 3 0 90 1 0 0.00 0.00 0.00 0.00 1.25 1 5 4 164 X a 3HH5 A 77319 1 4 0 1 4 0 1 4 0 90 2 0 0.00 0.00 0.00 0.00 1.25 1 4 4 164 X a
ตอนนี้เรามีความคิดแล้วว่าเรากำลังจัดการกับอะไรและต้องทำอะไรบ้างมาเริ่มกันเลย
ข้อมูลทั้งหมดสำหรับการวิเคราะห์นี้สามารถพบได้ในที่อยู่ทั้งสามนี้:
สองลิงก์แรกประกอบด้วยรายการที่เก็บถาวร ควรใช้ที่เก็บถาวรล่าสุดจากแต่ละไฟล์เพื่อหลีกเลี่ยงปัญหาที่เกิดจากการขาดความละเอียดหรือคุณภาพ ลิงก์ที่สามมีไฟล์เก็บถาวรอนุกรมวิธานใหม่ล่าสุดโดยตรง
โดยปกติการแยกวิเคราะห์ไฟล์ PDB จะกระทำโดยปลั๊กอินหรือโมดูลใน Java, Perl หรือ Python ในกรณีของการวิจัยนี้ฉันเขียนแอปพลิเคชัน Perl แบบกำหนดเองโดยไม่ใช้โมดูลการแยกวิเคราะห์ PDB ที่เขียนไว้ล่วงหน้า เหตุผลก็คือเมื่อวิเคราะห์ข้อมูลจำนวนมากจากประสบการณ์ของฉันปัญหาที่พบบ่อยที่สุดในการใช้ข้อมูลทดลองคือข้อผิดพลาดในข้อมูล บางครั้งอาจมีข้อผิดพลาดเกี่ยวกับพิกัดระยะทางความยาวบรรทัดความคิดเห็นในที่ที่ไม่ควรอยู่ ฯลฯ
วิธีที่มีประสิทธิภาพที่สุดในการจัดการกับปัญหานี้คือการจัดเก็บทุกอย่างในฐานข้อมูลเป็นข้อความดิบ ตัววิเคราะห์ทั่วไปถูกเขียนขึ้นเพื่อจัดการกับข้อมูลในอุดมคติที่สอดคล้องกับข้อกำหนดอย่างสมบูรณ์ แต่ในทางปฏิบัติข้อมูลไม่เหมาะอย่างยิ่งและจะอธิบายในส่วนการกรองซึ่งคุณจะพบสคริปต์การนำเข้า Perl
เมื่อสร้างฐานข้อมูลโปรดทราบว่าฐานข้อมูลนี้สร้างขึ้นเพื่อประมวลผลข้อมูล การวิเคราะห์ในภายหลังจะทำใน SPSS หรือ R สำหรับวัตถุประสงค์ของเราที่นี่ขอแนะนำให้ใช้ PostgreSQL อย่างน้อยเวอร์ชัน 8.4
โครงสร้างตารางจะถูกคัดลอกโดยตรงจากไฟล์ที่ดาวน์โหลดโดยมีการเปลี่ยนแปลงเพียงเล็กน้อยเท่านั้น ในกรณีนี้จำนวนบันทึกน้อยเกินไปที่จะคุ้มค่ากับการใช้เวลาของเราในการทำให้เป็นมาตรฐาน ดังที่ได้กล่าวไว้ฐานข้อมูลนี้เป็นแบบใช้ครั้งเดียวเท่านั้น: ไม่ใช่ตารางเหล่านี้ สร้างขึ้นเพื่อให้บริการบนเว็บไซต์ - มีไว้สำหรับประมวลผลข้อมูลเท่านั้น เมื่อดำเนินการเสร็จสิ้นแล้วสามารถทิ้งหรือสำรองไว้เป็นข้อมูลเสริมบางทีอาจใช้สำหรับการทำซ้ำขั้นตอนโดยนักวิจัยคนอื่น ๆ
ในกรณีนี้ผลลัพธ์สุดท้ายจะเป็นตารางเดียวซึ่งสามารถส่งออกไปยังไฟล์เพื่อใช้กับเครื่องมือทางสถิติเช่น SPSS หรือ R
การดึงข้อมูลจาก ATOM
บันทึกจะต้องเชื่อมต่อกับ HEADER
หรือ TITLE
บันทึก ลำดับชั้นข้อมูลอธิบายไว้ในรูปภาพด้านล่าง
เนื่องจากภาพนี้เป็นการแสดงฐานข้อมูลแบบง่ายในรูปแบบปกติที่สาม (3NF) สำหรับจุดประสงค์ของเราจึงมีค่าใช้จ่ายมากเกินไป เหตุผล: ในการคำนวณระยะห่างระหว่างอะตอมสำหรับการตรวจจับพันธะไดซัลไฟด์เราจะต้องทำการรวม ในกรณีนี้เราจะมีตารางเชื่อมต่อกับตัวมันเองสองครั้งและรวมเข้ากับโครงสร้างรองและโครงสร้างหลักอย่างละสองครั้งซึ่งเป็นกระบวนการที่ช้ามาก เนื่องจากการวิเคราะห์แต่ละครั้งไม่จำเป็นต้องมีข้อมูลโครงสร้างทุติยภูมิจึงมีการเสนอสคีมาอื่นในกรณีที่คุณต้องการใช้ข้อมูลซ้ำหรือวิเคราะห์พันธะซัลไฟด์ในปริมาณที่มากขึ้น:
วิธีหาลูกค้ามาทำธุรกิจที่ปรึกษา
พันธะไดซัลไฟด์ไม่บ่อยนักเหมือนพันธะโควาเลนต์อื่น ๆ ดังนั้นจึงไม่จำเป็นต้องใช้แบบจำลองคลังสินค้าแม้ว่าจะสามารถใช้งานได้ก็ตาม สคีมาดาวและการสร้างแบบจำลองมิติด้านล่างจะใช้เวลามากเกินไปในการพัฒนาและจะทำให้การสืบค้นซับซ้อนมากขึ้น:
ในกรณีที่ต้องประมวลผลพันธบัตรทั้งหมดฉันขอแนะนำสคีมาดาว
(มิฉะนั้นก็ไม่จำเป็นเพราะพันธะไดซัลไฟด์ไม่ธรรมดาเหมือนกับพันธบัตรอื่น ๆ ในกรณีของงานนี้จำนวนพันธะซัลไฟด์อยู่ใกล้ 30,000 ซึ่งอาจเร็วพอใน 3NF แต่ฉันตัดสินใจดำเนินการผ่าน ตารางที่ไม่ได้ทำให้เป็นมาตรฐานดังนั้นจึงไม่มีภาพที่นี่)
จำนวนรวมที่คาดไว้ของพันธะโควาเลนต์ทั้งหมดคืออย่างน้อยสองเท่าของจำนวนอะตอมในโครงสร้างตติยภูมิและในกรณีนี้ 3NF จะช้ามากดังนั้นจึงจำเป็นต้องมีการแปรสภาพโดยใช้รูปแบบสคีมาดาว ในสคีมานั้นบางตารางมีการตรวจสอบคีย์ต่างประเทศสองครั้งและนั่นเป็นเพราะพันธะถูกสร้างขึ้นระหว่างสองอะตอมดังนั้นแต่ละอะตอมจึงต้องมี primary_structure_id
, atom_name_id
และ residue_id
.
มีสองวิธีในการเติม d_atom_name
ตารางมิติข้อมูล: จากข้อมูลและจากแหล่งอื่นพจนานุกรมส่วนประกอบทางเคมีที่ฉันกล่าวถึงก่อนหน้านี้ รูปแบบคล้ายกับรูปแบบ PDB: เฉพาะ RESIDUE
และ CONECT
เส้นมีประโยชน์ เนื่องจากคอลัมน์แรกของ RESIDUE
มีรหัสสามตัวอักษรตกค้างและ CONECT
ประกอบด้วยชื่อของอะตอมและการเชื่อมต่อซึ่งเป็นชื่ออะตอมด้วย ดังนั้นจากไฟล์นี้เราสามารถแยกวิเคราะห์ชื่ออะตอมทั้งหมดและรวมไว้ในฐานข้อมูลของเราได้แม้ว่าฉันจะแนะนำให้คุณอนุญาตฐานข้อมูลที่มีชื่ออะตอมที่ไม่แสดงอยู่ในรายการก็ตาม
RESIDUE PRO 17 CONECT N 3 CA CD H CONECT CA 4 N C CB HA CONECT C 3 CA O OXT CONECT O 1 C CONECT CB 4 CA CG HB2 HB3 CONECT CG 4 CB CD HG2 HG3 CONECT CD 4 N CG HD2 HD3 CONECT OXT 2 C HXT CONECT H 1 N CONECT HA 1 CA CONECT HB2 1 CB CONECT HB3 1 CB CONECT HG2 1 CG CONECT HG3 1 CG CONECT HD2 1 CD CONECT HD3 1 CD CONECT HXT 1 OXT END HET PRO 17 HETNAM PRO PROLINE FORMUL PRO C5 H9 N1 O2
ในโครงการนี้ความเร็วในการเข้ารหัสมีความเกี่ยวข้องมากกว่าความเร็วในการดำเนินการและการใช้พื้นที่จัดเก็บ ฉันตัดสินใจที่จะไม่ทำให้เป็นมาตรฐานเพราะเป้าหมายของเราคือสร้างตารางที่มีคอลัมน์ที่กล่าวถึงในบทนำ
ในส่วนนี้จะอธิบายเฉพาะตารางที่สำคัญที่สุด
ตารางหลัก ได้แก่ :
proteins
: ตารางที่มีชื่อและรหัสการทดลองps
: ตารางโครงสร้างหลักซึ่งจะมี sequence
, chain_id
และ code
ts
: ตารางที่มีโครงสร้างตติยภูมิ / ควอเทอร์นารีที่ดึงมาจากข้อมูลดิบและแปลงเป็น ATOM
รูปแบบบันทึก สิ่งนี้จะใช้เป็นตารางการแสดงละครและสามารถทิ้งได้หลังจากการแยก ไม่รวมลิแกนด์sources
: รายชื่อสิ่งมีชีวิตที่ได้มาจากข้อมูลการทดลองtax_names
, taxonomy_path
, taxonomy_paths
: ชื่ออนุกรมวิธาน Linnean จากฐานข้อมูลอนุกรมวิธาน NCBI ใช้เพื่อรับเส้นทางอนุกรมวิธานจากสิ่งมีชีวิตที่อยู่ใน sources
nr
: รายชื่อโปรตีนที่ไม่ซ้ำซ้อนของ NCBI ที่สกัดจากชุด NRpdb_ssbond
: รายการพันธะซัลไฟด์ในไฟล์ PDB ที่กำหนดข้อมูลถูกดึงมาจากสแน็ปช็อตจากที่เก็บ RCSB PDB
แต่ละไฟล์จะถูกนำเข้าสู่ตารางเดียว raw_pdb
ในฐานข้อมูล PostgreSQL ของเราโดยใช้สคริปต์ Perl สคริปต์ใช้ธุรกรรม 10,000 เม็ดมีดต่อชิ้น
โครงสร้างของ raw_pdb
นี่คือ:
บริษัทตัดสินใจว่าจะลงทุนเท่าไรโดยเปรียบเทียบอัตราผลตอบแทนจากโครงการกับ
คอลัมน์ | ประเภท | ตัวปรับเปลี่ยน |
---|---|---|
รหัส | อักขระที่แตกต่างกัน (20) | ไม่เป็นโมฆะ |
line_num | จำนวนเต็ม | ไม่เป็นโมฆะ |
line_cont | อักขระที่แตกต่างกัน (80) | ไม่เป็นโมฆะ |
สคริปต์การนำเข้ามีลักษณะดังนี้:
#!/usr/bin/perl -w use FindBin '$Bin'; use DBI; $dbName = 'bioinf'; $dbLogin = 'ezop'; $dbPass = 'XYZ'; $conn = DBI->connect('DBI:Pg:database=$dbName;host=localhost', '$dbLogin', '$dbPass', {'RaiseError' => 1, 'AutoCommit' => 0}); die './pdb_lines_unos.pl ' if not defined($ARGV[0]); $recordCount = 0; $table = $ARGV[0]; $fName = $ARGV[1]; open F, 'zcat $fName|'; while () { chomp; $linija = $_; $recordCount += 1; $sql = 'insert into $table (code, line_num, line_cont) values (?, ?, ?)'; $conn->do($sql, undef, $fName, $recordCount, $linija); $conn->commit() if ($recordCount%10000 == 0); } close F; $conn->commit(); 1; หลังจากนำเข้าบรรทัดแล้วจะถูกแยกวิเคราะห์โดยใช้ฟังก์ชันที่เราจะกำหนดด้านล่าง
จาก raw_pdb
ข้อมูลเราสร้างตาราง ts
, ps
, proteins
, sources
, sources_organela
และ ss_bond
โดยการแยกวิเคราะห์ระเบียนที่เกี่ยวข้อง
ps
ตารางมีคอลัมน์ที่สำคัญสามคอลัมน์: chain
, length
และ sequence
ลำดับโปรตีนถูกสร้างขึ้นโดยใช้อะตอม C-alpha สำหรับแต่ละสายโซ่และสำหรับสารตกค้างแต่ละตัวเรียงลำดับตามลำดับตกค้างโดยใช้เฉพาะการแทรกครั้งแรกและตำแหน่งทางเลือกแรก chain
ถูกนำมาจาก TS.chain
คอลัมน์และ length
เป็นเพียงความยาวที่คำนวณล่วงหน้าของ sequence
สตริง เนื่องจากบทความนี้มีขึ้นเพื่อวิเคราะห์เฉพาะโซ่เดี่ยวและการเชื่อมต่อภายในเชนเท่านั้นโปรตีนหลายสายโซ่จึงถูกข้ามไปในการวิเคราะห์ของเราที่นี่
ภายใน SSBOND
บันทึกพันธบัตรไดซัลไฟด์ทั้งหมดจะถูกเก็บไว้ใน pdb_ssbond
ตารางซึ่งสืบทอดมาจาก pdb_ssbond_extended
โต๊ะ. pdb_ssbond
มีลักษณะดังนี้:
คอลัมน์ ประเภท Nullable ค่าเริ่มต้น คำอธิบาย id จำนวนเต็ม ไม่เป็นโมฆะ ค่าถัดไป ('pdb_ssbond_id_seq' :: regclass) รหัส ตัวละคร (4) รหัสสี่ตัวอักษร ser_num จำนวนเต็ม หมายเลขซีเรียลของ ssbond สารตกค้าง 1 ตัวละคร (3) สารตกค้างแรกในพันธบัตร chain_id1 อักขระ (1) ห่วงโซ่แรกในพันธบัตร res_seq1 จำนวนเต็ม ลำดับของสารตกค้างแรก i_code1 อักขระ (1) รหัสการแทรกของสารตกค้างแรก สารตกค้าง 2 ตัวละคร (3) สารตกค้างที่สองในพันธะ chain_id2 อักขระ (1) ห่วงโซ่ที่สองในพันธะ res_seq2 จำนวนเต็ม ลำดับของสารตกค้างที่สอง i_code2 อักขระ (1) รหัสการแทรกของสารตกค้างที่สอง sym1 ตัวละคร (6) ตัวดำเนินการสมมาตรตัวแรก sym2 ตัวละคร (6) ตัวดำเนินการสมมาตรที่สอง ระยะ ตัวเลข (5,2) ระยะห่างระหว่างอะตอม is_reactive บูลีน ไม่เป็นโมฆะ เท็จ ทำเครื่องหมายสำหรับการเกิดปฏิกิริยา (ที่จะตั้งค่า) is_consecutive บูลีน ไม่เป็นโมฆะ จริง ทำเครื่องหมายสำหรับพันธบัตรที่ต่อเนื่องกัน (ที่จะกำหนด) ตัวแทน 7 บูลีน ไม่เป็นโมฆะ เท็จ ทำเครื่องหมายสำหรับโครงสร้าง set-7 (ที่จะตั้งค่า) ตัวแทน 40 บูลีน ไม่เป็นโมฆะ เท็จ ทำเครื่องหมายสำหรับโครงสร้าง set-40 (ที่จะตั้งค่า) ตัวแทน 80 บูลีน ไม่เป็นโมฆะ เท็จ ทำเครื่องหมายสำหรับโครงสร้าง set-80 (ที่จะตั้งค่า) is_from_pdb บูลีน จริง ถูกนำมาจาก PDB เป็นแหล่งที่มา (ที่จะตั้งค่า)
ฉันยังเพิ่มดัชนีเหล่านี้:
'pdb_ssbond_pkey' PRIMARY KEY, btree (id) 'ndxcode1' btree (code, chain_id1, res_seq1) 'ndxcode2' btree (code, chain_id2, res_seq2)
สันนิษฐานว่าการกระจายของพันธะไดซัลไฟด์ก่อนการตัดวงจรเป็นแบบเกาส์เซียน (โดยไม่ต้องทำการทดสอบด้วยเช่น KS-test) ดังนั้นจึงมีการคำนวณค่าเบี่ยงเบนมาตรฐานในแต่ละระยะระหว่างซีสเตอีนในโปรตีนเดียวกันเพื่อค้นหาช่วงของความยาวพันธะที่อนุญาตและเปรียบเทียบ ถึงจุดตัด จุดตัดเหมือนกับค่าเฉลี่ยที่คำนวณได้บวก - ลบสามส่วนเบี่ยงเบนมาตรฐาน เราได้ขยายขอบเขตเพื่อแนะนำพันธะซัลไฟด์ที่เป็นไปได้มากขึ้นซึ่งไม่ได้รวมอยู่ในไฟล์ PDB ใน SSBOND
แถว แต่เราได้แทรกตัวเองโดยการคำนวณระยะทางระหว่าง ATOM
บันทึก ช่วงที่เลือกสำหรับ ssbonds
อยู่ระหว่าง 1.6175344456264 ถึง 2.48801947642267 Åซึ่งเป็นค่าเฉลี่ย (2.05) บวก - ลบสี่ส่วนเบี่ยงเบนมาตรฐาน:
select count(1) as cnt , stddev(dist) as std_dev , avg(dist) as avg_val , -stddev(dist) + avg(dist) as left1 , stddev(dist) + avg(dist) as right1 , -2 * stddev(dist) + avg(dist) as left2 , 2 * stddev(dist) + avg(dist) as right2 , -3 * stddev(dist) + avg(dist) as left3 , 3 * stddev(dist) + avg(dist) as right3 , -4 * stddev(dist) + avg(dist) as left4 , 4 * stddev(dist) + avg(dist) as right4 , min(dist) , max(dist) from pdb_ssbond_tmp where dist > 0 and dist <20;
TS
ตารางประกอบด้วยพิกัดของอะตอมทั้งหมด แต่จะใช้เฉพาะซีสเทอีนโดยมีกำมะถันชื่อ ' SG '
ดังนั้นตารางการแสดงละครอื่นที่มี ' SG '
อะตอมของกำมะถันถูกสร้างขึ้นเพื่อเร่งกระบวนการโดยการลดจำนวนบันทึกในการค้นหา เมื่อเลือกเฉพาะกำมะถันจำนวนของการรวมกันจะน้อยกว่าในกรณีของอะตอมทั้งหมดมากคือ 194,574 ของอะตอมในอดีตเมื่อเทียบกับ 122,761,100 ของอะตอมหลัง ภายในตารางนี้รวมกับตัวเองระยะทางจะคำนวณโดยใช้ระยะทางแบบยุคลิดและผลลัพธ์จะถูกนำเข้าสู่ pdb_ssbond
ตาราง แต่เฉพาะในกรณีที่ระยะห่างระหว่างความยาวที่กำหนดซึ่งคำนวณก่อนหน้านี้ เหตุผลในการเร่งความเร็วนี้คือลดระยะเวลาในการรันกระบวนการทั้งหมดอีกครั้งเพื่อจุดประสงค์ในการตรวจสอบ - รักษาไว้ภายในหนึ่งวัน
ในการทำความสะอาดพันธะไดซัลไฟด์เราใช้อัลกอริทึมต่อไปนี้:
- ลบเมื่อทั้งสองด้านของจุดเชื่อมต่อกับกรดอะมิโนเดียวกัน
- ลบพันธบัตรที่มีความยาวไม่อยู่ระหว่าง 1.6175344456264 ถึง 2.48801947642267
- ลบส่วนแทรก
- ลบพันธะที่เกิดจากตำแหน่งอะตอมอื่น แต่ออกจากตำแหน่งแรก
รหัสสำหรับสิ่งนี้ (โดยใช้ตาราง pdb_ssbond
เป็นอาร์กิวเมนต์แรก) คือ:
CREATE OR REPLACE FUNCTION pdb_ssbond_clean2( clean_icodes boolean, clean_altloc boolean, mark_reactive boolean, mark_consecutive boolean) RETURNS void AS $$ declare _res integer; BEGIN delete from pdb_ssbond b where exists ( select a.id from pdb_ssbond a where a.code = b.code and a.id > b.id and ( ( a.chain_id1 = b.chain_id1 and a.res_seq1 = b.res_seq1 and a.chain_id2 = b.chain_id2 and a.res_seq2 = b.res_seq2) or ( a.chain_id1 = b.chain_id2 and a.res_seq1 = b.res_seq2 and a.chain_id2 = b.chain_id1 and a.res_seq2 = b.res_seq1) ) ) ; delete from pdb_ssbond where chain_id1 = chain_id2 and res_seq1 = res_seq2 and i_code1 = i_code2; update pdb_ssbond set is_consecutive = true , is_reactive = false; delete from pdb_ssbond where not dist between 1.6175344456264 and 2.48801947642267; if clean_icodes then delete from pdb_ssbond where i_code1 not in ('', ' ', 'A') or i_code2 not in ('', ' ', 'A') ; end if; if clean_altloc then delete from pdb_ssbond a where exists ( select 1 from pdb_ssbond b where b.code = a.code and b.chain_id1 = a.chain_id1 and b.res_seq1 = a.res_seq1 and b.i_code1 = a.i_code1 and b.ser_num ด้วยเหตุนี้ชุดของโปรตีนที่ไม่ซ้ำซ้อนจะถูกนำเข้าไปยัง nr
ตารางที่เชื่อมต่อกับ ps
และ proteins
ตารางและชุดจะถูกทำเครื่องหมาย (set7
, set40
และ set80
) ในตอนท้ายจะมีการวิเคราะห์ตามปริมาณโปรตีนเพียงชุดเดียว โซ่ที่ไม่ตรงกันระหว่าง PDB และ NR จะถูกลบออกจากการวิเคราะห์
โปรตีนที่ไม่มีพันธะไดซัลไฟด์ไม่รวมอยู่ในการวิจัยร่วมกับโปรตีนที่ไม่ได้อยู่ในชุดใด ๆ ข้อมูลถูกประมวลผลด้วย DSSP และไฟล์เหล่านี้ที่มีปัญหาเกี่ยวกับความละเอียดหรือจำนวนอะตอมที่ต้องประมวลผลมากเกินไปจะไม่รวมอยู่ด้วย ผลการวิเคราะห์จะใช้เฉพาะโปรตีนที่มีโซ่เดียวเนื่องจากไม่ได้เก็บการเชื่อมต่อระหว่างเชนไว้แม้ว่าจะคำนวณได้ง่ายจาก ssbond
ตารางโดยการนับจำนวนการเชื่อมต่อที่มีโซ่ต่างกัน
สำหรับโปรตีนที่เหลือจะทำการอัปเดตสำหรับจำนวนพันธะทั้งหมดและจำนวนพันธะที่ทับซ้อนกันและจะทำสำหรับแต่ละชุด
สิ่งมีชีวิตต้นทางสกัดมาจาก SOURCE
บันทึก ในกรณีที่ไม่เป็นที่รู้จักสังเคราะห์ออกแบบเทียมหรือไฮบริดจะถูกละทิ้งจากการวิจัย นอกจากนี้โปรตีนที่มีความละเอียดต่ำจะถูกแยกออกก็ต่อเมื่อมองไม่เห็นโซ่ด้านข้างเท่านั้น
SOURCE
บันทึกจะถูกเก็บไว้ใน sources
ตารางซึ่งมีแถวอนุกรมวิธาน ในบางกรณีการจัดหมวดหมู่จะขาดหายไปหรือไม่ถูกต้อง ในกรณีเหล่านี้จำเป็นต้องมีการแก้ไขด้วยตนเองของผู้เชี่ยวชาญ
จากแหล่งที่มาและการจัดหมวดหมู่ที่ดาวน์โหลดจาก NCBI คลาสจะถูกกำหนดให้กับโครงสร้างหลักแต่ละโครงสร้าง ในกรณีที่ไม่สามารถกำหนดคลาสได้โปรตีนจะถูกลบออกจากรายการวิเคราะห์ เมื่อทราบว่ามีการใช้ฐานข้อมูลทางชีววิทยาจึงขอแนะนำให้ตรวจสอบระเบียนแหล่งที่มาทั้งหมดและคลาสอนุกรมวิธาน NCBI เพิ่มเติมเพื่อดำเนินการโดยนักชีววิทยามิฉะนั้นอาจมีปัญหากับการจำแนกประเภทระหว่างโดเมนต่างๆ ในการจับคู่ตำแหน่งเซลลูลาร์ต้นทางกับรหัสการจัดหมวดหมู่ข้อมูลจากตารางต้นทางจะถูกแยกลงในตาราง sources_organela
โดยที่ข้อมูลทั้งหมดเขียนเป็นโค้ดแท็กและค่า รูปแบบดังแสดงด้านล่าง:
select * from sources_organela where code = '1rav';
รหัส mol_id แท็ก ชม 1rav 0 MOL_ID หนึ่ง 1rav 7 CELLULAR_LOCATION CYTOPLASM (สีขาว)
ไฟล์จัดเก็บอนุกรมวิธานที่เราต้องการใช้คือไฟล์ ZIP ที่มีไฟล์ดัมพ์เจ็ดไฟล์ ในบรรดาไฟล์เหล่านี้มีสองไฟล์ที่สำคัญที่สุด ได้แก่ names.dmp
และ merged.dmp
. ไฟล์ทั้งสองเป็นไฟล์ที่คั่นด้วยแท็บ CSV เป็นไฟล์ รายละเอียดในเอกสาร :
- ไฟล์
merged.dmp
ประกอบด้วยรายการรหัสการจัดหมวดหมู่ก่อนหน้านี้และรหัสการจัดหมวดหมู่ปัจจุบันซึ่งรวมเข้าด้วยกัน names.dmp
ประกอบด้วยคอลัมน์ที่สำคัญเหล่านี้ตามลำดับนี้: tax_id
: รหัสอนุกรมวิธาน name_txt
: ชื่อสปีชีส์และถ้าเป็นไปได้ชื่อเฉพาะ (ซึ่งสามารถพบสปีชีส์ได้หลายชื่อซึ่งจะช่วยให้เข้าใจผิดได้)
division.dmp
ประกอบด้วยชื่อของโดเมนระดับบนสุดซึ่งเราจะใช้เป็นชั้นเรียนของเรา nodes.dmp
คือตารางที่มีโครงสร้างตามลำดับชั้นของสิ่งมีชีวิตโดยใช้รหัสอนุกรมวิธาน - มีรหัสการจัดหมวดหมู่หลักซึ่งเป็นคีย์ต่างประเทศซึ่งสามารถพบได้ใน
names.dmp
- นอกจากนี้ยังมีรหัสการแบ่งซึ่งเป็นสิ่งสำคัญสำหรับเราในการจัดเก็บข้อมูลโดเมนบนสุดที่เกี่ยวข้องอย่างถูกต้อง
ด้วยข้อมูลทั้งหมดนี้และการแก้ไขด้วยตนเอง (การตั้งค่าโดเมนที่ถูกต้องของชีวิต) เราสามารถสร้างโครงสร้างของ taxonomy_path
โต๊ะ. การสุ่มตัวอย่างข้อมูลมีลักษณะดังนี้:
select * from taxonomy_path order by length(path) limit 20 offset 2000;
tax_id เส้นทาง is_viral is_eukaryote is_archaea is_other is_prokaryote 142182 สิ่งมีชีวิตในเซลล์; แบคทีเรีย; Gemmatimonadetes ฉ ฉ ฉ ฉ t 136087 สิ่งมีชีวิตในเซลล์; Eukaryota; Malawimonadidae ฉ t ฉ ฉ ฉ 649454 ไวรัส; phages ที่ไม่ได้จำแนก; Cyanophage G1168 t ฉ ฉ ฉ ฉ 321302 ไวรัส; ไวรัสที่ไม่ได้จำแนกประเภท; ไวรัสเทลลิน่า 1 t ฉ ฉ ฉ ฉ 649453 ไวรัส; phages ที่ไม่ได้จำแนก; Cyanophage G1158 t ฉ ฉ ฉ ฉ 536461 ไวรัส; phages ที่ไม่ได้จำแนก; Cyanophage S-SM1 t ฉ ฉ ฉ ฉ 536462 ไวรัส; phages ที่ไม่ได้จำแนก; Cyanophage S-SM2 t ฉ ฉ ฉ ฉ 77041 ไวรัส; ไวรัสที่ไม่ได้จำแนกประเภท; Stealth virus 4 t ฉ ฉ ฉ ฉ 77042 ไวรัส; ไวรัสที่ไม่ได้จำแนกประเภท; Stealth virus 5 t ฉ ฉ ฉ ฉ 641835 ไวรัส; phages ที่ไม่ได้จำแนกประเภท Vibrio phage 512 t ฉ ฉ ฉ ฉ 1074427 ไวรัส; ไวรัสที่ไม่จำแนกประเภท; Mouse Rosavirus t ฉ ฉ ฉ ฉ 1074428 ไวรัส; ไวรัสที่ไม่จำแนกประเภท; Mouse Mosavirus t ฉ ฉ ฉ ฉ 480920 ลำดับอื่น ๆ ; พลาสมิด; IncP-1 พลาสมิด 6-S1 ฉ ฉ ฉ t ฉ 2441 ลำดับอื่น ๆ ; พลาสมิด; Plasmid ColBM-Cl139 ฉ ฉ ฉ t ฉ 168317 ลำดับอื่น ๆ ; พลาสมิด; IncQ plasmid pIE723 ฉ ฉ ฉ t ฉ 536472 ไวรัส; phages ที่ไม่ได้จำแนก; Cyanophage Syn10 t ฉ ฉ ฉ ฉ 536474 ไวรัส; phages ที่ไม่ได้จำแนก; Cyanophage Syn 30 t ฉ ฉ ฉ ฉ 2407 ลำดับอื่น ๆ ทรานสโพสัน Transposon Tn501 ฉ ฉ ฉ t ฉ 227307 ไวรัส; ไวรัส ssDNA; Circoviridae; Gyrovirus t ฉ ฉ ฉ ฉ 687247 ไวรัส; phages ที่ไม่ได้จำแนก; Cyanophage ZQS-7 t ฉ ฉ ฉ ฉ
ก่อนการวิเคราะห์ใด ๆ เพื่อหลีกเลี่ยงอคติต้องมีการตรวจสอบลำดับเพื่อหาระดับความเป็นตัวตน แม้ว่าชุด NR จะมีลำดับที่เปรียบเทียบกันแล้ว แต่ขอแนะนำให้ตรวจสอบเพิ่มเติมเสมอ
สำหรับการวิเคราะห์ทางสถิติก่อนหน้านี้ของพันธะไดซัลไฟด์ข้อมูลจะถูกทำเครื่องหมายว่ามีปฏิกิริยาหรือทับซ้อนกัน หลังจากทำเครื่องหมายทับซ้อนกันข้อมูลดังกล่าวจะเปิดเผยจำนวนพันธะที่ต่อเนื่องกันและไม่ต่อเนื่องกันภายในโปรตีนแต่ละตัวโดยอัตโนมัติและข้อมูลนั้นจะถูกเก็บไว้ในแท็ก proteins
ตารางที่ไม่รวมโปรตีนเชิงซ้อนทั้งหมดในผลลัพธ์สุดท้าย
พันธะไดซัลไฟด์แต่ละพันธะจะถูกทำเครื่องหมายสำหรับการเชื่อมโยงด้วยโดยการตรวจสอบพันธะทั้งสองด้านเพื่อดูว่าเป็นของ NR ชุดเดียวกัน ในกรณีที่ไม่เป็นเช่นนั้นพันธะไดซัลไฟด์จะถูกข้ามไปสำหรับการวิเคราะห์ชุดนั้น
ในการวิเคราะห์ปริมาณของพันธะตามความแปรปรวนแต่ละความยาวจะต้องใส่ในคลาสเฉพาะ ในกรณีนี้มีเพียงห้าคลาสเท่านั้นที่ถูกเลือกตามที่เขียนไว้ในฟังก์ชันด้านล่าง
CREATE OR REPLACE FUNCTION len2class(len integer) RETURNS integer AS $BODY$ BEGIN return case when len 100 and len 200 and len 300 and len <= 400 then 4 else 5 end; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100;
ขนาดของโปรตีนส่วนใหญ่มีกรดอะมิโนน้อยกว่า 400 ชนิดดังนั้นการจำแนกความยาวจึงทำได้โดยการแบ่งความยาวออกเป็นห้าช่วงโดยแต่ละช่วงจะรับกรดอะมิโน 100 ตัวยกเว้นกลุ่มสุดท้ายที่ใช้เวลาที่เหลือ ด้านล่างนี้คุณสามารถดูวิธีใช้ฟังก์ชันนี้เพื่อดึงข้อมูลสำหรับการวิเคราะห์:
SELECT p.code, p.title, p.ss_bonds, p.ssbonds_overlap, p.intra_count, p.sci_name_src, p.len, p.tax_path, p.pfam_families, p.src_class, ( SELECT s.id FROM src_classes s WHERE s.src_class::text = p.src_class::text) AS src_class_id, p.len_class7, ( SELECT s.val FROM sources_organela s WHERE s.code = p.code::bpchar AND s.tag::text = 'EXPRESSION_SYSTEM_CELLULAR_LOCATION'::text) AS expression_system_cellular_location, ( SELECT s.val FROM sources_organela s WHERE s.code = p.code::bpchar AND s.tag::text = 'CELLULAR_LOCATION'::text) AS cellular_location, ps.sequence, ps.uniprot_code, ps.accession_code, ps.cc, ps.seq_uniprot, ps.chain_id FROM proteins p JOIN nr n ON n.code::text = p.code::text AND n.rep7 = true JOIN ps ps ON ps.code::text = n.code::text AND ps.chain_id = n.chain_id AND ps.het = false WHERE p.is_excluded = false AND p.chain_cnt = 1 AND p.is_set7 = true AND p.reactive_cnt7 = 0 ORDER BY p.code;
ตัวอย่างผลลัพธ์ที่มีการแก้ไขชื่อเรื่องและคอลัมน์ที่เพิ่มด้วยตนเองแสดงอยู่ด้านล่าง
รหัส PDB จำนวนพันธบัตร SS ทั้งหมด จำนวนพันธบัตร SS ที่ไม่ต่อเนื่องกัน ความยาว PDB / กรดอะมิโน โดเมน TargetP 1.1 TatP 1.0 สัญญาณหน้า 4.1 คลอโรพี 1.1 TMHMM 2.0 จำนวนโดเมนทรานส์เมมเบรน บิ๊กปี่ nucPred NetNES 1.1 PSORTb v3.0 SecretomeP 2.0 LocTree2 การทำนายการแปลเป็นเอกฉันท์ 1akp 2 0 114 แบคทีเรีย ND ตาดสัญญาณ ไม่มีสัญญาณเปปไทด์ ND 0 ND ND ND ไม่ทราบ ND fimbrium ไม่ทราบ 1bhu 2 0 102 แบคทีเรีย ND ตาดสัญญาณ เปปไทด์สัญญาณ ND หนึ่ง ND ND ND ไม่ทราบ ND หลั่ง ไม่ทราบ 1c75 0 0 71 แบคทีเรีย ND ตาดสัญญาณ ไม่มีสัญญาณเปปไทด์ ND 0 ND ND ND เยื่อไซโทพลาสซึม การหลั่งแบบไม่คลาสสิก periplasm ไม่ทราบ 1c8x 0 0 265 แบคทีเรีย ND ตาดสัญญาณ เปปไทด์สัญญาณ ND หนึ่ง ND ND ND ไม่ทราบ ND หลั่ง ไม่ทราบ 1cx1 หนึ่ง 0 153 แบคทีเรีย ND ตาดสัญญาณ เปปไทด์สัญญาณ ND หนึ่ง ND ND ND นอกเซลล์ ND หลั่ง ไม่ทราบ 1dab 0 0 539 แบคทีเรีย ND ตาดสัญญาณ เปปไทด์สัญญาณ ND 0 ND ND ND เยื่อหุ้มชั้นนอก ND เยื่อหุ้มชั้นนอก ไม่ทราบ 1dfu 0 0 94 แบคทีเรีย ND ตาดสัญญาณ ไม่มีสัญญาณเปปไทด์ ND 0 ND ND ND ไซโตพลาสซึม ND ไซโตซอล ไม่ทราบ 1e8r 2 2 ห้าสิบ แบคทีเรีย ND ตาดสัญญาณ เปปไทด์สัญญาณ ND 0 ND ND ND ไม่ทราบ ND หลั่ง หลั่ง 1esc 3 0 302 แบคทีเรีย ND ตาดสัญญาณ เปปไทด์สัญญาณ ND หนึ่ง ND ND ND นอกเซลล์ ND periplasm ไม่ทราบ 1g6e หนึ่ง 0 87 แบคทีเรีย ND ตาดสัญญาณ เปปไทด์สัญญาณ ND หนึ่ง ND ND ND ไม่ทราบ ND หลั่ง ไม่ทราบ
PostgreSQL เป็นตัวกลางในการประมวลผล
ในงานนี้เราได้แสดงวิธีการประมวลผลข้อมูลตั้งแต่การดึงข้อมูลไปจนถึงการวิเคราะห์ เมื่อทำงานกับข้อมูลทางวิทยาศาสตร์บางครั้งก็จำเป็นต้องทำให้เป็นมาตรฐานและบางครั้งก็ไม่ เมื่อทำงานกับข้อมูลจำนวนน้อยซึ่งจะไม่ถูกนำกลับมาใช้ในการวิเคราะห์อื่นก็เพียงพอที่จะปล่อยให้ข้อมูลนั้นถูกทำให้เป็นปกติโดยที่การประมวลผลเร็วเพียงพอ
เหตุผลที่สิ่งนี้ทำทั้งหมดในฐานข้อมูลชีวสารสนเทศศาสตร์เดียวคือ PostgreSQL สามารถรวมภาษาได้หลายภาษา ซึ่งรวมถึง R ซึ่งสามารถทำการวิเคราะห์ทางสถิติได้โดยตรงในฐานข้อมูลซึ่งเป็นหัวข้อสำหรับบทความในอนาคตเกี่ยวกับเครื่องมือชีวสารสนเทศศาสตร์
ขอขอบคุณเป็นพิเศษสำหรับเพื่อนร่วมงาน ApeeScape Stefan Fuchs และ Aldo Zelen สำหรับคำปรึกษาอันล้ำค่าของพวกเขา
ทำความเข้าใจพื้นฐาน
ฐานข้อมูลคืออะไร?
ฐานข้อมูลคือข้อมูลที่จัดระเบียบและจัดเก็บด้วยระบบอิเล็กทรอนิกส์เพื่อให้เรียกค้นได้ง่ายขึ้น
ฐานข้อมูลหลักสองประเภทคืออะไร?
ในแง่ของชีวสารสนเทศฐานข้อมูลกรดอะมิโนและฐานข้อมูลกรดนิวคลีอิกเป็นสองประเภทหลัก แต่ก็มีลูกผสมด้วย
พันธะไดซัลไฟด์ในชีววิทยาคืออะไร?
พันธะไดซัลไฟด์คือพันธะระหว่างสองอะตอมของกำมะถัน (ในกรณีนี้คือระหว่างซีสเทอีน) นอกจากนี้พันธะไดซัลไฟด์สามารถสร้างขึ้นระหว่างซิสเทอีนสองตัวจากโซ่โปรตีนที่แตกต่างกัน
พันธะไดซัลไฟด์มีบทบาทอย่างไร?
ในกรณีของโปรตีนพันธะไดซัลไฟด์จะทำให้โครงสร้างคงตัว
โคเวเลนต์ขั้วพันธะไดซัลไฟด์หรือไม่?
พันธะไดซัลไฟด์คือพันธะโควาเลนต์ เมื่อทั้งสองด้านของพันธะสมมาตรกัน (สารตกค้างทั้งสองคือซิสเทอีน) แสดงว่าไม่มีขั้ว ในกรณีที่มีไอออนของโลหะอยู่ใกล้เมฆอิเล็กตรอนจะเปลี่ยนไปและกลายเป็นขั้วอย่างที่เป็นอยู่ถ้ามันไม่สมมาตร โพลาร์หมายความว่ามันดึงดูดน้ำ
โครงสร้างโปรตีนใดมีพันธะไดซัลไฟด์?
แผ่นเบต้าถังเบต้าและเกลียวเบต้ามีพันธะไดซัลไฟด์ เป็นไปได้ที่จะพบในโครงสร้างอื่น ๆ ด้วย
วัตถุประสงค์ของฐานข้อมูลคืออะไร?
ในการจัดเก็บและจัดระเบียบข้อมูลเพื่อให้เรียกค้นได้ง่ายขึ้น ในบทความนี้ฐานข้อมูลช่วยดำเนินการ ETL (การแยกการแปลงและการโหลด) ด้วยข้อมูลจำนวนมาก ข้อมูลจะถูกเก็บไว้ในฐานข้อมูลประมวลผลภายในฐานข้อมูลแล้วแยกออกมาเพื่อวิเคราะห์ด้วย SPSS หรือ R
ชีวสารสนเทศศาสตร์ได้อย่างไร?
ส่วนใหญ่เป็นสาขาการแพทย์และชีววิทยา แต่ยังรวมถึงฟิสิกส์และเคมีด้วย ช่วยให้เข้าใจโครงสร้างและคุณสมบัติของยาโรคและความผิดปกติต่างๆได้ดีขึ้น ใช้เพื่อสำรวจการทำงานของสิ่งมีชีวิตช่วยในการจดจำสิ่งมีชีวิตที่ไม่รู้จักและค้นหาสายพันธุ์ที่ใกล้เคียงที่สุดกับสิ่งมีชีวิตที่กำหนด
ประโยชน์ทางเศรษฐกิจของปัญญาประดิษฐ์
การล้างข้อมูลหมายถึงอะไร
ฐานข้อมูลของนักชีววิทยาได้รับการดูแลอย่างต่อเนื่อง แต่บ่อยครั้งที่ข้อผิดพลาดของมนุษย์และเครื่องจักรยังคงเกิดขึ้นเช่นพันธะไดซัลไฟด์ที่ยาวเป็นไปไม่ได้สิ่งมีชีวิตที่จำแนกผิดประเภทหรือตัวเลขการจัดหมวดหมู่ไม่ถูกต้อง ยิ่งฐานข้อมูลมีขนาดใหญ่ก็จะพบข้อผิดพลาดมากขึ้น เทคนิคหนึ่งที่ใช้เป็นจุดเริ่มต้นคือการค้นหาค่าผิดปกติ