portaldacalheta.pt
  • หลัก
  • การจัดการวิศวกรรม
  • บุคลากรและทีมงานของผลิตภัณฑ์
  • อื่น ๆ
  • นวัตกรรม
วิทยาศาสตร์ข้อมูลและฐานข้อมูล

การพัฒนาฐานข้อมูลชีวสารสนเทศศาสตร์สำหรับการวิจัยพันธะไดซัลไฟด์



ฐานข้อมูลชีวสารสนเทศศาสตร์ 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

รูปแบบ 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 เป็นพันธะไดซัลไฟด์ระหว่างซิสเทอีน

การแสดงแท่งด้วยสี CPK แสดงพันธะซัลเฟอร์ไดซัลไฟด์เป็นสีเหลือง

ในภาพถัดไปเรียกว่าวิธีการสร้างภาพโปรตีนแบบง่าย การสร้างภาพกระดูกสันหลัง แสดงสีด้วยกรดอะมิโนโดยที่ซีสเทอีนเป็นสีเหลือง มันแสดงถึงโปรตีนชนิดเดียวกันโดยไม่รวมไซเดชินและมีเพียงส่วนหนึ่งของกลุ่มเปปไทด์เท่านั้นที่รวมอยู่ในกรณีนี้คือกระดูกสันหลังของโปรตีน ประกอบด้วยอะตอม 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

รูปแบบ NR

นี่คือรายการชุด 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

การสร้างฐานข้อมูลและการแยกวิเคราะห์ข้อมูล

ตอนนี้เรามีความคิดแล้วว่าเรากำลังจัดการกับอะไรและต้องทำอะไรบ้างมาเริ่มกันเลย

กำลังดาวน์โหลดข้อมูล

ข้อมูลทั้งหมดสำหรับการวิเคราะห์นี้สามารถพบได้ในที่อยู่ทั้งสามนี้:

  • ftp.wwpdb.org/pub/pdb/data/structures/divided/pdb/
  • ftp.ncbi.nih.gov/mmdb/nrtable/
  • ftp.ncbi.nih.gov/pub/taxonomy/taxdmp.zip

สองลิงก์แรกประกอบด้วยรายการที่เก็บถาวร ควรใช้ที่เก็บถาวรล่าสุดจากแต่ละไฟล์เพื่อหลีกเลี่ยงปัญหาที่เกิดจากการขาดความละเอียดหรือคุณภาพ ลิงก์ที่สามมีไฟล์เก็บถาวรอนุกรมวิธานใหม่ล่าสุดโดยตรง

การแยกวิเคราะห์ข้อมูล

โดยปกติการแยกวิเคราะห์ไฟล์ PDB จะกระทำโดยปลั๊กอินหรือโมดูลใน Java, Perl หรือ Python ในกรณีของการวิจัยนี้ฉันเขียนแอปพลิเคชัน Perl แบบกำหนดเองโดยไม่ใช้โมดูลการแยกวิเคราะห์ PDB ที่เขียนไว้ล่วงหน้า เหตุผลก็คือเมื่อวิเคราะห์ข้อมูลจำนวนมากจากประสบการณ์ของฉันปัญหาที่พบบ่อยที่สุดในการใช้ข้อมูลทดลองคือข้อผิดพลาดในข้อมูล บางครั้งอาจมีข้อผิดพลาดเกี่ยวกับพิกัดระยะทางความยาวบรรทัดความคิดเห็นในที่ที่ไม่ควรอยู่ ฯลฯ

วิธีที่มีประสิทธิภาพที่สุดในการจัดการกับปัญหานี้คือการจัดเก็บทุกอย่างในฐานข้อมูลเป็นข้อความดิบ ตัววิเคราะห์ทั่วไปถูกเขียนขึ้นเพื่อจัดการกับข้อมูลในอุดมคติที่สอดคล้องกับข้อกำหนดอย่างสมบูรณ์ แต่ในทางปฏิบัติข้อมูลไม่เหมาะอย่างยิ่งและจะอธิบายในส่วนการกรองซึ่งคุณจะพบสคริปต์การนำเข้า Perl

การสร้างฐานข้อมูล

เมื่อสร้างฐานข้อมูลโปรดทราบว่าฐานข้อมูลนี้สร้างขึ้นเพื่อประมวลผลข้อมูล การวิเคราะห์ในภายหลังจะทำใน SPSS หรือ R สำหรับวัตถุประสงค์ของเราที่นี่ขอแนะนำให้ใช้ PostgreSQL อย่างน้อยเวอร์ชัน 8.4

โครงสร้างตารางจะถูกคัดลอกโดยตรงจากไฟล์ที่ดาวน์โหลดโดยมีการเปลี่ยนแปลงเพียงเล็กน้อยเท่านั้น ในกรณีนี้จำนวนบันทึกน้อยเกินไปที่จะคุ้มค่ากับการใช้เวลาของเราในการทำให้เป็นมาตรฐาน ดังที่ได้กล่าวไว้ฐานข้อมูลนี้เป็นแบบใช้ครั้งเดียวเท่านั้น: ไม่ใช่ตารางเหล่านี้ สร้างขึ้นเพื่อให้บริการบนเว็บไซต์ - มีไว้สำหรับประมวลผลข้อมูลเท่านั้น เมื่อดำเนินการเสร็จสิ้นแล้วสามารถทิ้งหรือสำรองไว้เป็นข้อมูลเสริมบางทีอาจใช้สำหรับการทำซ้ำขั้นตอนโดยนักวิจัยคนอื่น ๆ

ในกรณีนี้ผลลัพธ์สุดท้ายจะเป็นตารางเดียวซึ่งสามารถส่งออกไปยังไฟล์เพื่อใช้กับเครื่องมือทางสถิติเช่น SPSS หรือ R

ตาราง

การดึงข้อมูลจาก ATOM บันทึกจะต้องเชื่อมต่อกับ HEADER หรือ TITLE บันทึก ลำดับชั้นข้อมูลอธิบายไว้ในรูปภาพด้านล่าง

ลำดับชั้นตามธรรมชาติของข้อมูลพันธะไดซัลไฟด์ที่จะส่งผลให้ฐานข้อมูลอยู่ในรูปแบบปกติที่สาม

เนื่องจากภาพนี้เป็นการแสดงฐานข้อมูลแบบง่ายในรูปแบบปกติที่สาม (3NF) สำหรับจุดประสงค์ของเราจึงมีค่าใช้จ่ายมากเกินไป เหตุผล: ในการคำนวณระยะห่างระหว่างอะตอมสำหรับการตรวจจับพันธะไดซัลไฟด์เราจะต้องทำการรวม ในกรณีนี้เราจะมีตารางเชื่อมต่อกับตัวมันเองสองครั้งและรวมเข้ากับโครงสร้างรองและโครงสร้างหลักอย่างละสองครั้งซึ่งเป็นกระบวนการที่ช้ามาก เนื่องจากการวิเคราะห์แต่ละครั้งไม่จำเป็นต้องมีข้อมูลโครงสร้างทุติยภูมิจึงมีการเสนอสคีมาอื่นในกรณีที่คุณต้องการใช้ข้อมูลซ้ำหรือวิเคราะห์พันธะซัลไฟด์ในปริมาณที่มากขึ้น:

แบบจำลองที่ละเอียดยิ่งขึ้นของสคีมาฐานข้อมูลที่ไม่ใช้โครงสร้างรอง (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 ที่สกัดจากชุด NR
  • pdb_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

ชีวสารสนเทศศาสตร์ได้อย่างไร?

ส่วนใหญ่เป็นสาขาการแพทย์และชีววิทยา แต่ยังรวมถึงฟิสิกส์และเคมีด้วย ช่วยให้เข้าใจโครงสร้างและคุณสมบัติของยาโรคและความผิดปกติต่างๆได้ดีขึ้น ใช้เพื่อสำรวจการทำงานของสิ่งมีชีวิตช่วยในการจดจำสิ่งมีชีวิตที่ไม่รู้จักและค้นหาสายพันธุ์ที่ใกล้เคียงที่สุดกับสิ่งมีชีวิตที่กำหนด

ประโยชน์ทางเศรษฐกิจของปัญญาประดิษฐ์

การล้างข้อมูลหมายถึงอะไร

ฐานข้อมูลของนักชีววิทยาได้รับการดูแลอย่างต่อเนื่อง แต่บ่อยครั้งที่ข้อผิดพลาดของมนุษย์และเครื่องจักรยังคงเกิดขึ้นเช่นพันธะไดซัลไฟด์ที่ยาวเป็นไปไม่ได้สิ่งมีชีวิตที่จำแนกผิดประเภทหรือตัวเลขการจัดหมวดหมู่ไม่ถูกต้อง ยิ่งฐานข้อมูลมีขนาดใหญ่ก็จะพบข้อผิดพลาดมากขึ้น เทคนิคหนึ่งที่ใช้เป็นจุดเริ่มต้นคือการค้นหาค่าผิดปกติ

ข้อมูลเบื้องต้นเกี่ยวกับ Python Microservices กับ Nameko

แบ็คเอนด์

ข้อมูลเบื้องต้นเกี่ยวกับ Python Microservices กับ Nameko
ความรู้เบื้องต้นเกี่ยวกับระบบปฏิบัติการหุ่นยนต์: Ultimate Robot Application Framework

ความรู้เบื้องต้นเกี่ยวกับระบบปฏิบัติการหุ่นยนต์: Ultimate Robot Application Framework

ส่วนหลัง

โพสต์ยอดนิยม
แหล่งข้อมูลสำหรับธุรกิจขนาดเล็กสำหรับ COVID-19: เงินกู้เงินช่วยเหลือและสินเชื่อ
แหล่งข้อมูลสำหรับธุรกิจขนาดเล็กสำหรับ COVID-19: เงินกู้เงินช่วยเหลือและสินเชื่อ
วิธีออกแบบประสบการณ์ที่ยอดเยี่ยมสำหรับอินเทอร์เน็ตในทุกสิ่ง
วิธีออกแบบประสบการณ์ที่ยอดเยี่ยมสำหรับอินเทอร์เน็ตในทุกสิ่ง
กลยุทธ์การสื่อสารที่มีประสิทธิภาพสำหรับนักออกแบบ
กลยุทธ์การสื่อสารที่มีประสิทธิภาพสำหรับนักออกแบบ
เรียนรู้ Markdown: เครื่องมือการเขียนสำหรับนักพัฒนาซอฟต์แวร์
เรียนรู้ Markdown: เครื่องมือการเขียนสำหรับนักพัฒนาซอฟต์แวร์
แนวโน้มต่อไปนี้: การแสดงความเคารพกับการลอกเลียนแบบการออกแบบ
แนวโน้มต่อไปนี้: การแสดงความเคารพกับการลอกเลียนแบบการออกแบบ
 
คู่มือสไตล์ Sass: บทช่วยสอน Sass เกี่ยวกับวิธีการเขียนโค้ด CSS ที่ดีขึ้น
คู่มือสไตล์ Sass: บทช่วยสอน Sass เกี่ยวกับวิธีการเขียนโค้ด CSS ที่ดีขึ้น
ทำลายกระบวนการคิดเชิงออกแบบ
ทำลายกระบวนการคิดเชิงออกแบบ
การออกแบบเว็บไซต์ CMS: คู่มือการใช้งานเนื้อหาแบบไดนามิก
การออกแบบเว็บไซต์ CMS: คู่มือการใช้งานเนื้อหาแบบไดนามิก
ทำคณิตศาสตร์: การปรับขนาดแอปพลิเคชันไมโครเซอร์วิสด้วย Orchestrators
ทำคณิตศาสตร์: การปรับขนาดแอปพลิเคชันไมโครเซอร์วิสด้วย Orchestrators
การปฏิวัติหุ่นยนต์เชิงพาณิชย์ที่กำลังจะเกิดขึ้น
การปฏิวัติหุ่นยนต์เชิงพาณิชย์ที่กำลังจะเกิดขึ้น
โพสต์ยอดนิยม
  • c ++ โดยใช้ไฟล์ส่วนหัว
  • แปลงเงินเดือนประจำเป็นอัตราตามสัญญา
  • ปัญหาและแนวทางแก้ไขของแมชชีนเลิร์นนิง
  • รวมไฟล์ส่วนหัว c++
  • llc s corp . คืออะไร
  • ข้อยกเว้นการบูตสปริงในการจัดการแนวปฏิบัติที่ดีที่สุด
  • c corp vs s corp 2018
หมวดหมู่
  • การจัดการวิศวกรรม
  • บุคลากรและทีมงานของผลิตภัณฑ์
  • อื่น ๆ
  • นวัตกรรม
  • © 2022 | สงวนลิขสิทธิ์

    portaldacalheta.pt