와 정수에 문자 배열을 변환 : 각 열은 두 종류의 문자로 구성하는 것이내가 문자 배열의 형태로 데이터의 조각이 파이썬
cgcgcg
aacacg
cgcaag
cgcacg
agaacg
cacaag
agcgcg
cgcaca
cacaca
agaacg
cgcacg
cgcgaa
공지 사항. 열의 비율에 따라 정수 0 또는 1로 변환해야합니다. 예를 들어 첫 번째 열에는 8 개의 c와 4 개의 a가 있으므로 c가 대다수 인 경우 0으로 코딩하고 다른 하나는 1로 코딩해야합니다.
zip()을 사용하여이 배열을 파이썬 그리고 목록에 각 열을 얻을 :
In [28]: lines = [l.strip() for l in open(inputfn)]
In [29]: list(zip(*lines))
Out[29]:
[('c', 'a', 'c', 'c', 'a', 'c', 'a', 'c', 'c', 'a', 'c', 'c'),
('g', 'a', 'g', 'g', 'g', 'a', 'g', 'g', 'a', 'g', 'g', 'g'),
('c', 'c', 'c', 'c', 'a', 'c', 'c', 'c', 'c', 'a', 'c', 'c'),
('g', 'a', 'a', 'a', 'a', 'a', 'g', 'a', 'a', 'a', 'a', 'g'),
('c', 'c', 'a', 'c', 'c', 'a', 'c', 'c', 'c', 'c', 'c', 'a'),
('g', 'g', 'g', 'g', 'g', 'g', 'g', 'a', 'a', 'g', 'g', 'a')]
그것은 우리 때문에 (0)이 모두 확인 될 것입니다 int로 '0'또는 'C'로 정수, 즉 'C'로 엄격하게 그들을 변환 할 필요는 없습니다 어쨌든 탭으로 구분 된 파일에 해당 파일을 쓰려고합니다. 이 같은
? 그렇다면 0/1을 모호하게 만드는 것이 좋은 생각이라고 생각하지 않습니다. 가장 공통적 인 뉴클레오티드가 '0'인 것은 왜 중요합니까? (또는 나는 DNA에 대해서 잘못 알고 있습니까?) – AdamKG
대다수가'g'이면 어떻게 될까요? 'c'는 1이어야하고,'a'는 0 ... – tamasgal
@ AdamKG 네, DNA 물건입니다. 모호하지는 않습니다. 왜냐하면 우리는 4 개의 염기를 가지고 있지만 항상 쌍으로 나타납니다. 즉 A와 T, C와 G가 있으므로 데이터 분석에 있어서는 두 개의 숫자가 필요합니다. – qed