שְׁאֵלָה:
כיצד נוכל למצוא את המרחק בין כל השאריות בקובץ PDB?
Sara
2017-06-16 18:56:09 UTC
view on stackexchange narkive permalink

אם יש לנו מבנה PDB, איך נוכל למצוא שאריות המתקשרות פיזית זו עם זו בחלל? אני יודע שעלינו למצוא את המרחק בין שאריות ואם המרחק הוא פחות מ 5-6 אנגסטרום, אנו אומרים כי שאריות מתקיימות באופן גופני. אך כיצד נוכל למצוא את המרחק בין כל השאריות ואיך נוכל לקבוע סוף סוף את המרחקים בין כל השאריות? האם יש תוכנה או שרת אינטרנט לכך?

אינטראקציה זו עשויה להיות כבר ביאור ב- PDB, ראה מדור קישוריות וסעיף הערות קישוריות במפרט [PDB] (http://www.wwpdb.org/documentation/file-format-content/format33/v3.3.html) .
דבר אחד שיהיה עליך להגדיר בעצמך הוא למה אתה מתכוון ב"מרחק בין שאריות ". אתה מתכוון לזוג האטומים הקרוב ביותר? הזוג הכבד ביותר של הכבדום? מרחק בין C-alphas? המנגנון המדויק כנראה יהיה דומה, ללא קשר, אך הפרטים והתוצאות יהיו שונים בהתאם להגדרה.
אני מתכוון למרחק בין C-alphas
האם שרת האינטרנט Ring 2.0 (http://protein.bio.unipd.it/ring/) מספיק טוב למטרה זו?
אם מישהו מעוניין במבחני מהירות של חישובי מרחק באמצעות תוכנות שונות, יש כאלה בכתובת https://github.com/jgreener64/pdb-benchmarks. ישנם גם סקריפטים לדוגמה עבור כל תוכנה במאגר זה.
חָמֵשׁ תשובות:
Iakov Davydov
2017-06-16 19:22:18 UTC
view on stackexchange narkive permalink

אם אתה צריך לעבד מספר קבצים, תוכל להשתמש ב Biopython לניתוח מבנה PDB.

  מ- Bio PDB ייבוא ​​PDBParser # צור parserparser = PDBParser () # מבנה קריאה מ filestructure = parser.get_structure ('PHA-L', '1fat.pdb') מודל = מבנה [0] chain = model ['A'] # דוגמה זו משתמש רק בשאריות הראשונות של שרשרת אחת. # קל להרחיב את זה למספר שרשראות ושאריות. לשאריות 1 בשרשרת: לשאריות 2 בשרשרת: אם שאריות 1! = שאריות 2: # חישוב מרחק בין אטומי CA נסה: מרחק = שאריות 1 ['CA'] - שאריות 2 ['CA'] למעט KeyError: ## אין אטום CA, למשל עבור H_NAG המשך אם המרחק < 6: הדפס (שאריות 1, שאריות 2, מרחק) # עצור לאחר הפסקה של שאריות ראשונה  

אם אתה צריך להסתכל על מבנה אחד, שימוש בצופה אולי יהיה קל יותר. תוכלו לנסות את PyMOL: ( כיצד למדוד מרחק). ישנם צופי PDB אחרים, שחלקם יכולים לעבוד אפילו באמצעות דפדפן.

לקוב היקר, התקנתי חבילות אנקונדה וביופיתון והפעלתי את הקוד הנ"ל ב- PyCharm 5.0 וקיבלתי את השגיאה הבאה:
Traceback (השיחה האחרונה האחרונה): קובץ "C: /Users/VN7-592/PycharmProjects/untitled/sara.py", שורה 7, במבנה = parser.get_structure ('PHA-L', '1FAT. pdb ')
קובץ "C: \ Users \ VN7-592 \ Desktop \ Anaconda \ lib \ site-packages \ Bio \ PDB \ PDBParser.py", שורה 81, ב- get_structure עם as_handle (file, mode = 'rU') כטיפול: קובץ "C: \ Users \ VN7-592 \ Desktop \ Anaconda \ lib \ contextlib.py", שורה 17, בקובץ __enter__ להחזיר self.gen.next () "C: \ Users \ VN7-592 \ Desktop \ Anaconda \ lib \ site-packages \ Bio \ File.py ", שורה 88, בטיפול_על עם פתוח (ידית, מצב, ** קווארגס) כ- fp: IOError: [Errno 2] אין קובץ או ספרייה כאלה: '1FAT.pdb'
אין לך את קובץ 1FAT.pdb בספריית העבודה, או שמערכת ההפעלה שלך תלויה באותיות רישיות.
אבל זה נותן רק מרחקים בין-מולקולריים? ביופיתון מתעלם מסימטריה גבישית? באופן כללי, כדי לבדוק אם יש מגעים בין שאריות X ו- Y, צריך לחשב את המרחק בין X לתמונה הסימטרית הקרובה ביותר של Y.
TW93
2017-06-16 19:48:10 UTC
view on stackexchange narkive permalink

האם תוכל להשתמש בתוכנית NCONT של CCP4? יש ממשק משתמש וממשק שורת פקודה, מה שמתאים. אתה יכול לציין לאילו שרשראות אתה רוצה למקד ולקיים אינטראקציה ולהגדיר חתך למרחק. הבונוס כאן הוא ברגע שאתה נמצא יש לך חבילה נחמדה של כלים מבניים אחרים לשימוש.

אם אתה רק עושה את זה פעם אחת, ה- GUI הוא ידידותי מספיק כדי לפתור את העניינים, אם אתה ' מחדש לבצע אצווה ואז תוכל להריץ אותה על פני מספר קבצים דרך שורת הפקודה.

הורד

הורדתי את התוכנית אך עדיין לא הצלחתי לעבוד איתה. אני מנסה להריץ את זה
@Sara עם מה יש לך בעיה?
זה לא פועל עם שגיאה. התוכנית אומרת לבחור שם פרויקט וגם כשבחרתי שם פרויקט, שוב אומר לבחור שם פרויקט ומפסיק לפעול
llrs
2017-06-19 16:18:02 UTC
view on stackexchange narkive permalink

במסגרת פרויקט ביצענו אני וחלק מחברי הצוות תסריט המפיק מפות חזותיות של מרחקים בין שאריות. הוא משתמש בביופיתון.

המודול contact_map.py עושה את מה שאתה מחפש. לדוגמא, אם ברצונך למצוא את השאריות שה- CA שלהן מתחת ל -5, תוכל להריץ את הפקודה הבאה:

  python3 contact_map.py pdb1cd8.ent -a CA -CA 5  

פעולה זו תפיק שלושה קבצים:

  distance_map_pdb1cd8_CA.png # מפת חום של המרחק בין השאריות contact_map_pdb1cd8_CA.png # מפת חום שחור / לבן: אם זה נמצא באותו מרחק מרחק מינימלי. יומן # הפעולות שבוצעו  

אם עוד לא הורדת את מבנה ה- pdb, תוכל להשתמש במודול הראשי:

  python3 cozmic.py real 1cd8 -a CA -CA 5  
איך זה מחשב מרחקים? בתוך היחידה הא-סימטרית בלבד, או כמרחק הקצר ביותר בין שתי השאריות בגביש (או בהרכבה ביולוגית)?
@marcin הוא מחשב את המרחק בין אלפא C (או בטא אם בחרתם בכך) בין כל שאריות בקובץ.
בדרך כלל, הקובץ == יחידה אסימטרית. אם תרצה למצוא את כל אנשי הקשר ב- [הרכבה ביולוגית] (https://pdb101.rcsb.org/learn/guide-to-understanding-pdb-data/biologic-assemblies) או בקריסטל תצטרך לקחת את הסימטריה בחשבון.
תודה על הטיפים, אולי אתה רוצה לתרום למודולים.
אני עובד עכשיו על [פרויקט] (https://github.com/project-gemmi/gemmi/) שבעתיד עשוי להיות תחרותי ל- Bio.PDB, אבל כנראה שעדיין לא השנה :-)
אני חושב ש- Bio.PDB משתנה באופן פעיל, אבל בהצלחה בעבודה שלך
Ajasja
2017-06-17 01:09:38 UTC
view on stackexchange narkive permalink

ניתן להשתמש ב MDtraj. החבילה קלה להתקנה באמצעות Anaconda.

ניתן להשיג את השאריות האינטראקטיביות באמצעות הטקסט הבא (נלקח מ- http://mdtraj.org/1.6.2/examples/native-contact. html)

  heavy_pairs = np.array ([(i, j) עבור (i, j) בשילובים (כבד, 2) אם שרירי הבטן (native.topology.atom ( i) .residue.index - \ native.topology.atom (j) .residue.index) > 3]) # מחשבים את המרחקים בין זוגות אלה במצב הילידי כבד_זוגות = md.compute_distances (יליד [0], כבד זוגות) [0 ] # וקבל את זוגות רחוב המרחק קטן מ- NATIVE_CUTOFFnative_contacts = כבד_ זוגות [כבד_ זוגות_מרחקים < NATIVE_CUTOFF] הדפסה ("מספר אנשי קשר מקוריים", len (native_contacts))  
jgreener
2019-09-11 02:28:13 UTC
view on stackexchange narkive permalink

המרחק בין C-alphas ניתן למצוא גם באמצעות החבילה BioStructures.jl בג'וליה:

  באמצעות BioStructuresstruc = read ("1AKE.pdb", PDB ) calphas = collectatoms (struc ['A'], calphaselector) dm = DistanceMap (calphas) ​​ 

ואז dm [5, 10] נותן 12.19677604943208 וכו '

וריאציות אחרות עובדות גם כן, עיין ב מסמכים.



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...