إنشاء واستكشاف الباجينوم بسرعة خالية من المحاذاة
الإصدار: ديفل: @master:
FindMyFriends عبارة عن حزمة R لإجراء تحليلات شاملة على الجينومات الميكروبية. تم إصداره كجزء من مشروع Bioconductor ويمكن تثبيته باستخدام وظيفة BiocManager::install()
:
if ( ! requireNamespace( " BiocManager " , quietly = TRUE ))
install.packages( " BiocManager " )
BiocManager :: install( " FindMyFriends " )
للحصول على أحدث إصدار، قم بالتثبيت مباشرة من GitHub:
if ( ! require( devtools )) {
install.packages( ' devtools ' )
library( devtools )
}
install_github( ' thomasp85/FindMyFriends ' )
في علم الجينوم الميكروبي المقارن، يتم تعريف الباجينوم على أنه مجموعة من الجينات عبر الجينومات بناءً على نوع من التشابه. إن مقياس التشابه هذا ليس ثابتًا، ولكنه غالبًا ما يكون مشتقًا من تفجير كل زوج من الجينات ضد بعضها البعض. هذه فكرة سيئة لعدة أسباب: تؤدي مقارنة الكل بالكل إلى قياس رهيب للوقت الحسابي مع زيادة عدد الجينات، ويكون بلاست بشكل عام بطيئًا للغاية، ولا يمكن لتشابه التسلسل وحده أن يميز الجينات التقويمية عن الجينات المماثلة. تمت معالجة النقطة الأخيرة من خلال أدوات حديثة مثل PanOCT وRoary، لكن الأولين لا يزالان قائمين (على الرغم من أن Roary قام بشيء ذكي لجعل الأمر أقل أهمية).
أدخل البحث عن أصدقائي...
إنها أيضًا خوارزمية أخرى. ولكن الأهم من ذلك هو إطار عمل لإجراء تحليل الباجينوم الذي لا يدري تمامًا كيفية استخلاص الباجينوم الخاص بك في المقام الأول. يحدد FindMyFriends قائمة موسعة من الفئات للتعامل مع بيانات الباجينوم بطريقة شفافة، ويتم توصيله مباشرة بمجموعة واسعة من الأدوات الجينومية التي تقدمها Bioconductor.
حسنًا، عد إلى الخوارزميات. يعمل FindMyFriends باستخدام CD-Hit لإنشاء مجموعة تقريبية جدًا من الجينات في مجموعة البيانات الخاصة بك، ثم تحسين هذه المجموعة في تمريرة ثانية باستخدام قياسات تشابه إضافية. وهذا على النقيض من Roary الذي يستخدم CD-Hit، ولكن فقط لتجميع الجينات الأكثر تشابهًا معًا قبل تشغيل BLAST. التمريرة الثانية في FindMyFriends هي المكان الذي يحدث فيه كل السحر. تتم مقارنة الجينات في كل مجموعة كبيرة من خلال تشابه التسلسل (باستخدام تشابه جيب تمام الكيمير)، وطول التسلسل، وعضوية الجينوم، وتشابه الحي. بناءً على هذه المقارنات، يتم إنشاء رسم بياني لكل مجموعة، مع تحديد الحواف للتشابه فوق عتبة معينة بين الجينات. من هذا الرسم البياني يتم استخراج المجموعات تدريجيًا بطريقة تضمن استخراج المجموعات ذات الجودة الأعلى أولاً. تحدد هذه المجموعات المجموعة النهائية للجينات. نظرًا لأنها عبارة عن مجموعات، يمكن للمستخدم التأكد من أن جميع أعضاء مجموعات الجينات الناتجة يتشاركون في تشابه محدد مع بعضهم البعض وأنه لا يمكن تجميع أي جين مع الآخرين بشكل رسمي على أساس التشابه الكبير مع عضو واحد.
حسنًا، النتائج عالية الجودة أهم من السرعة! ولكن هذه إحدى الحالات النادرة التي يمكنك فيها تناول كعكتك وتناولها أيضًا. FindMyFriends هو، بفارق كبير، أسرع خوارزمية موجودة:
يتسع تطبيق FindMyFriends ليشمل آلاف الجينومات، ويمكنه التعامل مع تنوع كبير (أي لا يقتصر على مستوى الأنواع). على سبيل المثال، تم إنشاء الباجينوم بناءً على حوالي 1200 سلالة من رتبة العصيات اللبنية (بكتيريا حمض اللاكتيك) في حوالي 8 ساعات على مثيل c3x8.large AWS باستخدام نواة واحدة.
نظرًا لكونك إطارًا، فهناك الكثير من الأشياء التي يمكنك القيام بها والعديد من الطرق المختلفة للقيام بذلك. فيما يلي الطريقة الموصى بها لحساب الباجينوم:
library( FindMyFriends )
# We expect here that your genomes are stored in amino acid fasta files in the
# working directory.
genomes <- list.files( pattern = ' .fasta ' )
# First we create our pangenome object
pg <- pangenome( genomes , translated = TRUE , geneLocation = ' prodigal ' )
# Then we make the initial grouping
pg <- cdhitGrouping( pg )
# And lastly we refine the groups
pg <- neighborhoodSplit( pg )
يرجى الاطلاع على المقالة القصيرة للحصول على مزيد من المعلومات حول الخطوات المختلفة بالإضافة إلى أمثلة حول ما يمكنك فعله ببياناتك بمجرد الانتهاء من تجميع جيناتك.
فيما يلي بعض الميزات التي يتم العمل عليها/النظر فيها: