multiFASTA معالجة ملف
-
22-09-2019 - |
سؤال
كان من الغريب أن نعرف إذا كان هناك أي المعلوماتية الحيوية أداة هناك قادرة على معالجة multiFASTA الملف يعطيني معلومات مثل عدد من متواليات ، الطول ، النوكليوتيدات/aminoacid كامل المحتوى ، إلخ.وربما رسم تلقائيا وصفي المؤامرات.أيضا R BIoconductor حل أو BioPerl وحدة ستفعل ، ولكن لم يتمكن من العثور على أي شيء.
هل يمكنك مساعدتي ؟ شكرا :-)
المحلول
بعض أدوات النقش هي مجموعة من الأدوات الصغيرة التي يمكن أن تساعدك.
seqstats
إرجاع طول التسلسلpepstats
يجب أن تمنحك محتوى الأمينيوسيد وما إلى ذلك. بعض الأدوات تقدم أيضًا وظائف التخطيط. مفيد جدا.http://emboss.sourceforge.net/apps/release/5.0/emboss/apps/groups.html
لحساب عدد إدخالات fasta ، أستخدم: grep -c '^>' mySequences.fasta
.
للتأكد من عدم تكرار أي من الإدخالات ، أتحقق من أنني أحصل على نفس الرقم عند القيام بذلك: grep '^>' mySequences.fasta | sort | uniq | wc -l
نصائح أخرى
قد تكون أيضا مهتما ب fasize, ، وهي أداة من شجرة المصدر كنت, ، على الرغم من أن هذا يتطلب بذل المزيد من الجهد (يجب أن تنفجر وتجميع) من مجرد استخدام GREP ... إليك بعض الإخراج على سبيل المثال:
me@my-lab ~/data $ time faSize myfile.fna
215400419 bases (104761 N's 215295658 real 215295658 upper 0 lower) in 731620 sequences in 1 files
Total size: mean 294.4 sd 138.5 min 30 (F5854LK02GG895) max 1623 (F5854LK01AHBEH) median 307
N count: mean 0.1 sd 0.4
U count: mean 294.3 sd 138.5
L count: mean 0.0 sd 0.0
%0.00 masked total, %0.00 masked real
real 0m3.710s
user 0m3.541s
sys 0m0.164s
وتجدر الإشارة إلى (لأي شخص عثرة على هذا مثل ما فعلت) أن هناك قوي بيثون مكتبة مصممة خصيصا للتعامل مع هذه المهام تسمى Biopython.في بضعة أسطر من التعليمات البرمجية ، يمكنك الوصول بسرعة إلى إجابات على كل الأسئلة أعلاه.وإليك بعض الأمثلة الأساسية ، معظمها مقتبس من الرابط.هناك المرجل لوحة GC% الرسوم البيانية طول تسلسل الرسوم البيانية في البرنامج التعليمي أيضا.
In [1]: from Bio import SeqIO
In [2]: allSeqs = [seq_record for seq_record in SeqIO.parse('/home/kevin/stack/ls_orchid.fasta', """fasta""")]
In [3]: allSeqs[0]
Out[3]: SeqRecord(seq=Seq('CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGG...CGC', SingleLetterAlphabet()), id='gi|2765658|emb|Z78533.1|CIZ78533', name='gi|2765658|emb|Z78533.1|CIZ78533', description='gi|2765658|emb|Z78533.1|CIZ78533 C.irapeanum 5.8S rRNA gene and ITS1 and ITS2 DNA', dbxrefs=[])
In [4]: len(allSeqs) #number of unique sequences in the file
Out[4]: 94
In [5]: len(allSeqs[0].seq) # call len() on each SeqRecord.seq object
Out[5]: 740
In [6]: A_count = allSeqs[0].seq.count('A')
C_count = allSeqs[0].seq.count('C')
G_count = allSeqs[0].seq.count('G')
T_count = allSeqs[0].seq.count('T')
print A_count # number of A's
144
In [7]: allSeqs[0].seq.count("AUG") # or count how many start codons
Out[7]: 0
In [8]: allSeqs[0].seq.translate() # translate DNA -> Amino Acid
Out[8]: Seq('RNKVSVGEPAEGSLMRPWNKRSSESGGPVYSAHRGHCSRGDPDLLLGRLGSVHG...*VY', HasStopCodon(ExtendedIUPACProtein(), '*'))