পোস্ট্রেএসকিউএলে ইউনিপ্রোট জৈবিক ক্রমগুলি সংরক্ষণ করার সর্বোত্তম উপায় কী?
তথ্য বিশদ
- আমরা ইউনিপ্রোট থেকে 12 মিলিয়ন সিকোয়েন্স টানছি - প্রতি 3-10 মাসে এই সংখ্যাটি দ্বিগুণ হওয়ার সম্ভাবনা রয়েছে।
- সিকোয়েন্সের দৈর্ঘ্য 10 থেকে 50 বিলিয়ন অক্ষর থেকে পৃথক হতে পারে
- সিকোয়েন্সগুলির 1% এরও কম 10 হাজার অক্ষরের বেশি are
- এটি দীর্ঘতর ক্রমগুলি আলাদাভাবে সংরক্ষণ করার জন্য কর্মক্ষমতা উন্নত করবে?
- একটি ক্রম প্রোটিন বা ডিএনএ বর্ণমালা হতে পারে
- ডিএনএ বর্ণমালায় 5 টি অক্ষর রয়েছে (এ, টি, সি, জি, বা -)।
- প্রোটিন বর্ণমালার প্রায় 30 টি অক্ষর থাকবে।
- দুটি ভিন্ন বর্ণমালার সিকোয়েন্সটি বিভিন্ন কলাম বা এমনকি আলাদা আলাদা টেবিলগুলিতে সংরক্ষণ করার জন্য আমরা আপত্তি করি না। যে সাহায্য করবে?
ডেটা অ্যাক্সেসের বিশদ
জেরেমিয়া পেশকার মন্তব্যের জবাব দিতে:
- প্রোটিন এবং ডিএনএ সিকোয়েন্সগুলি বিভিন্ন সময়ে অ্যাক্সেস করা হত
- অনুক্রমের মধ্যে অনুসন্ধান করার প্রয়োজন হবে না (এটি ডিবি এর বাইরে সম্পন্ন হয়েছে)
- ইথার একবারে একক সারিগুলিতে অ্যাক্সেস করতে পারে বা আইডি দ্বারা সারিগুলির সেট টেনে আনবে। আমাদের সারি স্ক্যান করার প্রয়োজন হবে না। সমস্ত সিকোয়েন্সগুলি অন্য টেবিলগুলি দ্বারা রেফারেন্স করা হয় - বেশ কয়েকটি জৈবিক এবং কালানুক্রমিকভাবে অর্থবহ শ্রেণিবদ্ধতা ডেটাবেজে বিদ্যমান।
পূর্ববর্তী সংস্করণের সাথে সামঞ্জস্যপূর্ণ
সিকোয়েন্সগুলিতে নিম্নলিখিত হ্যাশিং ফাংশন (এসইজিইউডি - সিকোয়েন্স গ্লোবালি ইউনিক আইডেন্টিফায়ার) প্রয়োগ করতে সক্ষম হতে পেরে ভাল লাগবে।
CREATE OR REPLACE FUNCTION gfam.get_seguid(p_sequence character varying)
RETURNS character varying AS
$BODY$
declare
result varchar := null;
x integer;
begin
select encode(gfam.digest(p_sequence, 'sha1'), 'base64')
into result;
x := length(result);
if substring(result from x for 1) = '=' then
result := substring( result from 1 for x-1 );
end if;
return result;
end;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;