根据标题信息分割Fasta文件

时间:2018-09-26 13:33:06

标签: python linux

我是脚本新手。您能帮我找到根据标题中的信息来分离序列的方法吗,例如,我有这样的fasta文件

  

ERR1897927.533; barcodelabel = R40_1193R_F61_799F;   GTAGTCCTAGCCCTAAACGATGGATACTTGGTGTGACTGGGATTGAATCCAGTCGTGCCG   AAGCTAACGCATTAAGTATCCCGCCTGGGGAGTACGGTCGCAAGGCTGAAACTCAAAGGA   ATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGAAGCAACGCGCAGAA   CCTTACCAGCGTTTGACATGGTAGGACGGTTTCCAGAGATGGATTCCTCCCCTTACGGGG   CCTACACACAGGTGCTGCATGGCTGTCGTCAGCTCGTGTCGTGAGATGTTGGGTTAAGTC   CCGCAACGAGCGCAACCCTCGTCTTTAGTTGCCACCATTTAGTTGGGCACTCTAAAGAAA   ERR1897927.925; barcodelabel = R41_1193R_F62_799F;

现在,我想基于“条形码标签”(仅基于标题,而不是序列本身,因为我已经删除了条形码)将序列分开以分离fasta文件

请让我知道方式,

在此先感谢

最好! Wasim

1 个答案:

答案 0 :(得分:2)

@Wasim欢迎使用stackoverflow,对于与生物信息学有关的问题,最好使用bioinformatics page。 我编写了一个python脚本来解决以下示例文件中的问题:

import UIKit
import WebKit

class ViewController: UIViewController, UITextFieldDelegate, WKUIDelegate, WKNavigationDelegate {

@IBOutlet weak var text: UITextField!

var webView: WKWebView!

override func viewDidLoad() {
    super.viewDidLoad()
    webView = WKWebView(frame: CGRect(x: 50, y: 330, width: self.view.frame.size.width, height: self.view.frame.size.height))
    webView.navigationDelegate = self
}

@IBAction func loadMixedContentPage(_ sender: Any) {

    // URL with mixed content
    let mixedContentURL = URL(string: "https://www.google.com")

    webView?.load(URLRequest(url: mixedContentURL!))

}

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {

    // Detecting mixed content
    if !(webView.hasOnlySecureContent) {

        let alert = UIAlertController(title: "Security error", message: "Mixed content detected!", preferredStyle: .alert)

        alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))

        self.present(alert, animated: true)

    } else {
        let alert = UIAlertController(title: "Information", message: "Content is not mixed!", preferredStyle: .alert)

        alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))

        self.present(alert, animated: true)
    }
}

脚本是

ERR1897927.533;barcodelabel=R40_1193R_F61_799F; 
GTAGTCCTAGCCCTAAACGATGGATACTTGGTGTGACTGGGATTGAATCCAGTCGTGCCGAAGCTAACGCATTAAGTATCCCGCCTGGGGAGTACGGTCGCAAGGCTGAAACTCAAAGGAATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGAAGCAACGCGCAGAA CCTTACCAGCGTTTGACATGGTAGGACGGTTTCCAGAGATGGATTCCTCCCCTTACGGGGCCTACACACAGGTGCTGCATGGCTGTCGTCAGCTCGTGTCGTGAGATGTTGGGTTAAGTC CCGCAACGAGCGCAACCCTCGTCTTTAGTTGCCACCATTTAGTTGGGCACTCTAAAGAAA
ERR1897927.925;barcodelabel=R41_1193R_F62_799F;
GTAGTCCTAGCCCTAAACGATGGATACTTGGTGTGACTGGGATTGAATCCAGTCGTGCCGAAGCTAACGCATTAAGTATCCCGCCT  GGGGAGTACGGTCGCAAGGCTGAAACTCAAAGGAATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGAAGCAAC    GCGCAGAA   CCTTACCAGCGTTTGACATGGTAGGACGGTTTCCAGAGATGGATTCCTCCCCTTACGGGGCCTACACACAGGTGCTGCATGGCTGT  CGTCAGCTCGTGTCGTGAGATGTTGGGTTAAGTC   CCGCAACGAGCGCAACCCTCGTCTTTAGTTGCCACCATTTAGTTGGGCACTCTAAAGAAA
ERR1897927.925;barcodelabel=R42_1193R_F62_799F;
GTAGTCCTAGCCCTAAACGATGGATACTTGGTGTGACTGGGATTGAATCCAGTCGTGCCG AAGCTAACGCATTAAGTATCCCGCCTGGGGAGTACGGTCGCAAGGCTGAAACTCAAAGGAATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGAAGCAACGCGCAGAA CCTTACCAGCGTTTGACATGGTAGGACGGTTTCCAGAGATGGATTCCTCCCCTTACGGGGCCTACACACAGGTGCTGCATGGCTGTCGTCAGCTCGTGTCGTGAGATGTTGGGTTAAGTC  CCGCAACGAGCGCAACCCTCGTCTTTAGTTGCCACCATTTAGTTGGGCACTCTAAAGAAA
ERR1897927.925;barcodelabel=R43_1193R_F62_799F;
GTAGTCCTAGCCCTAAACGATGGATACTTGGTGTGACTGGGATTGAATCCAGTCGTGCCG    AAGCTAACGCATTAAGTATCCCGCCTGGGGAGTACGGTCGCAAGGCTGAAACTCAAAGGAATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGAAGCAACGCGCAGAA CCTTACCAGCGTTTGACATGGTAGGACGGTTTCCAGAGATGGATTCCTCCCCTTACGGGGCCTACACACAGGTGCTGCATGGCTGTCGTCAGCTCGTGTCGTGAGATGTTGGGTTAAGTC CCGCAACGAGCGCAACCCTCGTCTTTAGTTGCCACCATTTAGTTGGGCACTCTAAAGAAA
ERR1897927.925;barcodelabel=R44_1193R_F62_799F;
GTAGTCCTAGCCCTAAACGATGGATACTTGGTGTGACTGGGATTGAATCCAGTCGTGCCG AAGCTAACGCATTAAGTATCCCGCCTGGGGAGTACGGTCGCAAGGCTGAAACTCAAAGGAATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGAAGCAACGCGCAGAA  CCTTACCAGCGTTTGACATGGTAGGACGGTTTCCAGAGATGGATTCCTCCCCTTACGGGGCCTACACACAGGTGCTGCATGGCTGTCGTCAGCTCGTGTCGTGAGATGTTGGGTTAAGTC CCGCAACGAGCGCAACCCTCGTCTTTAGTTGCCACCATTTAGTTGGGCACTCTAAAGAAA

这将根据由条形码标签分隔的fasta文件数生成文件。