Tôi mới dùng perl và muốn làm những gì tôi nghĩ là một số thao tác chuỗi cơ bản đối với chuỗi DNA được lưu trữ trong tệp rtf.regex cơ bản và thao tác chuỗi để phân tích DNA bằng cách sử dụng perl
Về cơ bản, tập tin tôi đọc (File này dưới dạng FASTA):
>LM1
AAGTCTGACGGAGCAACGCCGCGTGTATGAAGAAGGTTTTCGGATCGTAA
AGTACTGTCCGTTAGAGAAGAACAAGGATAAGAGTAACTGCTTGTCCCTT
GACGGTATCTAACCAGAAAGCCACGGCTAACTACGTGCCAGCAGCCGCGG
TAATACGTAGGTGGCAAGCGTTGTCCGGATTTATTGGGCGTAAAGCGCGC
GCAGGCGGTCTTTTAAGTCTGATGTGAAAGCCCCCGGCTTAACCGGGGAG
GGTCATTGGAAACTGGAAGACTGGAGTGCAGAAGAGGAGAGTGGAATTCC
ACGTGTAGCGGTGAAATGCGTAGATATGTGGAGGAACACCAGTGGCGAAG
GCGACTCTCTGGTCTGTAACTGACGCTGAGGCGCGAAAGCGTGGGGAGCA
AACAGGATTAGATACCCTGGTAGTCCACGCCGT
Những gì tôi muốn làm là đọc vào tập tin của tôi và in tiêu đề (header là> LM1) sau đó kết hợp ADN sau trình tự GTGCCAGCAGCCGC
và sau đó in chuỗi DNA trước.
Vì vậy, đầu ra của tôi sẽ trông như thế này:
>LM1
AAGTCTGACGGAGCAACGCCGCGTGTATGAAGAAGGTTTTCGGATCGTAA
AGTACTGTCCGTTAGAGAAGAACAAGGATAAGAGTAACTGCTTGTCCCTT
GACGGTATCTAACCAGAAAGCCACGGCTAACTAC
Tôi đã viết chương trình sau đây:
#!/usr/bin/perl
use strict; use warnings;
open(FASTA, "<seq_V3_V6_130227.rtf") or die "The file could not be found.\n";
while(<FASTA>) {
chomp($_);
if ($_ =~ m/^>/) {
my $header = $_;
print "$header\n";
}
my $dna = <FASTA>;
if ($dna =~ /(.*?)GTGCCAGCAGCCGC/) {
print "$dna";
}
}
close(FASTA);
Vấn đề là chương trình của tôi đọc dòng tập tin bằng cách dòng và đầu ra tôi nhận được là như sau:
>LM1
GACGGTATCTAACCAGAAAGCCACGGCTAACTAC
Về cơ bản tôi không biết cách gán toàn bộ chuỗi DNA cho biến $ dna của mình và cuối cùng không biết cách để tránh đọc chuỗi chuỗi DNA. Ngoài ra tôi nhận được cảnh báo này: Sử dụng giá trị uninitialized $ dna trong mẫu khớp (m //) tại dòng stacked.pl 14, dòng 1113.
Nếu ai đó có thể giúp tôi viết mã tốt hơn hoặc chỉ cho tôi theo đúng hướng nó sẽ được đánh giá cao.
Bạn có tin sinh học có thư viện hiện đã làm công cụ này không? Chúng tôi nhận được rất nhiều câu hỏi về DNA + regex và tôi nghĩ rằng sẽ có các thư viện thử nghiệm hiện có để xử lý vấn đề này. –
Thử tìm kiếm StackOverflow cho "fasta perl". Có rất nhiều câu hỏi dường như từ những người đối phó với chính xác vấn đề của bạn. http://stackoverflow.com/search?q=fasta+perl –
@AndyLester Đúng là các thư viện xử lý các công cụ này tồn tại nhưng rất nhiều tin sinh học cần phải được điều chỉnh cho các yêu cầu cụ thể của bạn mà làm cho việc tìm kiếm chương trình tối ưu trở nên khó khăn. Cảm ơn lời đề nghị của bạn, tôi sẽ xem xét dưới fasta perl. – cebach561